The minimum flow problem
A tankless heater only fires when enough water is moving through it — typically around half a gallon per minute. Below that threshold it shuts off, because there is nothing to heat safely.
That produces the classic complaint: turn the hot tap down low and the water goes cold, turn it up and it comes back. The unit is cycling off and on around its minimum.
It shows up most at a bathroom basin, where people run a thin stream, and at any fixture with a flow restrictor or a scaled aerator reducing flow further.
There is also the cold water sandwich: hot, then a slug of cool, then hot again, at the start of a shower after someone else has just used hot water. Water sitting in the pipe is still warm, the unit has stopped, and there is a gap while it fires again and heats what is passing. It is characteristic of tankless systems rather than a fault, though a recirculation loop reduces it.
Check the aerator or showerhead first. On our water a partly scaled one restricts flow enough to push a fixture below the threshold, and cleaning it in vinegar costs nothing.
Demand changing while you are using it
A tankless heater has a maximum output measured as a temperature rise at a given flow rate. Ask for more flow than it can heat and the output temperature falls.
So if the shower cools when someone starts the dishwasher or a second shower, that is the unit at capacity rather than a fault. It is doing what it can.
This is worse in winter, when incoming water arrives 20-30°F colder and the same output demands far more heat. A unit comfortably sized in August can be at its limit in January.
It is also worse if the unit was undersized at installation, which happens when a heater is specified on household size rather than on peak simultaneous demand and local groundwater temperature.
If the pattern is clearly tied to a second fixture opening, that is capacity, and no amount of servicing changes it — the conversation is about sizing.
Worth knowing
If temperature swings only appeared this winter and the unit coped last summer, do not assume it has failed. Test the same fixture combinations again in warm weather. Capacity problems track the season; component faults generally do not.
Scale, which is the local cause
Water passes through a narrow heat exchanger and is heated on the way past. On 15-30 grain water, calcium deposits on those walls every time the unit fires.
Scale does two things at once: it insulates, so heat transfer falls, and it narrows the passage, so flow falls. Both degrade the unit's ability to hold a steady output.
The progression is usually: slightly longer to get hot, then temperature wavering under demand, then error codes. By the time the swing is obvious, efficiency has been dropping for months.
If the unit is more than a year past its last descaling flush — or has never had one — that is where to start, before diagnosing anything else. On a well at 25-35 grains, twice a year is the sensible interval.
A crossover, which people rarely suspect
This one is worth knowing because it produces confusing symptoms and gets misattributed to the heater.
A crossover is cold water entering the hot line somewhere, diluting it. The usual culprit is a failed mixing cartridge in a single-handle faucet or shower valve, which lets the two sides communicate internally even when the fixture is off.
One faulty valve anywhere in the house can affect hot water everywhere, because it feeds cold back into the shared hot line.
The test: shut off the cold supply to the water heater, then open a hot tap. Water should stop within a few seconds. If it keeps flowing, cold is getting into the hot line somewhere — and the heater is not the problem.
A recirculation system with a failed check valve does the same thing, so this is worth checking on any house with one.
Where it stops being something you can check
Sensors and control components can drift. A flow sensor reading incorrectly, a thermistor out of calibration, or a modulating gas valve not responding properly will all produce unstable output, and none of it is diagnosable from the outside.
Those are the cases where an error code is genuinely useful — note it before calling.
Work through it in this order: clean the fixture's aerator, check whether the problem is one fixture or all, run the crossover test, then look at when the unit was last flushed. That sequence resolves most cases without a service call, and where it does not, it tells us exactly where to start.