Originally Posted by Lou_Boyle
My Tahoe had a similar problem. The engine temp was OK but the heater was still cool. I drained the antifreeze and backflushed the heater with a garden hose and that fixed it. Apparently debris from somewhere had clogged the heater core. Other possible causes are damper drives that don't move the dampers to the correct position, and kind of unusual but still worth mentioning - an air bubble trapped in a heater hose high point blocking flow.
^This
And I would add radiator flush chemical first, run for appropriate time (per instructions), flush with hose, and then refill with new coolant; I like Peak Long Life because I only need one kind for both my cars and I can buy the concentrate. Asian specific will work well too but I can only find it 50/50.