It is found in Colombia, Costa Rica, El Salvador, Guatemala, Honduras, Mexico, Nicaragua, and Panama. Its natural habitats are subtropical or tropical moist montane forests, subtropical or tropical high-altitude shrubland, and heavily degraded former forest.