Diagnostic Trouble Code History vs Current vs Pending: What Each Status Really Means
The same diagnostic trouble code can appear as current, pending, stored, history, confirmed, or permanent. Those labels are not interchangeable. They describe what the control module has observed, whether the fault is present now, whether its detection criteria have matured, and how the record can be cleared.
Reading only the code number can send a diagnosis in the wrong direction. A current circuit fault deserves a different first test than an old low-voltage history code, while a pending misfire may be the earliest evidence of an intermittent problem.
Standardized OBD Status vs Manufacturer Labels
Generic OBD regulations require access to pending, confirmed, and permanent emissions-related fault codes through the diagnostic connector. Manufacturer software adds enhanced codes and may use terms such as active, current, stored, history, intermittent, present, past, or test-not-passed. Scan-tool translations can also differ.
Always use the OEM definition for the module and software in front of you. “Stored” may mean confirmed on one platform but simply retained in memory on another. “Current” can mean detected during this key cycle, detected at the instant of the scan, or test-not-passed since the last clear.
Current or Active Codes
A current or active code generally means the module is detecting the fault under present conditions or has detected it during the current operating cycle. It is the strongest reason to reproduce the fault immediately and inspect live data, circuit state, and enabling conditions.
Current does not automatically identify a failed component. A missing power supply, shorted shared reference, or lost data message can trigger an active sensor code. Read the code description, wiring diagram, and test criteria before replacing parts.
Pending Codes
A pending code records a potential malfunction that has not yet met the criteria for a confirmed code and MIL request. It may represent a first failed trip, a fault that requires repeated detection, or an intermittent condition that has not matured. If the monitor later passes enough times, the pending code may clear without technician action.
Pending codes are valuable early evidence. Save their freeze-frame or associated data before clearing anything. A pending P0302 after a cold start, for example, may help locate an intermittent cylinder-two misfire before the customer sees a warning lamp.
Confirmed or Stored Codes
A confirmed emissions code has met the programmed detection logic. Depending on the fault and regulation, the module may command the MIL immediately or after another qualifying trip. A generic scanner commonly retrieves confirmed emissions codes through a different service than pending codes.
Confirmed does not always mean active at the moment of the scan. The fault may have occurred on an earlier trip and no longer be present, but the module retains the code and related data. Check MIL command status, last-failed information, test results, and whether the monitor has run again.
History, Past, or Inactive Codes
History is usually a manufacturer-specific category for a fault detected previously but not currently present. It may remain for a defined number of fault-free cycles, until a service procedure clears it, or until the module’s aging logic removes it. Some modules store occurrence counters, first-failure mileage, last-failure mileage, or elapsed time.
Do not ignore every history code. Multiple modules showing low-voltage or lost-communication history at the same timestamp can reveal a battery event or network interruption. One old code with no matching complaint, no current symptoms, and many fault-free cycles may simply document a past repair.
Permanent DTCs
A permanent DTC is an emissions-related record associated with a MIL-on fault and stored in nonvolatile memory. It cannot be erased by a scan-tool clear command, battery disconnection, or ordinary human interaction. The OBD system clears it only after the repair is complete and the relevant monitor runs and determines that the malfunction is no longer present.
Permanent does not mean the defect is still active or that the repair failed. If current and pending codes are absent, the MIL is off, and the related monitor has not yet completed, the vehicle may simply need the specified operating conditions. Do not replace a repaired component again merely because the permanent record remains.
Quick Status Comparison
| Status | What It Usually Means | Best Next Step |
|---|---|---|
| Current / Active | Fault is detected now or this cycle | Reproduce it and test the circuit or system immediately |
| Pending | Potential fault has not fully matured | Preserve data and repeat the enabling condition safely |
| Confirmed / Stored | Detection criteria were met | Check MIL status, freeze-frame, and whether the fault is still present |
| History / Past | Fault occurred previously but is not currently detected | Correlate timestamps, counters, complaint, and related modules |
| Permanent | OBD retains an emissions fault until its monitor verifies repair | Complete repair and let the correct monitor pass |
MIL Status and Readiness Are Separate
The warning lamp, code status, and readiness monitors answer different questions. MIL command status reports whether the OBD system is requesting the emissions warning lamp. Readiness reports whether a monitor has completed since memory was cleared or power was lost. A monitor marked not ready has not yet completed its evaluation; it does not prove that the system is good or bad.
Clearing codes can reset readiness, remove useful evidence, and make verification take longer. Recently cleared memory or a disconnected battery can leave monitors incomplete until the vehicle reaches the required conditions.
A Better Code-Reading Workflow
- Perform a full scan of every module before clearing or disconnecting anything.
- Record each code exactly, including status, module, subcode, and description.
- Save MIL command, readiness, freeze-frame, failure records, counters, and timestamps.
- Group codes by common voltage, ground, network, operating condition, or original event.
- Address current safety and communication faults before interpreting downstream history codes.
- Follow OEM test plans and reproduce the enabling condition without creating new faults.
Our OBD2 trouble-code guide explains the code characters and system families. For faults that appear only occasionally, use the evidence-preservation process in our freeze-frame and live-data guide.
How Status Changes During Diagnosis
Suppose an EVAP monitor detects a small leak once. The code may appear as pending with no MIL. If the fault repeats under the required conditions, it can become confirmed and eventually create a permanent record when the MIL criteria are met. After the leak is repaired and codes are cleared, current, pending, and confirmed records may disappear, while the permanent code remains until the EVAP monitor completes and passes.
Body and chassis modules can use different aging rules. A door module may retain a history code after communication returns, while an airbag module may require a specific clearing procedure.
Verify Repairs Without Erasing the Story
After repair, repeat the original operating condition and rescan the entire vehicle. Confirm the current fault is gone, no new pending code appears, live data is plausible, and the affected function operates normally. Complete required monitors or relearns, then document any history or permanent code that remains and why.
Compare the final scan with the original baseline. Our pre-scan versus post-scan workflow shows how that comparison protects both the technician and customer.
