Skip to main content

Diagnostics guide

Light on, but the scanner says no codes

Your adapter probably is not broken. Most readers ask the engine computer and stop — and the engine computer is often not the one with something to say.

Why does my scanner say no codes when the warning light is on?

Usually because the scanner only asked the engine computer. A modern car runs several independent modules — transmission, ABS and stability control, body electronics, all-wheel drive, hybrid systems — and any of them can turn on a warning lamp while storing its code locally. A basic reader that queries the engine module and stops will report “no codes” quite truthfully, and be looking in the wrong place. The fix is to read every module that answers, not just the first one that replies.

A warning light is not always an engine light

Your car is not one computer. It is several, each responsible for its own systems and each keeping its own fault records — the engine module, the transmission controller, the ABS and stability-control module, body electronics, and on some cars all-wheel-drive and hybrid systems. Any of them can decide something is wrong and light a lamp on the dash.

A basic reader asks the engine module. If the engine module is fine, it answers “no codes” — and it is telling the truth. It was simply never asked the question you meant.

What reading “every module that answers” actually means

Kaiju Mechanic sends the standard request and reads back every module that responds, rather than taking the first reply and stopping. When a car reports which module a code came from, the app shows it, so a transmission or ABS code is visibly theirs instead of disappearing.

How much a given car exposes varies. Some answer from several modules; some answer only from the engine. That is a property of the vehicle, not of the app — and it is why this is worth checking rather than assuming.

What to check, in order

  1. 1.Check which lamp is actually on

    A check engine light and an ABS, traction, or transmission warning are different systems. If the lamp is not the engine one, the engine module may genuinely have nothing to report — and a reader that only asks it will agree.

  2. 2.Read every module that answers, not just the first

    Ask the car broadly rather than asking the engine and stopping. Modules that respond to the standard request identify themselves as they reply, so a code held by the transmission or the ABS controller shows up as belonging to that module rather than vanishing.

  3. 3.Look for pending codes as well as stored ones

    A stored code is a confirmed fault; a pending code is one the car has seen once and not yet confirmed. An intermittent problem often sits in pending for a while before it becomes stored, which is exactly the window where a basic read looks empty.

  4. 4.Check permanent codes before you believe the light went away

    Permanent codes are the set a scanner cannot clear — they stay until the car itself is satisfied the fault is gone. If the lamp went out on its own, that is the place to look for what caused it.

  5. 5.If every module really is clear, treat that as information

    A genuinely codeless warning lamp is a real state, not a failure to find something. It points at a sensor reading that is out of range without having tripped a threshold, a wiring or ground fault, or a bulb-check quirk — and it is worth describing to someone rather than clearing and hoping.

The lamp going out does not mean the code went away

This catches people out constantly. A warning light can switch itself off once the condition stops repeating, while the record of it stays in the car. Stored codes, pending codes and permanent codes can all outlive the lamp.

Permanent codes are the strongest version of that: a scanner cannot clear them. They stay until the car has satisfied itself the fault is genuinely gone. So “it went off by itself” is a reason to read the car, not a reason to stop.

When there really is nothing to find

Sometimes every module that answers is genuinely clear and the lamp is still on. That is a real result rather than a failed search, and it narrows things usefully — a reading drifting out of range without tripping a threshold, a wiring or ground problem, or a fault in the warning circuit itself.

What this page does not cover: Some manufacturers expose extra modules through their own non-standard requests. That is a different capability from the standard read described here, and Kaiju Mechanic does not offer it today.

This page is general guidance. What a specific code means on your particular engine, with its mileage and symptoms, is a different question — look up a specific trouble code, or see why an emissions test can fail with no light on at all.

Ask the whole car, not just the engine

Kaiju Mechanic reads stored, pending and permanent codes from every module that answers, and shows which module each one came from. Reading is free — no subscription, no credits. You need a standard OBD-II adapter — Bluetooth LE on iPhone and Android, plus Wi-Fi and Bluetooth Classic on Android.

Setup is install the app, add your car, connect your adapter, then scan.

Download on the App StoreGet it on Google Play

Common questions

Why does my scanner say no codes when the warning light is on?
Usually because the scanner only asked the engine computer. A modern car runs several independent modules — transmission, ABS and stability control, body electronics, all-wheel drive, hybrid systems — and any of them can turn on a warning lamp while storing its code locally. A basic reader that queries the engine module and stops will report “no codes” quite truthfully, and be looking in the wrong place. The fix is to read every module that answers, not just the first one that replies.
Is my OBD-II adapter broken if it finds no codes?
Usually not. If the adapter connected, identified the car and returned a clean “no codes” result, it did its job — the question is which module was asked. Most cheap readers query the engine computer only. Before replacing the adapter, try reading the car with something that asks every module that will answer, and check pending and permanent codes as well as stored ones.
Which modules besides the engine can store a code?
On a car that supports it, the transmission controller, the ABS and stability-control module, body electronics, all-wheel-drive and hybrid systems can each hold their own codes and can each light a warning. Kaiju Mechanic reads every module that answers the standard request and shows which one a code came from. What any given car exposes varies — some report several modules, some only the engine.
The light went out on its own. Did the problem fix itself?
Not necessarily. The lamp going out does not mean the code went away. Stored, pending and permanent codes can all survive the light turning off, and permanent codes in particular cannot be cleared by a scanner at all — they persist until the car verifies the fault is gone. An intermittent fault that has stopped for now is still worth reading, because the record of it is usually still there.
Does reading the other modules cost anything?
The read itself is free in Kaiju Mechanic — no subscription and no credits — and it needs only a standard OBD-II adapter. Reading stored, pending and permanent codes, and seeing which module reported each one, is part of that. Asking the AI what a specific code means for your particular car is the part that uses credits.
Back to all guides

Ready?

Your car deserves better
than guessing.

Download Kaiju Mechanic free and start your first AI conversation in under a minute. No appointment. AI chat works without an adapter. Live sensor reads use a standard ELM327 you bring — Bluetooth LE on iPhone or any transport on Android. Just answers.

Download on the App StoreGet it on Google Play
Free to download — No credit card required