A Rheem tankless flashing 99 is not a minor glitch you clear and forget. It means the control board decided the burner is not burning cleanly, and on a gas appliance that is the code you take seriously. Nearly every time, the cause is dull and mechanical: the unit cannot pull or push enough air to burn the gas completely. A dust-packed intake filter, a wasp nest in the vent cap, a stuck flapper valve. Rheem's own guidance is blunt about it. Do not keep resetting a 99 and running the heater. Find the restriction first.
Read the code before you touch anything
Code 99 is abnormal combustion. The unit continuously checks that the flame is getting enough air to burn the gas fully. When the combustion goes off, too little air, a choked exhaust, or a combustion-air sensor reading that does not match a clean burn, it locks out on 99 to protect you. That is different from an ignition failure like code 11, where the burner never lit. With 99 the burner is firing, or trying to, but the air side of the equation is wrong. Here is the order to suspect, most likely first.
Air intake filter
The leading cause on RTG and RTGH units that draw combustion air through the cabinet. The filter or screen behind the front cover packs with dust, lint, and insect debris and starves the burner. Free to check, free to clean.
Vent termination and length
The exhaust or intake cap outside the house gets blocked by a bird or wasp nest, leaves, or snow. Or the vent run is simply too long or has too many elbows for the model, which restricts flow under load. Inspect the termination and count the elbows against the install manual.
Heat-exchanger flapper valve
At the vent connection there is a flapper that should swing freely. If it sticks, it chokes airflow and throws 99 intermittently as it sticks and frees. Confirm it moves.
Heat-exchanger fins
Fins caked with scale or combustion debris restrict the burn and airflow. Hard water and years without service are the usual setup for this. Look for heavy buildup or corrosion.
Combustion blower
The fan that moves air through the burner. A wheel packed with dust or a motor that can no longer hit speed cannot supply the airflow the board expects, so it faults. Check for caking and listen for a straining fan.
Combustion-air sensor or PCB
A sensor that misreads the burn, or a control board that misinterprets a clean combustion, can throw 99. Real, but the least likely and the most expensive, so they come last.
The five-minute free checks
Before anyone spends money, walk this list with power and gas off. Every item here is either free or the cost of a filter, and together they clear the majority of 99 faults.
- Power the unit off at the controller or breaker, and close the gas shutoff valve before opening the cabinet.
- Pull the air intake filter or screen and check it for packed dust and lint. Clean or replace it.
- Walk outside and look at the vent termination for nests, leaves, snow, or debris blocking it.
- Count the elbows and estimate the vent length against the model's maximum allowable run.
- Confirm the heat-exchanger flapper valve at the vent connection swings freely by hand.
- Look at the combustion blower wheel for a cake of dust that would slow it down.
- Confirm you have a working carbon monoxide alarm near the heater before you run it again.

Isolating venting from the blower
There is one field trick that splits the problem cleanly, and Rheem techs use it. It tells you in minutes whether the fault is outside the unit or inside it.
How do I tell if code 99 is the venting or the unit itself?
With the unit off, temporarily disconnect the vent structure from the water heater so it is drawing and exhausting freely to open air in a safe, ventilated space, then run it briefly. If the 99 clears with the vent off, the restriction is in your venting, the termination, the run, or the flapper. If 99 still fires with the vent disconnected, the problem is inside the unit, which points at the combustion blower or the PC board. This is a diagnostic step, not a way to run the heater. Never operate the unit long-term with the vent disconnected, because you are dumping combustion products indoors.
Working the fix in order
Cheap to expensive, outside to inside. Do not order a blower or a board because the code sounds serious. Clear the air path first, because that is where the fault almost always lives.

Where the homeowner line sits
Cleaning the air intake filter, clearing a blocked vent cap, and freeing a stuck flapper are fair game for a careful homeowner who is comfortable shutting off gas and opening the cabinet. Those are the fixes that resolve most 99s, and they cost nothing. The line you do not cross is combustion setup. If the filter is clean and the vent is clear and 99 still returns, the burner is not getting clean combustion for a reason a meter has to find. Setting gas pressure, measuring blower speed, verifying the combustion, and reading flue gases are licensed gas-tech work. And the rule that overrides all of it: do not keep resetting a 99 and running the heater. Incomplete combustion is how carbon monoxide is made, and the lockout exists so the unit does not keep firing dirty.
Keeping 99 from coming back
A combustion code that returns on a schedule is usually a maintenance gap. The air intake filter is the one thing to put on a calendar. Pull and clean it a couple of times a year, more if the unit sits in a dusty garage or a laundry room full of lint. Keep the vent termination outside clear, and screen it if wasps or birds keep finding it. Have your annual service include a combustion check, not just a descale, so the tech pulls the filter, inspects the blower and flapper, looks at the heat-exchanger fins, and confirms the burn is clean. Descaling keeps the water side healthy but does nothing for the air side, and 99 lives entirely on the air side. A heater that gets both checks is the one that does not throw this code on the coldest morning of the year.
Frequently asked
Can I reset Rheem code 99 myself?
You can clear it. Turn the unit off at the remote controller or flip the breaker for the water heater off for about 30 seconds, then power it back on and the code drops. The problem is that resetting a 99 fixes nothing on its own, and Rheem is explicit that you should not keep resetting this code and running the unit. Code 99 is abnormal combustion, meaning the burner is not burning cleanly, usually because the air path is choked. Forcing the heater to keep firing in that state is exactly what the lockout is there to prevent. Reset it once to confirm the code, then work through the air path. If it returns, stop resetting and get a licensed gas technician out the same day.
What does Rheem error code 99 actually mean?
It means the control board detected abnormal combustion. The unit constantly checks that the burner is getting enough air to burn the gas completely. When it senses the combustion is off, too little air, a restricted exhaust, or a signal from the combustion-air sensor that does not match a clean burn, it throws 99 and shuts down. In practice that almost always traces back to a physical restriction in the air path: a clogged air intake filter, a blocked vent termination outside the house, a stuck heat-exchanger flapper valve, scaled or blocked heat-exchanger fins, or a combustion blower that cannot move enough air. A failing combustion-air sensor or the PC board can also cause it, but those are further down the list.
Is Rheem code 99 dangerous?
Treat it as one of the serious ones. Incomplete combustion is how carbon monoxide gets made, so a code that specifically reports abnormal combustion is not a nuisance fault to clear and ignore. Rheem groups 99 with the combustion codes that warrant same-day attention. The heater locking out is the safety system working, and the danger is in overriding it. Do not repeatedly reset a 99 and keep running the unit while you wait for a plumber. If you have a combustion appliance throwing this code, make sure you have a working carbon monoxide alarm nearby, shut the unit down, and get a licensed gas tech to inspect the whole air path before it runs again.
What is the most common cause of Rheem code 99?
A restricted air intake, and inside that, the air intake filter is the single most common culprit on RTG and RTGH units that pull combustion air through the cabinet. It sits behind the front cover near the air inlet and clogs with dust, lint, and insect debris. Right behind it are venting problems: a vent termination outside the house blocked by a bird nest, a wasp nest, snow, or leaves, and an exhaust run that is simply too long or has too many elbows for the model. The heat-exchanger flapper valve at the vent connection is another frequent offender, since it can stick and choke airflow. Start with the filter and the vent termination because they are free to check and fix the majority of 99 faults.
How do I clean the air intake filter on a Rheem tankless?
Kill power and close the gas first. Remove the front cover, which is usually a few screws. On RTG and RTGH cabinets the air intake filter is a small screen or mesh near the air inlet at the base or side of the unit. Slide or unclip it out. If it is packed with gray dust and lint, that is your 99. Vacuum it, rinse it if the type allows, let it dry fully, and reinstall it seated correctly. A missing or improperly seated filter is as bad as a clogged one because it changes the airflow the board expects. While you are in there, look at the combustion blower for dust caking on the fan wheel and check the heat-exchanger flapper at the vent connection to confirm it swings freely.
How much does it cost to fix Rheem code 99?
If it is a dirty air intake filter or a blocked vent termination, the fix costs you nothing but a screwdriver and half an hour. A replacement air intake filter or screen is usually $15 to $40 if yours is torn. Where it gets expensive is the mechanical parts: a combustion blower or fan motor assembly for RTG and RTGH units runs roughly $150 to $350 for the part, and a combustion-air sensor is cheaper but model-specific. A plumber's diagnostic and cleaning visit typically lands in the $150 to $400 range depending on your metro. The worst case is a PC board, which can run $300 to $600 for the part alone. That is why you clear the free air-path causes first: a board almost never fails before a filter clogs or a vent gets blocked.
Why does Rheem code 99 keep coming back?
A 99 that returns after a reset is telling you the air restriction is still there. The usual repeats: the filter was cleaned but the vent termination outside is still blocked, or the exhaust run is genuinely too long or has too many bends for the model and it only faults under certain wind or firing conditions. A stuck heat-exchanger flapper valve throws it intermittently as it sticks and frees. Heavy scale on the heat exchanger fins from hard water restricts the burn and re-fouls things fast. And a combustion blower that is on its way out will trigger 99 whenever it cannot hit speed. If it keeps returning after you have cleaned the filter and cleared the vent, the honest next steps are measuring the blower and having a tech verify the combustion, not another reset.
Will descaling clear Rheem code 99?
Usually not, because 99 is a combustion-air problem, not a water-flow problem. Descaling flushes the heat exchanger's waterways and clears codes tied to scale and flow. Code 99 lives on the air and exhaust side of the unit, so a vinegar flush does nothing for a clogged air filter, a blocked vent, or a tired blower. There is one indirect link: heavy scale and general neglect often travel together, and heat-exchanger fins caked with combustion debris can restrict airflow. So a heater that has never been descaled or serviced may have a fin and combustion problem alongside the scale. But the moves that actually clear 99 are cleaning the air filter, clearing the vent, freeing the flapper, and checking the blower, not descaling.