Your Bosch tankless was giving you hot water, then it cut the burner and flashed E9 on the display. E9 is not a nuisance flag. It is the heater telling you a safety cutout opened because the water at the heat exchanger got dangerously hot, up around 220 F. The unit will not fire again until that condition clears. The good news: the most common cause is scale, and you can flush that out yourself in an afternoon.
Clear the code first, then confirm the cause
Resetting only wipes the display. Do it so you can see whether the fault returns, then chase the cause below.
- Cut power: unplug the unit or switch off its dedicated breaker for 30 seconds.
- If the heat exchanger is hot, open a hot tap for two minutes so cold water pulls the heat out before you restore power.
- Restore power. On touch-control Greentherm and Therm units you can instead hold on/off for more than three seconds to clear E9.
- Draw hot water and watch. If E9 comes right back, the overheat condition is still live. Do not keep resetting past it.
- Note whether it trips instantly or only after a minute of flow. Instant usually points to a sensor or wiring fault. After flow points to scale, low flow, or venting.
What E9 actually means on a Bosch tankless
E9 is the code the control board posts when the temperature limiter, also called the ECO (energy cut off) or overheat sensor, opens its circuit. That happens for one of two reasons. Either the water genuinely got too hot, in the neighborhood of 220 F at the sensor, so the ECO did its job and cut the burner. Or the sensor circuit reads open when the water is actually fine, from a corroded connector, a broken wire, or a failed sensor. The board cannot tell those two apart. It just sees an open ECO and shuts down to be safe.
This code appears across the Therm, Greentherm, and older AquaStar 2400 lines. The wording in the manuals is consistent: overheat sensor open circuit, temperature over the limiter set point. What differs between models is the reset button behavior and the exact part numbers, so match anything you order to the model on your data plate.
Do not defeat the limiter
E9 is a safety code doing its job. Never jumper or bypass the temperature limiter to force the unit to run. That sensor is the last thing standing between a scaled heat exchanger and a burst of scalding water. If you cannot find and fix the real cause, stop and call a tech.

Causes of E9, most likely first
Work this list in order. The top two account for most E9 calls, and both are things a handy owner can check without opening the sealed combustion side.
You can safely check these
- Scale in the heat exchanger. Hard water leaves mineral deposits that narrow the water path, so the burner overheats a thinner stream. This is the number one cause of E9.
- Low or restricted flow. A clogged inlet filter screen, a half-closed isolation valve, or a choked aerator starves the exchanger and lets the burner overheat the trickle.
- Blocked or over-long venting. A blocked intake or exhaust, more than three elbows, or a run past spec traps heat around the exchanger and drives the temperature up.
Leave these to a licensed tech
- Faulty ECO overheat sensor or its harness. A corroded white-wire connector or a broken lead reads open even at normal temperature and posts E9.
- Failed temperature limiter itself. The bimetal cutout can weaken and open early, or stick open after a real overheat event.
- Control board fault. Rare, but a bad board can misread the sensor circuit. This is the last thing to suspect, not the first.
Where most owners should start
If your water is hard and the unit has never been flushed, skip straight to descaling. A scaled heat exchanger is the single most common reason a Bosch tankless posts E9, and it is the cheapest to rule out.

The homeowner-safe fixes
These three cover the causes on the left column above. None of them require opening the sealed burner compartment.
1. Descale the heat exchanger
You need the two isolation service valves that most Bosch installs include, a small submersible pump, two hoses, a bucket, and about a gallon of white vinegar or a commercial descaler. Shut off the hot and cold isolation valves to the house, open the service ports, and circulate the solution through the exchanger for 45 to 60 minutes. Flush with clean water, close the service ports, reopen the isolation valves, and run a hot tap to purge air. If scale was the cause, E9 stays gone. Plan on doing this once a year on hard water.
2. Clean the inlet water filter and clear flow restrictions
Bosch puts a small screen filter on the cold inlet. Shut off the cold supply, back off the fitting, pull the screen, and rinse out the grit and scale flakes. While you are at it, confirm both isolation valves are fully open and clean any faucet aerators on the fixtures you use most. Restoring flow through the exchanger is often all it takes when descaling alone did not clear E9.
3. Check the venting
Walk the vent from the unit to the termination. Look for a blocked intake or exhaust, a bird screen packed with debris, a crushed section, or a run that someone added elbows to. Bosch specs a limit on total length and typically no more than three elbows; past that, heat backs up around the exchanger. Clearing an obstruction or correcting a bad vent run can end recurring E9 trips that descaling never touched.
When it is a part, not maintenance
If E9 trips instantly on power-up or the moment flow starts, and descaling plus a clean filter did not help, the sensor circuit is the suspect. A tech will unplug the unit, run a hot tap to cool the exchanger, disconnect the leads at the overheat sensor, and check continuity across the ECO contacts with a meter. An open reading on a cool sensor means the ECO or its harness is bad. Corroded white-wire terminals get cleaned or the harness replaced; a failed sensor gets swapped. Only after the sensor and wiring check out does the control board come into question.
Scale on hard water
Descale flush, about $20 to $40 in supplies DIY or $150 to $300 for a plumber. Fixes most E9 calls on unmaintained units.
Clogged inlet filter
Rinse the inlet screen and open all valves. Free, ten minutes. Restores the flow the exchanger needs to stay below the limit.
Overheat sensor or harness
ECO part is roughly $30 to $90; installed with a service call, about $200 to $400. The right fix when the sensor reads open cold.
Control board
$250 to $500 in parts plus labor. Rare. Only after the sensor, wiring, flow, and scale are all ruled out.
Keep E9 from coming back
Almost every recurring E9 traces back to skipped maintenance. Three habits keep the limiter from ever seeing 220 F.
- Descale once a year, or twice a year on very hard water. This is the single highest-value thing you can do for a tankless.
- Rinse the cold inlet filter screen at each descale so flow never chokes down.
- Keep the vent terminations clear of snow, nests, and debris, and never add elbows or length past the manual's spec.
- If you have hard water, consider a whole-house softener or a scale inhibitor upstream. It slows the buildup that drives E9.
- Keep the isolation valves fully open in daily use so the exchanger always gets full flow.
When E9 shows up on a heater that has been flushed recently and vents cleanly, the odds shift to the sensor. That is a defined test with a meter and a defined part, so it is a manageable repair rather than a mystery. What is not manageable, and not safe, is forcing the unit past a limiter that keeps opening. That cutout is reading a real temperature for a reason.
Frequently asked
Can I reset Bosch error code E9 myself?
Yes. Cycle power: unplug the unit or switch off its breaker for 30 seconds, then restore power. On touch-control Greentherm and Therm models you can also hold the on/off button for more than three seconds to clear the fault. If the heat exchanger is still hot, run a hot tap for a couple of minutes first so cold water pulls heat out of it. A reset only clears the display. If scale, low flow, or a bad sensor caused the trip, E9 comes right back the next time you draw hot water.
Is Bosch E9 dangerous?
E9 is a safety code, so the unit is doing its job by shutting off. The temperature limiter (ECO) opened because water at the heat exchanger got near 220 F, hot enough to scald and to damage the copper. The heater will not fire while E9 is showing, so there is no immediate burn risk from the appliance. What is not safe is bypassing or jumpering the limiter to force it to run. That defeats the last line of defense against a runaway heat exchanger.
Will descaling clear Bosch E9?
Often, yes, if the cause was scale. Mineral buildup inside the heat exchanger narrows the water path, so the same burner heats a thinner stream of water much hotter and trips the ECO. A vinegar or descaler flush through the service valves for 45 to 60 minutes dissolves that scale and restores flow. If your water is hard and the unit has never been flushed, descaling is the first thing to try. If E9 returns right after a good flush, the problem is flow, venting, or the sensor, not scale.
How much does it cost to fix Bosch E9?
A DIY descale runs about $20 to $40 for a descaler kit and vinegar if you already own a pump and hoses, or $150 to $300 for a plumber to flush it. A replacement overheat sensor (ECO) is roughly $30 to $90 for the part; with a service call, figure $200 to $400 installed. A control board is the expensive path, $250 to $500 for the part plus labor. Most Bosch tankless repairs land between $120 and $700 depending on which of those it turns out to be.
Why does Bosch E9 keep coming back after a reset?
A repeat E9 means the overheat condition is still there. The two usual culprits are a scaled heat exchanger that keeps overheating the water, and a limiter or sensor circuit that reads open even when the water is fine, from a corroded connector, a broken white sensor wire, or a failed ECO. A blocked or over-long vent that traps heat can do it too. Resetting past a real overheat just makes the safety trip again, which is the design working as intended.
Can low water flow cause Bosch E9?
Yes. The heat exchanger is sized to move heat into a certain flow of water. Drop below that, from a clogged inlet filter, a partly closed isolation valve, a mineral-choked aerator, or a very low draw, and the burner overheats the trickle that does pass through. Clean the inlet water filter screen, open all service valves fully, and clear any aerators before you condemn a part. Low flow is a common and cheap cause of E9.
Does E9 mean the same thing on every Bosch tankless?
Close, but not identical. Across the Therm, Greentherm, and older AquaStar lines, E9 is an overheat or temperature-limiter fault. The manuals describe it as the ECO overheat sensor circuit reading open, which happens when the water passes about 220 F or when the sensor wiring fails. The exact reset method and the parts differ by model, so check the troubleshooting page in your unit's manual for the model number on your data plate before ordering anything.