Was this article helpful?
Pending, stored, and permanent: three kinds of code and why it matters
Not all codes are equal: one warns, one has already lit the lamp, and one cannot be cleared at all. The difference and how to use it.
Most apps simply show “faults”. In fact codes fall into categories, and the difference between them is the difference between “I am warning you” and “this is already bad”.
Pending codes
What they are: the system recorded a deviation once and is waiting for confirmation on the next cycle.
The lamp is off. Which is exactly why these are the most useful: you see the problem before it manifests.
What to do with them: do not panic, but do not ignore them either. One pending code after a bad tank of fuel is probably a one-off. A pending code appearing weekly is a process.
Practical value: when buying used, pending codes reveal what has not been cleared yet or what appeared after clearing.
Stored codes
What they are: the deviation was confirmed, the code is written, and the lamp is on.
A freeze frame is stored with it — a snapshot of conditions when it set. That is the most valuable part, and it is erased along with the code; covered in the freeze frame article.
What to do with them: record the code and freeze frame before taking any action; covered in the clearing codes article.
Permanent codes
What they are: a copy of a confirmed code that a scanner cannot clear.
How it disappears: on its own, once the system is satisfied over several complete cycles that the fault is gone.
Why it exists: specifically to defeat “preparing” a car by clearing before an emissions test. Clear it, the lamp goes out, but the permanent code remains and is visible.
The practical conclusion: on a modern car, hiding a problem by clearing does not work, by design.
How this relates to the lamp
Lamp off but codes present — those are pending codes or codes from systems that do not affect emissions.
Lamp steady — a confirmed code.
Lamp flashing — active misfires right now; not an “amber” category, the catalyst is being destroyed this minute; covered in the misfire article.
The lamp went out by itself — the code moved to unconfirmed. It is still stored for several cycles and remains visible to a scanner. So “it fixed itself” is worth verifying rather than believing.
Other lamp priorities are covered in the dashboard lights article.
Why this matters for the annual test
An emissions check looks at more than the lamp:
- Whether confirmed codes are present.
- Whether permanent codes are present.
- Monitor readiness — how many systems have completed their self-tests; covered in the readiness monitors article.
So clearing before a test produces a worse result than doing nothing: the lamp goes out but the monitors reset, and the test fails on those instead; covered in the test preparation article.
Working with codes
- Read all three categories, not just confirmed ones.
- Save the freeze frame.
- Compare against the symptom — code and complaint should agree.
- Fix it.
- Clear and drive a full cycle — that is the verification.
- Check whether a permanent code remains — it will clear itself, but not immediately.
In short
- Pending codes warn before the lamp comes on.
- Stored codes carry the freeze frame — the most valuable thing in diagnostics.
- Permanent codes cannot be cleared and disappear only after successful cycles.
- A flashing lamp is its own category of urgency.
- Clearing before a test is worse than doing nothing: the monitors reset.
Download the app — codes of every category, freeze frames, and monitors are read with an ELM327 adapter over Bluetooth SPP on Android.
Comments …
Loading…