Pending Codes vs Stored Codes vs Permanent Codes

If your OBD2 scanner shows pending, stored, or permanent codes, it can feel confusing at first. The short version is simple: these labels tell you how sure the car is about a problem and whether the code can be cleared right away.

A trouble code is not the repair by itself. It is your car's way of saying, “I saw something outside the normal range.” The type of code helps you understand whether the problem is new, confirmed, or still being checked after a repair.

Beginner rule:

  • Pending code = the car saw a possible problem
  • Stored code = the car confirmed and saved the problem
  • Permanent code = the car needs to prove the problem is fixed before the code goes away
  • Clearing a code turns off the warning for a while, but it does not fix the cause

If you are still learning how to scan your car, start with How to Use an OBD2 Scanner. If you already have a code number, you can also look it up in our OBD2 trouble codes list.

Quick Comparison

Here is the easiest way to think about the difference.

Code Type What It Means Beginner Meaning
Pending code The computer noticed a possible fault, but it may need to see it again. “Something may be starting.”
Stored code The computer confirmed the fault and saved the code. “This problem was real enough to record.”
Permanent code The code remains until the car confirms the repair through its own self-tests. “The scanner may not erase this right away.”

What Is a Pending Code?

A pending code means the car's computer noticed a possible problem, but it has not fully confirmed it yet. In many cases, the computer wants to see the same issue again during another drive cycle before it treats it as a confirmed fault.

This can happen when a sensor reading briefly goes out of range, a misfire happens once, or an emissions test does not pass on the first try. Sometimes a pending code becomes a stored code later. Sometimes it disappears if the problem does not repeat.

Beginner takeaway: a pending code is an early warning. Do not panic, but do not ignore it either. Write it down and watch whether it returns.

For example, a small misfire might first show up as pending before it becomes a confirmed code like P0300, P0301, or P0302.

What Is a Stored Code?

A stored code is a confirmed diagnostic trouble code saved in the computer. This usually means the car has seen the problem enough times, or the problem was serious enough, to record it as a fault.

Stored codes are the codes most people see when the check engine light is on. They are more useful than guessing because they point you toward the system that failed a test.

Common stored codes include things like P0171 for a lean condition, P0420 for catalyst efficiency, or P0455 for a large EVAP leak.

Important: a stored code does not always mean one exact part is bad. It tells you which system the computer is unhappy with.

What Is a Permanent Code?

A permanent code is different from a normal stored code. In many cars, you cannot simply erase it with the clear button on a scanner. The car has to run its own checks and confirm the problem is no longer happening.

This is why someone may fix a problem, clear the regular code, and still see a permanent code for a while. That does not always mean the repair failed. It may mean the car has not completed the right self-test yet.

Permanent codes are common with emissions-related problems. For example, after fixing an EVAP issue like P0442, P0455, or P0456, the car may need one or more normal drive cycles before everything clears properly.

Beginner takeaway: permanent does not always mean forever. It usually means the car wants proof that the problem is fixed.

Why a Code Can Come Back After Clearing It

Clearing a code is not the same as fixing the problem. It only removes the warning from memory for the moment. If the same fault happens again, the computer will set the code again.

This is why a check engine light can disappear for a day and then return. The scanner did not make the issue go away. The car just needed time to run the test again and notice the same problem.

Common reasons a code comes back

  • The original problem was never fixed
  • The repair fixed one part of the issue, but not the root cause
  • The car needed another drive cycle to confirm the fault
  • A loose connector, vacuum leak, or fuel/air issue is still present
  • The wrong part was replaced based only on the code name

For example, a lean code like P0171 can come from a vacuum leak, MAF sensor issue, fuel delivery problem, or exhaust leak. Replacing one sensor without checking the cause may not stop the code from returning.

Why You Should Not Just Clear the Code

It is tempting to clear the code as soon as you see it, especially if the car feels normal. But clearing codes too early can erase useful clues.

Before clearing anything, write down the code number, whether it was pending or stored, and what the car was doing at the time. Was it idling rough? Hesitating? Losing power? Driving normally? Those details matter.

Before you clear a code:
  • Write down every code, not just the first one
  • Check whether the code is pending, stored, or permanent
  • Notice if the check engine light is solid or flashing
  • Pay attention to symptoms like rough idle, shaking, hesitation, or weak acceleration
  • Look up what the code means before replacing parts

If your check engine light is on and you are not sure what it means, read What Does the Check Engine Light Mean?. If you are wondering whether it is safe to keep driving, see Can I Drive With the Check Engine Light On?

How to Read These Codes on a Scanner

Different scanners use slightly different words, but most will show options like Read Codes, Stored Codes, Pending Codes, or Permanent Codes.

A basic scanner may only show the code number and a short description. A better scanner may separate the code types more clearly and show extra information. If you are choosing a scanner, see our best OBD2 scanners for beginners.

If you use a phone app, the same idea applies. You can compare OBD2 scanners for iPhone and OBD2 scanners for Android if you want a setup that is easier to understand.

Simple Example

Imagine your gas cap is loose after refueling. At first, the car may notice a possible EVAP leak and show a pending code. If the leak is confirmed, it may become a stored code and turn on the check engine light.

If you tighten or replace the gas cap and clear the stored code, the permanent code may still remain until the car runs its EVAP test again and confirms the leak is gone.

That same basic pattern can happen with many codes: the car notices something, confirms it, stores it, and then needs proof before it fully lets go of the code.

When You Should Be More Careful

Some codes are more urgent than others. If the check engine light is flashing, the car is shaking badly, or the engine feels weak, do not treat it like a harmless scanner message.

Beginner version: if the car feels normal, you usually have time to read and understand the code. If the car runs badly or the light flashes, be more careful.

Frequently Asked Questions

What is a pending code?

A pending code means the car noticed a possible problem, but it has not fully confirmed it yet. It may become a stored code if the same problem happens again.

What is a stored code?

A stored code is a confirmed trouble code saved in the car's computer. It usually means the computer has seen enough evidence to record the fault.

What is a permanent code?

A permanent code is a code that usually cannot be erased by simply clearing codes with a scanner. The car has to complete its own checks and confirm the issue is fixed.

Why did my code come back after I cleared it?

The code came back because the car still detected the same problem. Clearing the code turns off the warning temporarily, but it does not repair the cause.

Should I clear codes before fixing the problem?

It is better to write down the codes first and understand what they mean. Clearing them too early can remove useful information that helps with troubleshooting.