Skip to the guide

Understand your diagnostic report

Active, stored, pending or permanent fault code: how do you read the status?

One code, several statuses. Learn to read the label attached to a fault code without confusing it with severity or a part to replace. The system scanned, diagnostic mode and symptoms matter too.

Fictional report: P0303 appears as stored in OBD mode $03 and permanent in mode $0A. Two categories for one code do not prove two faults.
Entirely fictional scan. These entries identify neither a coil, spark plug nor injector.
A stationary car’s speedometer with an illuminated yellow stability-control warning light.
A dashboard warning light alone does not tell you a fault code’s status.Illustrative photo · Mike Bird / Pexels · Pexels licence

01 · Read an example

Two entries, the same code.

This entirely fictional example explains how to read a report. It comes from neither a customer case nor a Diagolia diagnosis.

Training vehicle: petrol engine, 120,000 km. The driver describes a rough idle and a steady engine warning light. Engine control module scanned in OBD/EOBD, before any codes were cleared.

CodeDescriptionStatus and diagnostic mode
P0303Cylinder 3 misfire detectedStored, mode $03
P0303Cylinder 3 misfire detectedPermanent, mode $0A

Freeze frame data: unavailable in this example. Other control modules: not scanned.

How do you read it? The same code appears in two categories. This does not prove there are two faults. The control module has recorded a cylinder 3 misfire and also retains a permanent OBD record.

These entries are not enough to blame a coil, spark plug or injector. The professional relates the report to the symptom, consults the appropriate procedure and selects checks. Missing freeze frame data is a limitation to report, without inventing the conditions in which the fault occurred.

02 · Understand the labels

Four labels, four different questions.

Active or present

These terms generally mean that the control module considers the fault present during the relevant test. The exact meaning depends on the manufacturer and tool: last test failed, fault detected during the current cycle or another detailed state.

Keep the full wording. The word ‘active’ alone does not tell you how long the fault has existed or how urgent it is.

Stored, memorised or history

‘Stored’ and ‘memorised’ indicate that a code is retained. They do not automatically mean ‘an old fault that has been repaired’. A fault can be recorded while still present.

A ‘history’ or ‘not present’ label adds information, depending on the tool. An intermittent fault may no longer be detected during the scan and return under certain conditions. Keep the timeline of symptoms and work performed.

Pending

In an emissions-related OBD scan, this status describes a detected fault whose confirmation still depends on the applicable monitoring logic. The engine warning light may remain off.

‘Pending’ therefore does not guarantee a minor issue. The code’s progression depends on subsequent test results. There is no single rule such as ‘confirmed on the second start’ that applies to all faults.

Permanent

First check where the word appears. In a manufacturer-specific menu, consult the vehicle and tool documentation for its meaning.

In OBD mode $0A, it identifies a specific category of emissions-related codes. A code in this category may remain visible after a repair or after the warning light has gone out.

Labels vary between makes and tools. Status does not measure severity, and a code alone does not identify the component to replace.

03 · Identify the menu

‘Permanent’: start by checking the menu.

Two separate menus: permanent in a manufacturer-specific menu, with meaning to be checked, and emissions-related permanent OBD codes in mode $0A.
The same word can mean different things depending on the scan context. Check the menu before drawing conclusions.

For conventional emissions-related OBD/EOBD modes, keep these reference points in mind:

  • $03: read stored codes.
  • $07: read pending codes.
  • $0A: read permanent codes.

These modes are not a universal translation of every status in engine, ABS, airbag or body-system menus. The same code can appear in several categories: they do not always form a linear progression.

A permanent OBD code cannot be removed with the tool’s usual clear command or by disconnecting the battery. The on-board system must verify that the conditions for removal have been met. The symptom disappearing or a part being replaced does not demonstrate that validation.

The time required depends on the vehicle, fault and conditions needed for the tests. No fixed distance or cycle count guarantees removal on every vehicle. Have the applicable procedure checked, without making repeated trips to try to remove the code.

04 · Recover the context

Put the status back in context.

Before drawing conclusions, look for five things in the case file:

  1. The exact vehicle: model, year, engine and mileage.

  2. The scan performed: tool, date, control module and mode used. An engine scan does not necessarily cover other systems.

  3. The complete code: letters, digits, any suffix, description and all displayed statuses.

  4. The observed symptom: cold, warm, at idle, intermittent or continuous. Also note recent work.

  5. The available data: measured values, units and freeze frame data. These describe the conditions recorded when the fault was captured.
    Read the freeze frame data

The automotive diagnostic glossary explains these terms. If no useful code appears, read the guide to faults with no fault codes.

For starting problems, the car that will not start guide helps describe what you have already observed.

05 · Keep the evidence

Clearing is not repairing.

A file, toolbox and diagnostic tool illustrate three steps: save the evidence, decide whether to clear codes, then check the result.
Keep the evidence, choose an appropriate approach, then verify. Clearing codes performs no repair.

Clearing codes can remove useful evidence. In OBD, it can also reset emissions readiness monitors to ‘not ready’. The command does not perform any repair.

Before deciding, make sure you have:

  • saved the complete report, including descriptions and statuses;
  • retained freeze frame data and useful measurements where available;
  • recorded the tool, modules scanned, date and mileage;
  • described the symptoms and recent work;
  • identified the reason for clearing and the checks planned afterwards.

Clearing codes should be part of an appropriate diagnostic process. An empty list immediately afterwards does not prove the vehicle has been repaired. Some tests may not yet have had a chance to run.

Frequently asked questions

Can you drive with a stored fault code?

Status alone cannot answer that. The system involved, symptoms, warnings and manufacturer’s instructions determine the precautions needed.

Does a permanent code mean the repair failed?

Not necessarily. For a permanent OBD code, the vehicle may still need to complete its checks. The technician also verifies that the cause has actually been addressed.

Why do two tools display different words?

The scope, diagnostic mode and translation may differ. Compare the complete code, control module and detailed information before comparing labels alone.

Does a code that does not return prove a repair is complete?

This observation is useful only if the relevant tests have been able to run. Validation also relies on checks and changes in the symptom.

Prepare your case in Diagolia

Gather the vehicle details, codes and their descriptions, symptoms and checks already performed. In Diagolia, enter the vehicle, describe the problem and add the codes found.

This information helps explore possible causes and prepare useful checks. Checks and the final decision remain with the technician.