Skip to content
Skip to content

OBD-II Code

C0900

Severity

Not yet reviewed

Nobody on our side has assessed this code yet, so we are not going to guess at how serious it is.

Can you drive it

We cannot say

Treat it as unknown until a shop reads it with live data. If the check-engine light is FLASHING, stop driving as soon as it is safe to — that means an active misfire, whatever the code.

Indicative cost (USD)

$8–$650

From this code's diagnostic notes. Varies by vehicle, diagnosis, parts, and local labor. This is not a repair quote.

$8 (throttle-body cleaning consumables) to $650 (full electronic throttle-body assembly with PCM relearn).

C0900 means the Cruise Control Throttle Actuator has a circuit or performance fault — on older mechanical cruise systems this referred to the vacuum-actuator servo or stepper motor that physically pulled the throttle cable, but on any 2003-and-newer drive-by-wire vehicle (which is essentially every passenger car since the late 2000s) C0900 traces back to the electronic throttle body itself or to the cruise function's command path through the PCM.

How a shop works this

Work from evidence to part, not the other way round. A code names a circuit or a symptom; it does not name the part that failed.

  1. Note every code that is set, not just this one.

    Codes that appear together usually narrow the cause faster than any one of them read alone.

  2. Read the freeze frame — the conditions the fault was recorded under.

    Cold or warm, idle or load, road speed and engine speed. A fault that only appears cold is a different fault from one that only appears under load, even with the same code on the scanner.

  3. Confirm the fault is current rather than history.

    Clear the code and see whether it returns under those same conditions. A code that does not come back may have been logged during a repair, a flat battery, or a bad connection that has since been disturbed.

  4. Then follow the diagnostic notes further down this page, in the order they are written.

    They are written in the order a shop works this code, cheapest checks first. Where they name a component, inspect its wiring and connector before replacing it.

If the code comes back after a repair, the underlying fault is still there. That is the point to bring in a scanner with live data and freeze-frame, or a shop that has one.

Common symptoms

  • Check engine light
Read the full diagnostic procedureC0900 means the Cruise Control Throttle Actuator has a circuit or performance fault — on older mechanical cruise systems this referred to the vacuum-…

C0900 means the Cruise Control Throttle Actuator has a circuit or performance fault — on older mechanical cruise systems this referred to the vacuum-actuator servo or stepper motor that physically pulled the throttle cable, but on any 2003-and-newer drive-by-wire vehicle (which is essentially every passenger car since the late 2000s) C0900 traces back to the electronic throttle body itself or to the cruise function's command path through the PCM.

Diagnostic order, cheapest first

  1. Scan live data on the throttle position sensor — modern ETBs have two redundant TPS sensors built in that should track each other across the 0-100% range; if TPS1 and TPS2 disagree by more than 3-5%, the ETB is faulty internally.
  2. Check the throttle pedal position sensor (APP) for the same redundant pair behavior.
  3. Inspect the throttle body for carbon buildup at the throttle plate — a carbon-stuck plate makes the ETB miss closed-position relearn and the cruise function fails its rationality check; a 15-minute throttle body cleaning with CRC throttle body spray and a soft brush ($8 of consumables) resolves a surprising number of C0900s on high-mileage GM and Toyota vehicles.
  4. Verify the brake-pedal position switch is reporting correctly — a stuck-closed brake switch tells the cruise function 'brake is pressed' permanently and the throttle actuator command is blocked.
  5. On the small minority of vehicles still using a separate cruise servo (some 1990s-early-2000s vehicles with cable throttle), test servo coil resistance per FSM and check vacuum supply to the servo can. Always perform the throttle-body idle-relearn procedure after any TB service — a TB that's mechanically clean but hasn't relearned closed position will still throw C0900 alongside P2111 / P2112.
Vehicle-specific patternsany drive-by-wire GM Vortec V8 from 2007+ (LMG 5.3L, L96 6.0L, L86 6.2L in Silverado, Sierra, Tahoe, Yukon, Suburban, Escalade) and any Ford EcoBoost…

any drive-by-wire GM Vortec V8 from 2007+ (LMG 5.3L, L96 6.0L, L86 6.2L in Silverado, Sierra, Tahoe, Yukon, Suburban, Escalade) and any Ford EcoBoost from 2011+ (1.5L, 2.0L, 2.3L EB, 2.7L, 3.5L EB) handle cruise through the PCM/ETB rather than a discrete servo, so C0900 on these is virtually always a throttle-body cleaning or a TPS-sensor ETB replacement.

  • 2005-2010Chevy Cobalt / HHR / Malibu throws C0900 alongside the larger ignition-recall family when the ignition switch intermittently kills 12V to the ETB.
  • 2003-2009Toyota 4Runner / Tacoma / Tundra throws C0900 from a failed APP (accelerator pedal position) sensor — Toyota issued multiple TSBs and the APP module is a sealed pedal assembly that swaps in 20 minutes.
  • 2007-2014Dodge / Chrysler / Jeep with TIPM gateway issues throws C0900 alongside U0405 when the TIPM CAN transceiver fails.
  • 2008-2013Honda Accord / Pilot / Odyssey with the J35 V6 throws C0900 from carbon-clogged throttle bodies that need cleaning + idle-relearn at every 60k-mile service interval.

Estimated repair$8 (throttle-body cleaning consumables) to $650 (full electronic throttle-body assembly with PCM relearn).

Look up another code

More free tools

See all 9 tools