OBD-II Code B3031: Anti-Theft System in Learning Mode
What B3031 means, why it triggers, and how to fix it
- Code B3031 indicates your GM vehicle's anti-theft system is trapped in 'learn mode,' disabling the engine until a key is successfully programmed.
- Always test and charge your battery above 12.4 volts before attempting any fixes, as low voltage is the primary trigger for this code.
- Fix this code for $0 by performing the standard GM 30-minute relearn procedure: three 10-minute cycles of turning the key to the 'ON' position.
- On 2014 and newer GM models, the system requires two separate keys programmed in sequence; programming just one leaves the B3031 code active.
- If the 30-minute relearn fails and you have a history code B2960, replace the ignition lock cylinder to fix a worn Passlock sensor.
What Does B3031 Mean?

B3031 means your car's Body Control Module (BCM) is stuck in 'learn mode'. This mode activates when programming a new key or security part. A glitch, low battery, or incomplete procedure prevents it from finishing. The system waits for a command it never receives, keeping the security light on and disabling the engine.
Technical definition: The SAE/ISO definition is 'Security System Controller In Learn Mode'. The Theft Deterrent Module (TDM) or BCM entered a state to learn a new key password and failed to exit. On some Pontiac and GM models, this code sets automatically during the learning process and becomes a fault only if it persists.
Can I Drive With B3031?
Yes, But With Caution. You can drive the vehicle if it starts, but a constant security light remains on the dash. However, this code frequently causes a complete no-start condition, leaving you stranded. The primary risk is being unable to start the car, requiring a tow.
Common Causes

- Low Battery Voltage (Very Common) — A weak or recently disconnected battery forces the Body Control Module (BCM) into learn mode when power is restored. Modern vehicle electronics require a steady 12.4V+ to maintain memory states.
- Interrupted Security Relearn Procedure (Very Common) — If a key programming or 30-minute relearn procedure starts but does not finish correctly, the system remains trapped in learn mode.
- Programming Only One Key (Common) — Many post-2014 GM vehicles require two separate keys programmed in sequence. Programming only one key leaves the system waiting for the second, keeping the security light on.
- Worn Ignition Lock Cylinder / Passlock Sensor (Common) — The Hall effect sensor inside GM's Passlock ignition lock housing wears out. This prevents the BCM from receiving the correct resistance signal from the key turn.
- Defective or "Bricked" Transponder Key (Common) — Using a damaged key, an incompatible aftermarket key, or a key corrupted during a previous failed programming attempt halts the learn procedure.
- Corrupted BCM Memory State (Uncommon) — After a failed programming attempt, the BCM reports zero keys learned and rejects all keys, including the original. This requires professional scan tool diagnostics to reset.
- Failing Body Control Module (BCM) (Rare) — The BCM suffers an internal hardware failure and cannot exit learn mode. This is a last resort diagnosis after ruling out wiring and voltage issues.
Symptoms

- Security Light Stays On — A solid or flashing security light (padlock icon) remains illuminated on the instrument cluster.
- Engine Cranks But Does Not Start — The security system disables the fuel injectors. The engine turns over but will not fire.
- Car Starts but Stalls Immediately — The engine fires for one to two seconds and immediately shuts off. This is the classic GM Passlock failure mode.
- "Service Theft Deterrent System" Message — An alert appears on the driver information center (DIC).
- Remote Start Disabled — The BCM disables remote start features while an active security fault exists.
Diagnostic Flowchart

Tap your situation to follow the diagnostic path that matches what you're seeing on this code.
Common Fixes & Costs
- Perform Security System Relearn Procedure — Parts: $0, Labor: $0, ~0.5 hr book time (DIY)
- Charge or Replace Vehicle Battery — Parts: $0 - $250, Labor: $0, ~0.3 hr book time (DIY)
- Professional Key Programming — Parts: $50-$200, Labor: $100-$250, ~0.8 hr book time (Professional)
- Ignition Lock Cylinder Replacement — Parts: $110-$250, Labor: $110-$160, ~1.5 hr book time (Intermediate)
- Body Control Module (BCM) Replacement — Parts: $110-$600, Labor: $150-$300, ~2.0 hr book time (Professional)
DIY vs Professional
- Perform Security System Relearn Procedure — Beginner:
Tools: Vehicle Key, Timer - Charge or Replace Vehicle Battery — Beginner:
Tools: Wrench set, battery charger, multimeter - Ignition Lock Cylinder Replacement — Beginner:
Tools: Screwdriver set, socket set, trim removal tools, pick tool - Body Control Module (BCM) Replacement — Beginner:
Tools: Socket set, trim removal tools, bi-directional scan tool
Used vs. New Parts: Buying Guide
When a used part is worth it: For an Ignition Lock Cylinder, a used part from a low-mileage vehicle saves money. For a BCM, a used part only works if it matches your exact year, make, model, and options, and requires professional VIN reprogramming.
Donor-vehicle mileage cap: roughly under 60000 miles for the part to have meaningful remaining life.
Donor quality checklist:
- For BCMs, match the part number exactly.
- For Ignition Lock Cylinders, ensure the donor key turns smoothly.
- Avoid electronic modules from flood-damaged vehicles.
Decision logic:
- If The failed part is the Ignition Lock Cylinder → Buy a new aftermarket part. They are affordable and include new keys, eliminating wear as a variable.
- If The failed part is the BCM and you are a DIYer → Buy a remanufactured BCM pre-programmed to your car's VIN.
- If The failed part is the BCM and you are using a professional shop → Buy a new OEM or high-quality remanufactured BCM and have the shop perform the installation and programming.
Warranty tradeoff: Used parts have a 30-90 day warranty. New aftermarket parts carry a 1-year to limited lifetime warranty. New OEM parts have a 1-2 year warranty.
Worst-case if a used part fails: $300-600 if a used BCM fails after installation, requiring repeat labor and programming.
What Happens If You Wait — Timeline
- 0-2 weeks: Code sets and the security light turns on. The car may start normally or immediately enter a crank-no-start state. (MPG impact: 0%% · Added cost: $0)
- 2 weeks - 2 months: Intermittent starting issues become frequent. The risk of needing a tow increases significantly. (MPG impact: 0%% · Added cost: $75 - $150 (Potential cost for one tow service).)
- 2-6 months: The no-start condition becomes the norm. The owner incurs multiple diagnostic fees or tows. (MPG impact: 0%% · Added cost: $200 - $400 (Costs from multiple tows or mobile mechanic call-out fees).)
- 6+ months: The vehicle is in a permanent no-start state. The final repair bill is unavoidable and compounded by accumulated towing costs. (MPG impact: 0%% · Added cost: $400+)
Cost of Not Fixing It
- Immediate: High risk of a no-start condition, stranding you without warning. (Added cost: $75 - $300 (for towing and emergency diagnostic fees).)
- 1-3 months: Continued intermittent starting problems and a persistent security light. Remote start remains disabled. (Added cost: Negligible, but the inconvenience and risk of being stranded remain high.)
- 3+ months: The persistent no-start condition eventually requires a tow and repair. (Added cost: The final repair cost remains the same, compounded by towing fees.)
Diagnosis Steps
- Check Battery Health and Connections
A low battery guarantees relearn failure. Check voltage with a multimeter; it must be above 12.4V with the engine off. Charge or replace the battery before proceeding.
Tools: Multimeter, Battery Charger (Beginner) - Attempt a Manual Security Relearn Procedure
Insert the key, turn to 'ON' (do not start), and wait 10-15 minutes until the security light turns off. Turn 'OFF' for 30 seconds. Repeat for exactly 3 cycles (30-45 minutes total). Try starting the car.
Tools: Vehicle Key, Timer (Beginner) - Try a Spare Key
Attempt starting with a second programmed key. If the car starts, the first key's transponder chip is dead.
Tools: Spare Vehicle Key (Beginner) - Perform a Hard Reset
Disconnect the negative battery terminal for 30 minutes. Press the brake pedal for 10 seconds to drain residual power. Reconnect and retry the manual relearn.
Tools: Wrench Set (Beginner) - Inspect BCM Connectors and Wiring
Visually inspect wiring harnesses at the BCM. Look for chafed wires or loose connectors that interrupt security signals.
Tools: Flashlight (Intermediate) - [PRO TIP] Test the Passlock Sensor Circuit
Disconnect the 3-wire connector at the ignition lock cylinder. With key ON, verify 12V power and ground. The signal wire (usually yellow) must show ~5V, dropping to a specific value (e.g., 1.76V) when turned to 'START'.
Tools: Multimeter, Wiring Diagram (Advanced) - Analyze Live Data with a Bi-Directional Scan Tool
Connect a high-end scan tool. Check 'Number of Keys Learned'. If it shows '0', the BCM memory is corrupted. Command the BCM to exit learn mode or reprogram keys.
Tools: Professional Bi-Directional Scan Tool (Professional)
When This Code Triggers (Freeze-Frame Conditions)
- Ignition Status: ON (The code sets when the ignition turns to 'ON' or 'RUN', initiating the security handshake.)
- Engine State: OFF or CRANK (Triggers during a key-on-engine-off state or a failed cranking attempt.)
- Battery Voltage: 10.5V - 12.0V (Frequently occurs when system voltage drops during engine cranking.)
- Security System Status: Learn Mode Active (The Theft Deterrent Module (TDM) or BCM commanded itself into a learning state.)
Related Codes
- B3055 — Indicates a problem with the key transponder. If you have B3031 and B3055 together, the system is stuck in learn mode because it cannot read the key.
- B2960 — Means 'Security System Sensor Data Incorrect'. B3031 indicates the system's state, while B2960 points to a specific component fault (the Passlock sensor in the ignition).
- P0633 — Means 'Immobilizer Key Not Programmed'. The BCM sets B3031, failing to send the 'fuel enable' password to the PCM, which then logs P0633. Resolve B3031 first.
- U0140 — Indicates 'Lost Communication With Body Control Module'. Suggests the BCM lost power/ground or there is a major network wiring problem.
Climate & Environmental Factors
- Low Temperatures: Cold weather reduces battery cranking power, dropping voltage below the BCM's required threshold and triggering learn mode.
- High Humidity: Moisture causes corrosion on BCM and ignition switch connectors, increasing electrical resistance and corrupting security signals.
How to Talk to a Mechanic About This Code
Say this: "I have a security light on and my scan tool is showing a B3031 code. I've already tried the 30-minute manual relearn procedure and confirmed my battery voltage is good. I need a diagnostic to determine if the issue is a faulty key, a bad ignition lock cylinder, or a corrupted BCM."
Signals to the shop that you performed basic DIY fixes, preventing them from charging you for simple steps and directing them to advanced diagnostics.
Avoid saying:
- 'My car won't start.'
- 'My security light is on, can you just fix it?'
- 'I think I need a new computer.'
Questions to ask before authorizing the repair:
- If you recommend a new BCM, can you confirm you've tested the Passlock sensor circuit and ruled out a wiring issue first?
- If you recommend a new key, did you test my current key to see if its transponder is faulty or 'bricked'?
- If the BCM memory is corrupted, do you have the tools to attempt a reset before replacing the whole unit?
- What is the warranty on the recommended parts and labor?
Where to Take It: Dealer vs Independent vs Chain
- Dealer:
A strong, but expensive, choice. Guaranteed to have the right tools for programming and deep diagnostics.
Best for: Vehicles under warranty., Complex BCM replacement and programming., When other shops have failed to diagnose the issue.
Downsides: Highest labor rates., Defaults to expensive module replacement over repairing wiring. (Typical cost: +75% vs. baseline) - Independent Shop:
Best fit for most cases, provided you vet the shop.
Best for: Out-of-warranty vehicles where cost is a concern., Diagnosing common B3031 causes like ignition switches and bad keys.
Downsides: Shop quality varies. Must verify they have bi-directional scan tools and experience with GM security systems. (Typical cost: +0% vs. baseline) - Chain Shop:
AVOID for diagnosing B3031. They are not equipped to proceed past a battery check.
Best for: Battery testing and replacement.
Downsides: Technicians lack specialized tools for BCM diagnostics and programming. High risk of misdiagnosis. (Typical cost: -10% vs. baseline)
When to Walk Away From the Repair
If the estimated repair cost exceeds 50% of the car's private-party value, consider selling or trading it in as-is.
- Car worth $2500, fix is $850: Borderline. The repair is about 34% of the car's value. If the car is otherwise in good shape, it's worth fixing.
- Car worth $12500, fix is $650: Fix it. The repair cost is only 5% of the vehicle's value.
- Car worth $3000, fix is $1800: Walk away. The repair cost is 60% of the vehicle's value.
What Scan Tool You Need for This Code
Minimum: A scanner that reads manufacturer-specific Body Control Module (BCM) codes. A basic OBD-II reader only pulls 'P' codes and will show 'No Codes'.
B3031 is a 'B' (Body) code stored in the BCM. Cheap code readers only access 'P' (Powertrain) codes, leading to a diagnostic dead-end.
Professional: Autel MaxiCOM MK808S (~$450) — Full bi-directional control of the BCM. Forces the BCM out of a corrupted learn mode and performs key programming procedures.
Rent vs buy: AVOID renting. Free loaner tools at auto parts stores are basic code readers that cannot diagnose BCM faults.
How to Clear the Code After You Fix It
- Successfully complete the 30-minute security relearn procedure.
- If successful, the code clears itself and the security light turns off.
- Use an OBD-II scan tool to manually clear the code if it remains as history.
- Perform a full drive cycle to set readiness monitors for emissions testing.
Drive cycle (~15 minutes): Start the engine cold and idle for 2-3 minutes with A/C and rear defrost on. Accelerate to 55 mph and hold steady for 3-5 minutes. Decelerate without braking to 20 mph. Accelerate to 55-60 mph and hold for 5 minutes. Decelerate again.
Readiness monitors affected: EVAP System Monitor, Catalyst Monitor, Oxygen Sensor Monitor
Before emissions retest: drive at least 50 miles to fully set monitors.
Watch out for:
- Clearing the code with a scanner does not fix the issue; the BCM remains in learn mode.
- Failing to fully charge the battery before the relearn procedure guarantees failure.
- The EVAP monitor requires specific fuel levels (15-85% full) to set.
Will This Fail Emissions / State Inspection?
Yes — this code typically fails an OBD-II emissions inspection.
- California: An illuminated security light is a functional failure. Disconnecting the battery resets OBD-II readiness monitors, resulting in an automatic failure until a drive cycle completes.
- New York: The safety inspection checks for malfunction indicator lights. An active security light results in a failure.
- Texas: An illuminated check engine or security light causes a visual/functional check failure. Readiness monitors must be set to 'Ready' to pass the OBD-II portion.
Most Commonly Affected Vehicles
- Chevrolet Silverado / GMC Sierra (2005-2019) — Extremely common after battery changes. Models from 2014-2019 require two keys programmed to exit learn mode.
- Chevrolet Tahoe / Suburban (2005-2015) — The Passlock and Passkey systems are highly sensitive to voltage drops, triggering this code after battery issues.
- Buick Encore / LaCrosse (2013-2018) — These models require two keys programmed to exit learn mode, causing persistent B3031 codes after a single key replacement.
- Cadillac CTS / Escalade (2004-2011) — On the CTS, a failing Engine Control Module (ECM) sometimes triggers this code in the BCM.
- Chevrolet Corvette (2014-2019) — Occurs when attempting to program a new key fob and the process is interrupted. The system requests 'Remote 2' and will not exit learn mode.
- Chevrolet Cobalt / HHR (2005-2010) — Prone to ignition switch and BCM communication errors triggered by low voltage. Part of a major ignition switch recall.
- Pontiac G6 (2005-2010) — B3031 is a normal indicator during the key learn process and only becomes a fault if it persists after completion.
- Holden Caprice (PPV) (2007-2017) — Former police models get stuck in learn mode after failed key programming. The engine runs due to a fleet option, but remote start is disabled.
Manufacturer-Specific Notes
- General Motors (Chevrolet, GMC, Buick, Cadillac, Pontiac): On many models made after 2014, the system requires two keys successfully programmed before exiting learn mode. Programming only one leaves B3031 active.
- Pontiac: On models like the G6, B3031 sets as a normal indicator during the key learning process. It is a fault only if it fails to clear afterward.
- Cadillac: On some CTS models, a faulty Engine Control Module (ECM) causes the vehicle to enter theft mode and trigger B3031 in the BCM.
- General Motors (Various Models 2005-2011): NHTSA Campaign ID 14V400: A massive recall for faulty ignition switches on the Cobalt, HHR, G5, and Ion. This hardware failure causes conditions that lead to B3031.
Real Owner Stories
2005 Chevrolet Tahoe after battery replacement
Owner replaced a dead battery. Afterward, the truck cranked but did not start, and the security light was on. Code B3031 was present.
What they tried:
- Initially suspected a fuel pump issue.
- Performed the 30-minute manual relearn procedure.
Outcome: The 30-minute relearn procedure worked perfectly. The security light turned off, the code cleared, and the vehicle started normally. Total cost was $0.
Lesson: Always attempt the 30-minute relearn procedure after changing the battery on a GM vehicle before suspecting other parts.
2018 Chevrolet Corvette with only one key
Owner bought the car with one key and tried to program a second aftermarket key. The procedure failed, leaving a persistent B3031 code.
What they tried:
- Tried to exit learn mode by holding the start button for 12 seconds.
- Attempted to clear the code with a professional scan tool.
- Disconnected the battery for a hard reset.
Outcome: The system remained in learn mode waiting for a second valid key. The owner took it to a dealer to program a proper second key, resolving the issue.
Lesson: On post-2014 GM vehicles, B3031 will not clear until two separate keys are successfully programmed.
2005 Chevrolet Silverado with intermittent no-start
Vehicle randomly cranked but did not start. It set code B3031 and a history code B2960.
What they tried:
- Replaced the battery.
- Performed the 30-minute relearn multiple times, which worked temporarily.
- A mechanic found history code B2960, pointing to the ignition switch.
Outcome: The root cause was a failing Passlock sensor inside the ignition lock cylinder. The owner replaced the ignition lock cylinder and permanently fixed the problem.
Lesson: If B3031 is intermittent and accompanied by code B2960, replace the ignition lock cylinder before suspecting the BCM.
2011 Holden Caprice (PPV) after failed key programming
Owner tried to add two new keys. The second key failed, putting the car into a permanent learn mode with B3031 active. The scan tool showed '0 keys learned'.
What they tried:
- Attempted the 10-minute relearn procedure using GM's SPS software, but it failed to learn any key.
Outcome: The BCM memory was corrupted, and the key was 'bricked'. The solution required a scan tool to force the BCM out of its corrupted state before programming new keys.
Lesson: If a relearn fails and a scan tool shows '0 keys learned', suspect a corrupted BCM state and a 'bricked' key.
How to Prevent This Code From Triggering
- Maintain Battery Health (Every 6 months) — Low voltage triggers B3031. Clean battery terminals and ensure connections are tight to prevent sudden voltage drops.
- Avoid Heavy Keychains (Daily habit) — Excessive weight causes premature wear on the ignition lock cylinder and Passlock sensor. Limit the keychain to just the car key and fob.
- Use a Battery Tender for Storage (During periods of non-use (>2 weeks)) — Maintains a full charge, preventing the battery from discharging to a low voltage state where the BCM loses its key memory.
- Follow Correct Key Programming Procedures (When adding/replacing keys) — Aborting a procedure midway corrupts the BCM's memory or 'bricks' the key, leading directly to a persistent B3031 code.
Frequently Asked Questions
Why is the security light still on after I replaced the battery?
Replacing the battery causes the BCM to lose its key memory and enter 'learn mode' as a security measure. You must perform the 30-minute security relearn procedure to reteach the car your key. This allows the system to exit learn mode.
Can I fix B3031 myself?
Yes, the most common solution is the 30-minute relearn procedure, which requires no tools. Ensuring your battery is fully charged and performing a hard reset are also simple DIY fixes. If these fail, you need professional diagnostics.
I tried the 30-minute relearn and it didn't work. What's next?
First, verify your battery voltage is above 12.4V, as low voltage causes the relearn to fail. Next, try a spare key or inspect the ignition switch wiring. If the issue persists, a professional must use a scan tool to check for corrupted BCM memory.
What are the most common misdiagnosis mistakes for B3031?
The biggest mistake is replacing the BCM before ruling out a weak battery, a faulty key, or a worn ignition switch. Another error is reusing a key from a previously failed programming attempt, as these keys often become permanently 'bricked'.
A locksmith programmed a new key, but the light is still on. Why?
Many post-2014 GM vehicles require two keys to be programmed sequentially to finalize the learning process. If the locksmith only programmed one, the system remains stuck in learn mode waiting for the second key. You must program a second key to clear the B3031 code.
Can a heavy keychain cause security light issues?
Yes, excessive weight hanging from the ignition causes premature wear on the lock cylinder and internal Passlock sensor. This wear leads to intermittent signal loss, triggering security faults and eventual no-start conditions. Limit your keychain to just the car key and fob.
Key Takeaways
- Code B3031 indicates your GM vehicle's anti-theft system is trapped in 'learn mode,' disabling the engine until a key is successfully programmed.
- Always test and charge your battery above 12.4 volts before attempting any fixes, as low voltage is the primary trigger for this code.
- Fix this code for $0 by performing the standard GM 30-minute relearn procedure: three 10-minute cycles of turning the key to the 'ON' position.
- On 2014 and newer GM models, the system requires two separate keys programmed in sequence; programming just one leaves the B3031 code active.
- If the 30-minute relearn fails and you have a history code B2960, replace the ignition lock cylinder to fix a worn Passlock sensor.
Helpful Videos
The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.
- 🎬 Helpful Videos
- What Does B3031 Mean?
- Can I Drive With B3031?
- Common Causes
- Symptoms
- Diagnostic Flowchart
- Common Fixes & Costs
- DIY vs Professional
- Used vs. New Parts: Buying Guide
- What Happens If You Wait — Timeline
- Cost of Not Fixing It
- Diagnosis Steps
- When This Code Triggers (Freeze-Frame Conditions)
- Related Codes
- Climate & Environmental Factors
- How to Talk to a Mechanic About This Code
- Where to Take It: Dealer vs Independent vs Chain
- When to Walk Away From the Repair
- What Scan Tool You Need for This Code
- How to Clear the Code After You Fix It
- Will This Fail Emissions / State Inspection?
- Most Commonly Affected Vehicles
- Manufacturer-Specific Notes
- Real Owner Stories
- 2005 Chevrolet Tahoe after battery replacement
- 2018 Chevrolet Corvette with only one key
- 2005 Chevrolet Silverado with intermittent no-start
- 2011 Holden Caprice (PPV) after failed key programming
- How to Prevent This Code From Triggering
- Frequently Asked Questions
- Why is the security light still on after I replaced the battery?
- Can I fix B3031 myself?
- I tried the 30-minute relearn and it didn't work. What's next?
- What are the most common misdiagnosis mistakes for B3031?
- A locksmith programmed a new key, but the light is still on. Why?
- Can a heavy keychain cause security light issues?
- Key Takeaways
- 🎟️ Get 5% Off