Difference Between Pending, Stored, and Permanent OBD2 Codes
Quick Answer
The difference between pending, stored, and permanent OBD2 codes is how the vehicle records and confirms a detected problem. A pending code signals a possible or developing fault, a stored code generally records a confirmed diagnostic trouble code (DTC), and a permanent code preserves certain emissions-related faults until the vehicle’s onboard diagnostic system verifies the problem has been resolved. For inspection preparation, understanding these codes alongside official emissions guidance helps you avoid mistaking a cleared warning light for a completed repair.
What Each Code Means
- Pending code: The vehicle has detected a potential malfunction that may need another successful or failed monitoring event to confirm.
- Stored code: A confirmed or recorded fault that the scanner retrieves from the vehicle’s diagnostic memory.
- Permanent code: A qualifying emissions-related fault that ordinary scan-tool clearing commands cannot erase.
- Check engine light: A warning that depends on the fault and the vehicle’s diagnostic logic, not simply on how many codes appear.
- Readiness monitors: Separate indicators showing whether the vehicle has completed its required emissions self-tests.
What Should You Check First?
- Record all codes and their exact status before clearing anything.
- Diagnose the underlying fault, complete the repair, and allow the appropriate onboard tests to run.
- Check readiness status separately before an emissions inspection.
When you connect an OBD2 scanner to a car, you might see pending, stored, and permanent codes for what appears to be the same problem. That can be confusing, especially when the check engine light is off but a code remains in memory.
In this guide, I’ll explain how these statuses differ, what they tell you about a vehicle’s condition, and how to interpret them without replacing good parts or clearing useful diagnostic information unnecessarily.
In This Guide
- What Do Pending, Stored, and Permanent Codes Mean?
- How Do the Three OBD2 Code Types Compare?
- Why Does the Same Fault Have Different Code Statuses?
- How Do You Read These Codes With an OBD2 Scanner?
- Do Permanent Codes Mean the Car Is Still Broken?
- Can You Pass Emissions With Pending, Stored, or Permanent Codes?
- What Mistakes Should You Avoid When Reading OBD2 Codes?
- Frequently Asked Questions
What Do Pending, Stored, and Permanent Codes Mean?

Pending, stored, and permanent codes are different records of diagnostic trouble conditions. Their status helps you understand whether the vehicle has detected a potential fault, confirmed a fault, or retained a record that requires onboard verification before removal.
What Is a Pending OBD2 Code?
A pending code is a diagnostic trouble code recorded when the vehicle detects a potential malfunction but has not yet met the criteria for full confirmation. Depending on the monitoring strategy, the computer may need another qualifying test before confirming the fault.
For example, imagine your vehicle briefly detects an emissions-related problem during a drive. The scanner might show a pending code even though the check engine light hasn’t turned on.
That doesn’t automatically mean the fault is harmless. It means the available diagnostic evidence hasn’t necessarily met the conditions for a confirmed fault.
Pending codes are particularly useful after repairs or when investigating an intermittent problem. They can reveal a developing issue before it becomes a confirmed fault.
What Is a Stored OBD2 Code?
A stored code is a diagnostic trouble code saved in the vehicle’s computer. On many generic OBD2 scanners, the stored-code menu primarily displays confirmed emissions-related faults, although labels and coverage vary by scanner and vehicle.
A confirmed code may remain stored after the original symptoms disappear. The computer follows its own fault-clearing rules, so the code doesn’t necessarily disappear the moment a component starts working normally again.
For instance, a loose fuel cap might trigger an emissions-related fault on a vehicle equipped with an appropriate evaporative-emissions monitor. Tightening the cap may address the cause, but the vehicle still needs to evaluate the system.
What Is a Permanent OBD2 Code?
A permanent code is a special emissions-related diagnostic record designed to remain in memory until the vehicle’s onboard diagnostic system determines that the relevant fault has been resolved under the required monitoring conditions. A regular scan-tool clear command cannot directly erase it.
Permanent diagnostic trouble codes, often displayed as permanent DTCs, were phased into applicable vehicle emissions systems beginning with model years 2010–2012. Their purpose includes helping prevent a warning light from being switched off just before an emissions inspection without verifying the repair.
Unlike a conventional stored code, a permanent code generally cannot be removed by disconnecting the battery or using an ordinary code-clearing function. The vehicle must satisfy its own criteria for clearing the permanent record.
**Section takeaway:** A pending code suggests a potential fault, a stored code records a diagnostic fault, and a permanent code preserves certain emissions-related fault history until the vehicle verifies the repair.
How Do the Three OBD2 Code Types Compare?
The main difference is the role each code plays in fault detection and verification. Comparing the statuses side by side makes scanner results easier to interpret.
| Feature | Pending | Stored | Permanent |
|---|---|---|---|
| Basic meaning | Potential or not-yet-confirmed fault | Recorded fault, commonly confirmed | Retained emissions-related fault record |
| Check engine light | May remain off | May be on or off | May be on or off |
| Ordinary clear command | Can generally clear eligible codes | Can generally clear eligible codes | Cannot directly erase the permanent record |
| How it disappears | May clear if the fault doesn’t recur, or become confirmed | According to the vehicle’s diagnostic clearing rules | After the onboard system meets its verification criteria |
| Best use | Spotting emerging or intermittent faults | Identifying recorded diagnostic problems | Checking whether a previous emissions fault has been verified as resolved |
These are general OBD2 patterns, not universal rules for every scanner. Some tools use terms such as active, confirmed, history, or previous codes, and enhanced manufacturer-specific systems can organize information differently.
Are Stored Codes and Permanent Codes the Same?
No. A stored code is a general description of a fault record, while a permanent code has a specific OBD emissions-related meaning and clearing restriction.
The same underlying fault can appear in both the stored and permanent lists. That doesn’t mean the vehicle has two separate problems.
For example, a scanner might display the same diagnostic code in its confirmed-code and permanent-code menus. The confirmed record and permanent record serve different purposes.
Which Code Type Should You Take Most Seriously?
Don’t rank fault severity by code status alone. A pending code associated with an engine misfire can matter more immediately than a permanent code left behind after a successful repair.
Instead, consider the exact DTC, the symptoms, warning-light behavior, and any available freeze-frame data. Freeze-frame data is a snapshot of operating conditions recorded when a qualifying fault was detected.
Section takeaway: Code status describes how the computer records a fault, not how dangerous or expensive that fault must be.
Why Does the Same Fault Have Different Code Statuses?
OBD2 systems use different code statuses because detecting a possible problem and confirming a malfunction are not always the same event. The computer evaluates monitored systems under specific operating conditions before deciding how to record a fault.
How Does a Pending Code Become a Stored Code?
Many emissions-related faults use diagnostic logic that requires a malfunction to meet particular criteria before the computer confirms it. A pending code may become a confirmed code if the relevant failure conditions occur again during a qualifying test.
Consider an illustrative oxygen-sensor-related fault. The vehicle detects an unexpected sensor response during one monitoring event, but the conditions don’t yet justify confirming the problem.
- First detection: The computer records a pending fault when the applicable criteria are met.
- Further monitoring: The vehicle runs the relevant test again under suitable conditions.
- Confirmation: If the malfunction meets the confirmation criteria, the computer may store a confirmed code and command the check engine light on.
- Successful evaluation: If the fault doesn’t recur, the pending code may clear according to the vehicle’s diagnostic rules.
This is a simplified example, not a universal sequence. Some faults follow different confirmation rules, and certain conditions can trigger the warning light more quickly.
Why Can a Permanent Code Remain After a Repair?
A permanent code can remain because the onboard system hasn’t yet completed the test needed to verify the repair. Installing a replacement part or clearing ordinary codes doesn’t automatically satisfy that requirement.
For example, suppose a technician repairs an emissions-system fault and the check engine light turns off. A permanent code may remain until the vehicle runs the appropriate monitor and confirms that the problem no longer meets its fault criteria.
In some cases, the required test depends on temperature, fuel level, engine operating conditions, or other factors. The exact conditions vary by vehicle and monitored system.
Don’t keep clearing codes in an attempt to remove a permanent record. The correct approach is to repair the underlying problem and allow the vehicle to complete the necessary diagnostic checks.
What Happens When You Clear OBD2 Codes?
Using a scanner’s clear-code function can erase eligible diagnostic records and reset emissions readiness monitors. It can also remove useful freeze-frame information that would otherwise help identify the conditions behind the fault.
A permanent DTC generally remains, even after ordinary stored codes disappear. That difference is intentional, not evidence that your scanner has malfunctioned.
Before clearing anything, save or photograph the following information:
- All pending, confirmed, and permanent DTCs.
- Freeze-frame data, when available.
- Check engine light status and any other warning messages.
- Readiness monitor status.
Section takeaway: Different code statuses reflect different stages of diagnosis and verification. Preserving the original scan results makes it easier to identify the cause and confirm a successful repair.
How Do You Read These Codes With an OBD2 Scanner?
You can use an OBD2 scanner to compare pending, confirmed or stored, and permanent codes without assuming that each entry represents a separate fault. Start by recording the results, then interpret the code description alongside the vehicle’s symptoms and test information.
Step 1: Connect the Scanner and Retrieve the Codes
Locate the vehicle’s diagnostic connector, commonly found beneath the dashboard, and follow the scanner manufacturer’s instructions. The ignition state and connection procedure can vary by vehicle and tool.
Once connected, use the scanner’s diagnostic menu to retrieve the available powertrain codes. If your tool supports separate pending, confirmed, and permanent categories, check each one.
Step 2: Record the Exact DTC and Its Status
Write down the complete code, including its letter and digits. A code such as P0420 is not interchangeable with another code simply because both relate to emissions.
Save the scanner’s description, but don’t treat that description as a definitive diagnosis. A DTC generally identifies a detected condition or system, not necessarily the exact component that needs replacement.
Step 3: Check Whether the Warning Light Is On
Compare the scanner’s malfunction indicator lamp (MIL) status with the dashboard. The MIL is the warning light commonly labeled check engine or service engine soon.
An illuminated light with a confirmed fault deserves attention, while an off light doesn’t prove that every diagnostic concern has disappeared. Pending and permanent codes can remain visible under different circumstances.
Step 4: Review Freeze-Frame and Readiness Data
If your scanner supports freeze-frame data, check the recorded operating conditions associated with the fault. These details can help a technician reproduce the problem and narrow the diagnostic path.
Next, check emissions readiness monitors. A monitor marked not ready means the vehicle hasn’t completed that particular self-test, not that the monitor has necessarily detected a failure.
Step 5: Diagnose Before Replacing Parts
Use the code as a starting point for testing, not as an automatic parts-replacement instruction. Depending on the fault, diagnosis might involve checking wiring, connectors, air leaks, sensor readings, or system operation.
For example, an oxygen-sensor-related code doesn’t automatically prove the sensor itself has failed. A wiring problem or another engine-management issue could produce related symptoms.
Expert tip
If you’re unsure what the scanner’s status labels mean, check the tool’s manual and the vehicle’s service information. Enhanced scanners may show additional manufacturer-specific data that a basic reader doesn’t support.
For general background on emissions diagnostics and vehicle compliance, the U.S. Environmental Protection Agency provides official environmental and regulatory information.
Section takeaway: Read the complete code, record its status, review available data, and diagnose the cause before clearing the fault or purchasing replacement parts.
Do Permanent Codes Mean the Car Is Still Broken?
No. A permanent code does not automatically mean the original problem is still present, but it also doesn’t prove that the repair succeeded. You need to consider the code’s meaning, the current symptoms, and the results of the vehicle’s diagnostic tests.
Permanent Code Present, Check Engine Light Off
This combination can occur after a repair because the warning light has switched off while the permanent record remains. The onboard system may still need to complete its verification process before removing that record.
If the vehicle runs normally and the relevant monitor has not yet completed, follow the manufacturer’s guidance and allow the appropriate test conditions to occur. Don’t assume that the repair failed just because the permanent code remains.
Permanent Code Present, Check Engine Light On
If the light is on and the scanner reports a current or confirmed fault, investigate the active problem rather than focusing only on the permanent record. The vehicle may still have a malfunction that requires repair.
Read all available codes and check for symptoms. A technician may need to run further tests to distinguish an unresolved fault from an unrelated issue.
Permanent Code Present, No Other Codes
A permanent code may appear alone when the regular confirmed-code list no longer contains the corresponding fault. That can happen after a repair or diagnostic reset, depending on the vehicle’s behavior and the available monitoring results.
Check the code description and readiness data before drawing a conclusion. If the permanent code remains unusually long or the required monitor never completes, consult a qualified technician or the manufacturer’s service information.
Expert note: If a warning light flashes, the engine runs roughly, or the vehicle loses power, prioritize the symptoms rather than waiting for a code to disappear. A flashing check engine light can indicate a severe misfire that may damage the catalytic converter.
How Long Does It Take for a Permanent Code to Clear?
There is no single timeline that applies to every vehicle and fault. The relevant monitor must run under suitable conditions and satisfy the vehicle’s criteria for verifying that the malfunction has been resolved.
Some vehicles may complete the required checks during ordinary driving, while others need particular temperatures, speeds, or other conditions. Follow the vehicle manufacturer’s guidance rather than relying on a universal mileage or number of trips.
Section takeaway: A permanent code is a retained diagnostic record, not a standalone verdict on the repair. Use current fault information and monitor results to determine what needs attention.
Can You Pass Emissions With Pending, Stored, or Permanent Codes?
Whether a vehicle passes an emissions inspection depends on the inspection program’s rules, the malfunction indicator lamp status, applicable fault codes, and required readiness monitors. The presence of a code alone doesn’t give a universal pass-or-fail answer.
Can You Pass With a Pending Code?
Possibly. Some inspection procedures distinguish pending codes from confirmed faults that command the malfunction indicator lamp, but the exact outcome depends on local rules and the vehicle’s status.
Don’t assume a pending code is irrelevant. If the same malfunction recurs and becomes confirmed, it could affect the warning light and inspection result.
Can You Pass With a Stored Code?
It depends on whether the stored code is associated with a current emissions malfunction and how your jurisdiction evaluates the MIL and diagnostic data. A historical or non-MIL-triggering code may be treated differently from a confirmed fault that commands the light on.
Check the actual scanner data and your local inspection authority’s requirements. A code reader’s label alone may not show every detail the inspection equipment evaluates.
Can You Pass With a Permanent Code?
A permanent code can remain after a successful repair, but that doesn’t guarantee an inspection pass. Some inspection procedures use permanent DTC information as part of their decision process, while others focus on different required criteria.
For example, the U.S. EPA’s regulatory framework recognizes permanent DTCs as distinct from ordinary codes. The precise inspection consequences depend on the applicable program and vehicle requirements.
Why Does Readiness Matter?
Readiness monitors indicate whether the vehicle has completed its emissions self-tests. Clearing ordinary codes or disconnecting the battery can reset some monitors to not ready, even if the vehicle has no newly detected fault.
A vehicle can therefore have its check engine light off but still be rejected from an emissions inspection because required monitors have not completed. This is different from failing because an active emissions fault commands the MIL on.
Before an inspection, check:
- MIL status: Confirm whether the vehicle’s computer commands the check engine light on.
- Confirmed codes: Identify faults that may affect inspection eligibility.
- Pending codes: Review potential or developing faults.
- Permanent codes: Check whether a retained emissions-related record remains.
- Readiness monitors: Confirm which required self-tests are complete.
The Texas Department of Public Safety’s readiness guidance explains why readiness status differs from diagnostic trouble codes. For Ohio-specific information, the Ohio E-Check OBD guidance also explains how incomplete monitors can affect inspection testing.
Expert tip: If you’re preparing for an inspection, avoid clearing codes just to turn off the warning light. Diagnose the fault, complete the repair, and verify the required monitors and local inspection criteria.
Section takeaway: A vehicle’s inspection outcome depends on the applicable rules and its complete OBD status. A dark dashboard light by itself is not proof of readiness or compliance.
What Mistakes Should You Avoid When Reading OBD2 Codes?

The biggest mistake is treating every code as a direct instruction to replace a part. OBD2 codes help identify a detected condition, but accurate diagnosis requires context.
Mistake 1: Assuming a Permanent Code Means an Active Failure
A permanent code can remain after a repair because the vehicle hasn’t completed its required verification. Check for current or confirmed codes, warning-light status, symptoms, and readiness data before deciding that the fault remains active.
Mistake 2: Assuming the Check Engine Light Being Off Means Everything Is Fixed
The warning light can turn off while a permanent code remains or while the vehicle still has incomplete readiness monitors. Confirm the relevant diagnostic results rather than relying only on the dashboard.
Mistake 3: Clearing Codes Before Recording Them
Clearing codes prematurely can remove diagnostic information and reset readiness monitors. Record the original DTCs and freeze-frame data before performing a reset.
Mistake 4: Replacing a Component Based Only on the Code Description
A sensor-related code may result from wiring, connectors, leaks, or another condition that affects the sensor’s readings. Test the likely causes before ordering a replacement component.
Mistake 5: Confusing Trouble Codes With Readiness Codes
Trouble codes identify detected malfunctions or potential malfunctions. Readiness status tells you whether the relevant emissions-monitoring tests have run, so the two types of information answer different questions.
Section takeaway: Save the data, identify the actual fault, and verify the repair through appropriate testing. Avoid using code clearing as a substitute for diagnosis.
Frequently Asked Questions
Is a pending code worse than a stored code?
Not necessarily. A pending code indicates a potential or not-yet-confirmed malfunction, while a stored code commonly represents a confirmed fault. Actual severity depends on the DTC, symptoms, and vehicle behavior, not simply the status label.
Can the same OBD2 code be pending, stored, and permanent?
Yes. The same underlying fault can appear in multiple status categories because each record serves a different diagnostic purpose. The vehicle may retain a permanent code after the ordinary confirmed code disappears, depending on the repair and monitoring results.
Will a permanent code clear itself?
It can clear after the onboard diagnostic system meets the required verification criteria. A normal scan-tool clear command cannot directly erase a permanent DTC, and the time required depends on the vehicle, the fault, and the conditions needed to run the relevant monitor.
Does a pending code turn on the check engine light?
A pending code alone often does not turn on the check engine light because the malfunction hasn’t met the applicable confirmation criteria. However, diagnostic strategies differ by fault and vehicle, so check the MIL status and the manufacturer’s information.
Should I clear permanent codes after replacing a faulty part?
No. Ordinary code-clearing commands don’t directly remove permanent DTCs. After replacing a part, verify the repair and allow the relevant onboard monitor to run under the required conditions so the system can determine whether the fault has been resolved.
Does disconnecting the battery erase all OBD2 codes?
No. Disconnecting the battery may clear certain conventional diagnostic information or reset readiness monitors, depending on the vehicle. Permanent DTCs are specifically designed to resist this type of clearing, so battery disconnection is not a reliable repair or diagnostic strategy.
Can I drive with a permanent code showing?
A permanent code alone doesn’t establish whether the vehicle is safe to drive. Check for active warnings, rough running, loss of power, overheating, or other symptoms. If the check engine light flashes or the engine runs severely, reduce driving and seek professional advice promptly.
Final Takeaway: Read the Status Before You Clear the Code
Pending, stored, and permanent OBD2 codes describe different aspects of how a vehicle detects, records, and verifies a malfunction. Understanding those distinctions helps you avoid unnecessary parts replacement and misleading conclusions about the check engine light.
Before taking action, save the complete scan results, review the symptoms, and diagnose the underlying fault. After the repair, confirm that the relevant monitors have completed and that the vehicle’s diagnostic system has verified the result.
If you’re still unsure what a particular code means, consult the vehicle’s service information or a qualified automotive technician. A careful diagnosis is more useful than repeatedly clearing a warning and hoping it stays off.
