
Toyota B2799 Code: Engine Immobilizer Malfunction, Explained
Toyota or Lexus cranks but will not start with code B2799? The engine computer and immobilizer are mismatched. Causes, checks and repair cost in Keller TX.
Toyota B2799 Code: Engine Immobilizer Malfunction, Explained
The engine turns over strongly and never catches. A parts-store scan, or your mechanic, comes back with B2799. Somebody mentions a new computer. Before you spend that money, call or text (817) 968-3866, because on most of the Toyotas and Lexus models we see with this code, nothing is actually broken.
Quick Answer
B2799 on a Toyota or Lexus means "engine immobilizer system malfunction": the engine computer and the immobilizer unit failed the electronic handshake that permits the engine to run. The most common cause by far is an engine computer that was replaced or swapped and never matched to the car. In Keller, re-matching the two runs $150 to $450. Wiring faults and failed modules are less common.
Pricing below is as of October 2026 for Keller, Watauga, Southlake, Colleyville, Haslet and North Richland Hills.
What the Car Is Telling You
Every Toyota and Lexus with a chip key or smart key has two computers involved in the decision to start.
The first reads your key. On a keyed car it is the transponder key computer, working through an amplifier ring around the ignition cylinder. On a push-to-start car that job belongs to the smart key system and an ID code box. Either way, this side answers one question: is this a registered key?
The second is the engine computer, the ECM. It controls fuel and spark. It does not read keys at all. It simply waits to be told, by the immobilizer side, that it is allowed to run the engine.
Those two computers do not just talk. They hold a shared secret, an identification value written into both when the car was built. Each time you start the car, the immobilizer side says "the key is good" and proves who it is. If the engine computer does not recognize the unit speaking to it, it refuses to fuel the engine.
B2799 is the engine computer saying: something answered me on the immobilizer line, but I do not trust it, or nothing answered properly at all.
That is why this code behaves differently from a key problem. Your key can be perfect. The immobilizer can read it correctly. And the car still will not start, because the break is one step further down the chain.
What It Looks Like From the Driver Seat
- The starter cranks at normal speed. The engine does not fire, or it catches for a second and dies.
- There is no fuel injector pulse and often no spark. A mechanic chasing fuel pressure will find the pump fine and still have a dead engine.
- The security indicator on the dash may behave normally, going out when the key is inserted, which is exactly what makes this confusing. The key side is happy.
- It very often appears immediately after work was done: a replacement engine computer, an engine swap, a wiring repair, or a long stretch with a dead battery.
If your symptom is a brief start followed by a stall and no computer has been changed, compare it against car starts then dies after two seconds, because several causes share that behaviour.
The Family of Codes B2799 Belongs To
B2799 rarely travels alone, and its neighbours tell you where to look. Toyota groups its immobilizer codes closely:
- B2795 โ unmatched key code. A chip was read, but it is not a registered key. This one is a key problem.
- B2796 โ no communication in the immobilizer system. No chip was read at all. Think damaged key, or the reader at the ignition.
- B2797 and B2798 โ communication malfunctions on the line between the immobilizer side and the engine computer. Think wiring, connectors, interference.
- B2799 โ engine immobilizer system malfunction. The identification between the engine computer and the immobilizer side does not match, or the exchange failed.
So if a scan shows B2795 or B2796, start with the key. If it shows B2797, B2798 or B2799 with no key codes, the keys are probably fine and the fault is between the modules. Exact code definitions shift a little between model years, so treat this as a map and not a verdict.
The Usual Causes, Most Likely First
1. The engine computer was replaced and never matched
This is the cause on the large majority of B2799 calls we take. An engine computer fails, or is suspected of failing, and a replacement goes in. The replacement is a good part. But it carries either a blank identification or the identification of the car it came out of. Your immobilizer unit introduces itself, the new engine computer does not recognize it, and B2799 sets on the first crank.
Nothing is defective. The two modules were never introduced. On many Toyota and Lexus models there is a specific registration step that teaches the engine computer the identification of the immobilizer side already in the car. Until it is done, the car will not run no matter how many keys you program.
That last point matters. We regularly meet owners who have paid for key programming two or three times to cure a B2799. Programming keys talks to the immobilizer side. The problem is on the other side of it.
2. A used engine computer from a salvage yard
A used unit is the same situation with one more wrinkle. A brand new computer arrives ready to learn. A used one already learned a different car. Depending on the model and year, it may accept a fresh registration, or it may need to be reset to a blank state on the bench first. Some generations are easy. Some are not, and on a few the practical answer is a correctly prepared unit, not the cheapest one on the shelf.
If you are about to buy a used computer, check that question first. Our PCM and ECM replacement and VIN programming guide covers what has to match.
3. An engine swap
Same mechanism, bigger scale. A replacement engine often arrives with its own harness and computer. The body still holds the original immobilizer unit and the original keys. The donor computer has never met them. This is routine to sort out when the swap is between like vehicles, and it is worth planning for before the engine goes in.
4. Wiring or a connector on the communication line
The handshake travels over a dedicated pair of wires between the engine computer and the immobilizer side. A pin backed out of a connector after engine work, a harness pinched behind the dash, rodent damage, or corrosion from a windshield or sunroof leak can interrupt it. This version often comes with B2797 or B2798, and it is often intermittent: the car starts for a week, then does not.
5. Low voltage
A weak 12-volt battery can corrupt the exchange during cranking, and a jump start or a battery swap can leave a stored code behind. If B2799 appeared right after a battery event and the car now runs, clear it and see whether it returns. If the car will not start, the battery is not your only problem.
6. A failed module
It happens, but it is the least common cause and should be the last conclusion, not the first. The immobilizer unit, the ID code box on a smart-key car, or the engine computer itself can fail internally. Before any module is condemned, power, ground and the communication line to it need to be proven good. A new module bolted into a car with a broken wire produces the same code and a lighter wallet.
What You Can Check Yourself
You do not need tools for most of this, and the answers make the phone call far more useful.
- What was done to the car just before this started? A computer, an engine, a battery, a stereo, a remote start, body work. This single answer usually points at the cause.
- Does the engine crank? If it cranks strongly and will not fire, you are in immobilizer territory. If it does not crank at all, look elsewhere first; see key turns but nothing happens.
- Watch the security light. With the key out, it should blink. With a good key in and turned on, it should go out within a couple of seconds. If it goes out and the car still will not start, the key side is fine and B2799 fits.
- Try your second key. If both keys behave identically, it is not a key fault.
- Check the battery. A battery showing under about 12.2 volts at rest should be charged before anyone diagnoses electronics.
- Get every code, from every module. A cheap reader only reports engine codes. The useful information is in the immobilizer and body modules too.
What you should not do is start replacing parts. This is the code where the parts cannon is most expensive, because the parts are computers and each new one arrives needing the same introduction.
How It Is Fixed
For the common case, a computer that was changed and never matched, the fix is a registration procedure, not a part.
On many keyed Toyota and Lexus models from the 2000s and early 2010s, there is a documented routine that puts the engine computer into a learning state so it stores the identification from the immobilizer unit in the car. It takes time, around half an hour of the ignition sitting on while the two modules settle, and it has to be started correctly. On later vehicles and smart-key cars the equivalent step is run from a diagnostic tool as a registration function. Either way, when it completes, the code clears, the engine starts, and your existing keys work as they did before. No new keys are needed.
When the replacement computer is a used one that will not accept a new registration, it is reset first, then registered.
When the cause is wiring, the repair is the wire, and nothing gets programmed.
We do the registration and the key side at your location. If the diagnosis points to an internal fault in the engine computer itself, which is engine-management work, we will tell you that plainly and it becomes a job for your mechanic or a module specialist. How those roles divide is explained in car computer and module programming, explained.
What It Costs in Keller
These are the same bands published in our module programming cost guide.
| Job | Typical range |
|---|---|
| Immobilizer or key-system diagnosis | $60 โ $150, applied to the repair |
| Immobilizer marriage after an ECM or PCM swap | $150 โ $450 |
| Used-module reconfiguration from donor to your vehicle | $200 โ $600+ |
| Key or immobilizer programming, if a key is also needed | $75 โ $400+ |
| Mobile service call to your location | $45 โ $95 |
For a straightforward "new computer, never matched" car, the realistic total is the marriage line plus the service call. The spread inside that band is mostly about the generation of the vehicle and whether the unit is new or used. The full breakdown by job type is in car module programming cost in Keller.
When Someone Says You Need a New Immobilizer
B2799 has the word "immobilizer" in its description, so the immobilizer unit often gets blamed. On a car that ran perfectly until its engine computer was changed, the immobilizer unit is almost never the fault. It is doing its job. It is refusing to vouch for a stranger.
If you have been quoted an immobilizer unit, an ID code box, or a second engine computer to cure this code, ask one question: has the registration between the two modules been attempted? If the answer is no, or a blank look, that is the next step and it costs a fraction of any module. We wrote a whole piece on checking that kind of recommendation: do I really need a new immobilizer?
When to Call a Professional
Call when the engine cranks and will not fire and any of these are true:
- An engine computer, engine or major harness was recently replaced.
- A scan shows B2799, B2797 or B2798.
- You have already paid for key programming and nothing changed.
- A used computer is involved.
- The fault is intermittent and getting more frequent.
If a push-to-start Toyota or Lexus is showing a dash message as well, read smart key system malfunction warning alongside this, since the two can overlap.
Frequently Asked Questions
What does code B2799 mean on a Toyota?
It means engine immobilizer system malfunction. The engine computer and the immobilizer side of the car failed the identification exchange that allows the engine to run. The key is usually fine. The mismatch is between the two modules.
Will programming a new key fix B2799?
Almost never. Key programming registers keys with the immobilizer unit. B2799 is a mismatch between the immobilizer unit and the engine computer, which is a different step. If a scan shows B2795 or B2796 instead, then the key is the place to look.
I replaced my engine computer and now the car will not start. Is the new one bad?
Probably not. A replacement engine computer has to be matched to the immobilizer unit already in your car. Until that registration is done the engine will crank and not fire, and B2799 will set. It is the most common reason for this code.
Can a used Toyota engine computer be made to work?
Often, yes. Some generations accept a fresh registration, and others need to be reset to a blank state first. It depends on the model and year, so check before you buy. In Keller, reconfiguring a used module runs $200 to $600 or more.
How much does it cost to fix B2799 in Keller TX?
When the cause is an unmatched engine computer, the immobilizer marriage is $150 to $450, plus a mobile service call of $45 to $95. Diagnosis is $60 to $150 and is applied to the repair if you go ahead.
Can a low battery cause B2799?
It can leave the code stored, especially after a jump start or a battery change. If the car starts and runs normally afterwards, clear the code and watch for it to return. If the car will not start at all, a battery is not the whole story.
Do I have to tow the car to a dealer?
No. The diagnosis and the module registration can be done where the car is parked, which matters because a car with this fault cannot be driven anywhere.
Find Out What Is Actually Mismatched
Tell us the year and model, what work was done before it stopped starting, and which codes the scan showed. Call or text (817) 968-3866. We diagnose immobilizer faults and match engine computers at your home or shop across Keller, Southlake, Colleyville, Watauga, Haslet, Argyle, Justin and North Richland Hills.
Written by the Keller Locksmith automotive team, who diagnose Toyota and Lexus immobilizer faults across Tarrant and Denton County.
Need a locksmith now?
Licensed mobile automotive locksmith serving the area. 30-90 minute response.
Call (817) 968-3866