Pending vs Confirmed vs Permanent Codes Explained
Three Types of Diagnostic Codes
Your vehicle's computer doesn't just store one type of code. There are actually three distinct categories: pending codes, confirmed (stored) codes, and permanent codes. Each represents a different stage in the diagnostic process, and understanding the differences can save you time, money, and failed emissions tests. Most basic code readers only show confirmed codes, which is why many people never see pending or permanent codes -- but they matter.
What the standards say that most explanations leave out
The three-stage ladder — pending, then confirmed, then permanent — is the right shape, but two details in the regulation and the standard change how you use a pending code in practice.
-
Commonly claimedOnce a pending code matures into a confirmed one, the pending code is gone.
VerifiedIt stays, and that is deliberately useful. Section (g)(4.4.5)(B) requires a pending code be stored and available "for all currently malfunctioning monitored component(s) or system(s), regardless of the MIL illumination status or confirmed fault code status", and spells out the case people assume is impossible: "even after a pending fault has matured to a confirmed fault code and the MIL is illuminated, a pending fault code shall be stored and available if the most recent monitoring event indicates the component is malfunctioning." So a pending code sitting alongside a confirmed one tells you the fault is still failing on the latest test — and its absence tells you the most recent run passed, days before the light itself goes out.
-
Commonly claimedA pending code means a part is on its way out.
VerifiedIt means one test failed once. J1979 §5.7.1 is explicit that "test results reported by this service do not necessarily indicate a faulty component / system", and that the service "can always be used to request the results of the latest test, independent of the setting of a DTC." The standard names its intended use as assisting the technician "after a vehicle repair, and after clearing diagnostic information, by reporting test results after a single driving cycle" — a pending code is a monitor result, and one failed run can come from a single tank of bad fuel, one cold start, or an unusual drive.
-
Commonly claimedEvery fault needs two trips before the light comes on.
VerifiedTwo-trip logic is the common case, not a rule. Section (g)(4.4.5)(C) lets manufacturers use "alternate statistical protocols for MIL illumination" with Executive Officer approval, so the exact count is a per-manufacturer decision within an approved protocol. And one important fault skips the wait entirely: for misfire severe enough to damage the catalyst, §(e)(3.4.1)(A)(ii) requires the light to start blinking "immediately after a pending fault code is stored" — first detection, no second trip. If your light is flashing, you are not waiting for a confirmation cycle.
Pending Codes: The Early Warning
A pending code (also called a maturing code) means the vehicle's computer detected a potential problem during one drive cycle, but the fault hasn't been confirmed yet. Think of it as the ECU saying 'I saw something suspicious, but I'm not sure yet.' Most emission-related faults use a two-trip detection logic: the problem must occur during two consecutive drive cycles before the ECU promotes it to a confirmed code and turns on the check engine light. Pending codes do NOT illuminate the check engine light. They're invisible unless you specifically scan for them. This makes them incredibly valuable for catching problems early, before they become confirmed faults.
How Two-Trip Detection Logic Works
Here's how the process works step by step: During Drive Cycle 1, the ECU runs a self-test (called a monitor) on an emission system. If the test fails, a pending code is stored. No check engine light comes on. During Drive Cycle 2, the ECU runs the same monitor again. If the same test fails again, the pending code is promoted to a confirmed code, the check engine light turns on, and a freeze frame snapshot is captured. If the test passes on the second trip, the pending code is erased automatically. Some faults bypass two-trip logic and set immediately on the first failure -- these are typically severe issues like misfires that could damage the catalytic converter (e.g., P0300-P0312 misfire codes can illuminate the light on the first detection).
Confirmed (Stored) Codes: Check Engine Light Is On
Confirmed codes, also called stored codes or active codes, are what most people think of as 'the code.' These are faults that have been verified through two consecutive drive cycles (or a single cycle for critical faults). The check engine light is ON when a confirmed code is present. Confirmed codes remain stored even after the problem is fixed -- they don't clear themselves immediately. After a successful repair, the code may take up to three drive cycles without the fault recurring before the check engine light turns off on its own. You can also clear confirmed codes manually with a scanner, though this resets readiness monitors.
Permanent Codes: Can't Be Cleared Manually
Permanent codes (introduced in 2010+ vehicles as part of OBD-II regulations) are the toughest type. They cannot be cleared with a scanner, and they cannot be cleared by disconnecting the battery. They were created specifically to prevent people from clearing codes right before an emissions test to pass fraudulently. Permanent codes can only be cleared by the vehicle's own computer after it verifies the problem is actually fixed. The ECU must run the relevant monitor, the test must pass, and this must happen under proper driving conditions. This typically requires one or more complete drive cycles after the repair. Permanent codes serve as a tamper-proof record of emission faults.
What Pending Codes Mean for Emissions Testing
Here's something many people get wrong in the other direction: a pending code by itself does not fail an OBD emissions test -- the standard failure criteria are the check engine light being commanded on and incomplete readiness monitors. But if you clear confirmed codes before an emissions test, the readiness monitors reset to 'not ready,' which IS an automatic failure in most states. The best strategy for passing emissions is to fix the actual problem, drive for several days to let monitors complete, and then test. Don't clear codes before testing unless you have enough time (usually 50-100 miles of varied driving) for monitors to complete.
How to Read All Three Code Types on Your Scanner
Not all scanners show all three code types by default. For pending codes: look for a menu option labeled 'Pending Codes,' 'Maturing Codes,' or sometimes it's a sub-option under 'Read Codes.' Many budget scanners support this. For permanent codes: you need a scanner that supports Mode $0A (SAE standard) or Service $0A. Most professional-grade scanners and many mid-range scanners ($50+) support this. Apps like BlueDriver and Torque Pro can read permanent codes on compatible adapters. When diagnosing any check engine light issue, make it a habit to check all three code types. Pending codes can tell you about new problems developing, and permanent codes confirm whether a previous repair was successful.
Using Pending Codes for Proactive Maintenance
Checking for pending codes regularly, even when your check engine light is off, is smart preventive maintenance. A pending code gives you advance warning before the problem triggers the light. For example, a pending P0420 (catalyst efficiency below threshold) tells you your catalytic converter is starting to struggle but hasn't fully failed yet. This gives you time to research the issue, get price quotes, and plan the repair on your schedule rather than reacting to an unexpected check engine light. Consider scanning for pending codes every oil change or every few months, especially on higher-mileage vehicles.
Frequently Asked Questions
Can I clear a pending code with a scanner?
Yes, you can clear pending codes with a scanner using the 'Clear Codes' function. However, if the underlying problem exists, the pending code will return on the next drive cycle. Pending codes also self-clear if the fault doesn't recur on the next drive cycle, so if you've already fixed the problem, you can simply drive and let it clear itself.
Why can't I clear a permanent code?
Permanent codes were mandated by the EPA starting in 2010 to prevent emissions test fraud. They can only be cleared by the vehicle's own computer after it runs the relevant diagnostic monitor and the test passes. This ensures the underlying problem was actually repaired. You cannot bypass this with any scanner, including dealer tools.
Will a pending code fail an emissions test?
Generally no -- OBD emissions tests fail on a commanded-on check engine light or incomplete readiness monitors, not on pending codes. Where a pending code hurts you is indirectly: the underlying fault may mature into a confirmed code, and clearing codes to hide it resets your readiness monitors, which is itself a failure. Check your state's specific requirements.
How long does it take for a pending code to become confirmed?
Most pending codes become confirmed after two consecutive drive cycles where the same fault is detected. A drive cycle typically involves a cold start, warm-up, and at least 20 minutes of mixed driving. So it usually takes 2-3 days of normal driving. Some severe faults (like type A misfires) skip the pending stage and become confirmed immediately.
My check engine light went off by itself. Is the problem fixed?
Not necessarily. The light turns off after three consecutive drive cycles where the fault doesn't recur. This could mean the fix worked, the problem is intermittent, or conditions haven't been right to trigger the fault again. Check for pending codes -- if none are present and the light stays off for a week of normal driving, the issue is likely resolved.
Sources
Documents this guide was checked against. How we verify.
- California Air Resources Board, Title 13 CCR 1968.2 — "Malfunction and Diagnostic System Requirements" (2006 final regulation order, the complete text)
- SAE J1979:2002, "E/E Diagnostic Test Modes" — §5.7, which defines Service $07 as the request for codes detected during the current or last completed driving cycle