Tesla BMS Error Codes: A Used Buyer's Decoding Guide
BMS_a066, BMS_a067, BMS_u029 and the rest. What each alert means on a used Model 3, S or Y, how to check the pack, and the alerts that mean walk away.
In this article(10)
- 01Is it safe to drive with a Tesla BMS warning?
- 02What does it cost to fix?
- 03What should you do right now?
- 04Which BMS codes should a used buyer know?
- 05Which four codes mean walk away?
- 06Can you check the battery yourself, or is this a specialist job?
- 07How does range loss differ by battery type?
- 08What does a generic OBD2 scan miss on a Tesla?
- 09How do you use this at the negotiation table?
- 10Where do used Teslas come from in Europe?
A 2020 Tesla Model 3 Long Range sits on coches.net with 168,000 kilometres on it, priced 4,500 euros under the going rate. The seller in München says the "High voltage battery performance limited" warning from last winter "was just software, and it went away". The dashboard is clean today. The charge port works, and the test drive feels normal.
Your usual OBD2 adapter will not settle this. Tesla does not use the P-code system that petrol and diesel cars use. That message belongs to BMS_a067, Tesla's own alert for cell groups whose measured capacity has drifted apart inside a battery module, and "it went away" means the imbalance slipped back under the threshold. It does not mean the cause was fixed.
This guide covers the BMS family: what each alert means for the owner, and what it costs. The alerts that end a deal get their own section. For the wider Tesla code list, see the Tesla error codes complete guide.
Is it safe to drive with a Tesla BMS warning?
Usually yes, with clear exceptions. Most BMS alerts mean the car is protecting the pack, and Tesla's own wording for several of them, BMS_a067 among them, is "OK to drive - schedule service". Expect a lower charge limit, less power or slower charging until it is fixed.
Stop and call Tesla if any of this is true:
- The car says "Unable to Drive", or tells you to pull over.
- The car warns "Vehicle may not restart" or "Unable to charge", the messages that go with the isolation alerts BMS_a035 and BMS_a123.
- Something near the car smells hot or sharp, or you see smoke.
- The car refuses to charge at all and warns about the pack.
Everything else is a book-it fault, not a panic. Keep the charge between 20 and 80 percent while you wait. Skip fast chargers if the car has told you charging is limited.
What does it cost to fix?
These are Tesla service centre and specialist figures. No ordinary garage down the road can price battery work, and no phone app can either. Only Tesla and a handful of EV specialists have the parts and the safety training for pack work. Treat every row below as a rough forecast, never a quote.
| Likely cause | What it usually costs | How long you can wait |
|---|---|---|
| Cells drifted apart after the car sat at low charge (BMS_a066 warning) | Nothing. One full charge, held 12 to 24 hours | Days. Recheck after the balance charge |
| Charging slowed because the pack is cold (BMS_a007, or BMS_u007 on 2012-2020 Model S and X) | Nothing. Charging speeds up once the pack is warm | Days. Watch whether slow charging returns in mild weather |
| Battery cooling fault, pump or chiller (on 2012-2020 Model S and X, BMS_w067 flags low coolant flow) | 400 to 1,300 EUR at a specialist | Weeks. Do not fast charge meanwhile |
| Maximum charge cut to 50 percent (BMS_a064, or BMS_u018 and BMS_u029 on 2012-2020 Model S and X) | Cell or module repair, from about 3,500 EUR | Months, but half the range you paid for is locked away |
| Capacity imbalance inside a module (BMS_a067, limp mode BMS_a068) | Cell or module repair from about 4,500 EUR, or a new or remanufactured pack at 12,000 to 18,000 EUR | Not a repair you book lightly. It decides whether you keep the car |
| Isolation fault or welded contactors (BMS_a035, BMS_a123, BMS_a166) | 3,500 to 18,000 EUR, Tesla or an EV specialist only | Isolation: today. Stop driving it |
What should you do right now?
- Check the alerts on the touchscreen first. The car shows active alerts with a short message about what is limited. Free, and it takes a minute.
- Read the alert code, not only the message. Tesla service mode shows it: tap Controls, then Software, press and hold the model name under the car image for about two seconds, and type
serviceas the access code. Do not drive the car while service mode is on. Scan My Tesla and TM-Spy read the battery data behind the alerts over a Tesla adapter cable. A generic ELM327 adapter cannot reach any of it, because Tesla keeps this traffic on its own network. - Charge to 100 percent and leave it there. Give the car 12 to 24 hours plugged in at full, then drive normally for a few days. An imbalance warning that clears and stays gone was minor drift. One that comes back inside a month points to a weak cell.
- Book Tesla or an EV specialist when the alert is on the walk-away list below, when a warning returns after a balance charge, or when the charge limit or charging speed is still capped in mild weather. Bring the code and what the car actually does. The diagnosis is their job.
Which BMS codes should a used buyer know?
Tesla numbers its alerts differently on different cars. Model 3, Model Y and the 2021-on Model S and X share one set; the Model S built from 2012 to 2020 and the Model X built from 2015 to 2020 use another. Tessie's alert atlas lists which alert belongs to which car, with Tesla's descriptions, so check the code against the car in front of you.
BMS_a066: the cells are drifting apart
An early warning, with no message on the screen. The battery management system has estimated that its lowest cell groups sit further below the average state of charge than they should. Nothing is limited yet.
It usually traces to one of these:
- The car sat at low charge for weeks.
- A long cold spell with no full charge.
- A single weak cell in the pack.
Owners and specialists usually try a long charge to 100 percent first, because the pack balances at the top of the charge. If the warning keeps coming back, EV Clinic, an independent repairer, reports that the cause on high-mileage Model 3s is usually one faulty cell out of 4,416, which it replaces for about 4,500 to 5,800 EUR plus tax, where Tesla replaces the whole pack.
BMS_a064: maximum charge cut to 50 percent
The follow-on to BMS_a066. The imbalance has grown past the point the car accepts, so it caps the maximum state of charge at 50 percent, again with no message on the screen. The charge limit and a short range at "100 percent" give it away. Treat it as specialist work, not something a long charge will settle.
BMS_u018 and BMS_u029: the older Model S and X version
On a Model S built from 2012 to 2020 or a Model X built from 2015 to 2020, these two limit charging in the same way, and here the screen says so: "Maximum battery charge level reduced". BMS_u018 means the overall imbalance between the highest and lowest cells is past the threshold. BMS_u029 is set when the car suspects a weak internal short in a cell group. Both cap charging at the voltage for about 50 percent charge. Tesla's wording is OK to drive, schedule service, but on a car you are buying either one means pack work.
BMS_a067: capacity drifting apart inside a module
The alert behind our München seller's message, "High voltage battery performance limited". The measured amp-hour capacity of the cell groups inside one module has drifted apart past the allowed threshold, so the car trims range and charging performance. It clears when the imbalance falls back under the threshold, which is why sellers call it software, but the weak cells are still there.
If it worsens, BMS_a068 follows: the same imbalance, now bad enough to put the pack in limp mode, with "High voltage battery requires service" on the screen and reduced acceleration and charging.
BMS_a007: charging slowed because the pack is cold
The harmless one. The car shows "Battery is heating - Keep charge cable inserted" and puts charging power into warming the pack first. On 2012-2020 Model S and X the same alert is BMS_u007. It clears once the pack is warm.
If charging stays slow in mild weather without this alert, the cooling side or the cells are the suspects, not the season. A dead coolant pump, a blocked battery radiator, or a seized chiller. Budget 400 to 900 EUR for a pump and 600 to 1,300 EUR for a chiller.
Every code above sits on Tesla's own network, so Skanyx cannot read a single one of them: for the battery side use Scan My Tesla, TM-Spy or service mode, and pay a specialist if the car is worth it. Where Skanyx does earn its place is the petrol or diesel car you look at next. Its 8-step Pre-Purchase Inspection runs the code scan, the idle and drive phases, the fraud checks and the analysis, then hands back a Buy, Negotiate, Caution or Walk Away verdict with a PDF and a negotiation script. See what it checks before you view a car
Which four codes mean walk away?
These are not negotiation material. Each one is a structural failure or a safety risk that can cost more than the car is worth.
BMS_a166, BMS_w152 and BMS_w153: welded contactors
The contactors are the big switches between the battery and the rest of the car. They should open when the car sleeps and close when it wakes. A welded one stays shut, so the car cannot fully isolate the battery. On Model 3, Model Y and 2021-on Model S and X, BMS_a165 records one welded pack contactor and BMS_a166 both, and with both welded the car cannot charge or drive. On 2012-2020 Model S and X, BMS_w152 and BMS_w153 flag a welded positive or negative contactor.
Repair means opening part of the pack: roughly 800 to 1,500 EUR for the part plus 600 to 1,200 EUR labour at a specialist. A Tesla service centre may quote a full pack swap at 12,000 to 18,000 EUR instead.
BMS_a035 and BMS_a123: an isolation fault
The battery or the high-voltage system has developed an insulation leak to the car's chassis. BMS_a035 is an isolation alert with the contactors closed, and the car warns "Vehicle may not restart". BMS_a123 is low isolation found with the contactors open, and the car shows "Unable to charge". Both are safety critical, and both can leave the car unable to charge or drive. The faulty part comes out, the leak is found, then the failed insulation is replaced.
Specialists who take this work on exist in the bigger EU markets, and the bill is typically 3,500 to 8,000 EUR. When the leak is inside an original pack, the repair can be the start of a pack replacement conversation.
BMS_a068: capacity imbalance in limp mode
This is BMS_a067 grown up. The capacity of the cell groups in a module has drifted so far apart that the car enters battery limp mode, with acceleration and charging cut. A cell or module repair from an independent specialist is the cheapest route, and it can still cost a large share of the car's value.
Any BMS alert plus slow Supercharging on a warm pack
This is the test where one number tells a more honest story than the seller. Every Tesla has a rated peak charging power, and it reaches that peak only with a warm pack at a low state of charge, then tapers as the pack fills.
If a car with BMS alerts in its history charges far below its rated peak on a warm pack at low charge, with no preconditioning excuse, it is throttling to protect cells that are no longer normal. That pattern rarely fixes itself.
To run the test on a car you are viewing: navigate to a Supercharger on the car's own map so it preconditions the pack, pick one that supports the car's peak rate, start a session below 20 percent charge, and watch the charging graph for ten minutes. A car that stays far below its expected peak is a walk away.
Can you check the battery yourself, or is this a specialist job?
You can do a lot from the driver's seat, and none of it needs a workshop.
1. Range at 100 percent charge
Charge the car to 100 percent and note the displayed range. Compare it against the new rated figure for that exact variant:
| Model | Variant | Sold in Europe | New rated range (WLTP) |
|---|---|---|---|
| Model 3 | Standard Range Plus (NCA) | 2019-2020 | 409 km |
| Model 3 | Standard Range Plus (LFP) | late 2020-2021 | 440-448 km |
| Model 3 | RWD (LFP) | 2022-2023 | 491 km |
| Model 3 | Long Range AWD | 2019-2020 | 560 km |
| Model 3 | Long Range AWD | late 2020-2022 | 580 km |
| Model Y | Long Range AWD | 2021-early 2022 | 507 km |
| Model Y | Long Range AWD | 2022-2025 | 533-542 km |
| Model Y | Performance | 2022-2025 | 514 km |
| Model S | Long Range | 2019-2020 | 624 km |
2. The battery health test in service mode
Recent Tesla software includes a battery health test. In service mode, open High Voltage, then run the health test in the HV Battery section. The car needs to be plugged into AC charging (not a Supercharger) at a lower state of charge; it charges to full and then reports a battery health percentage. It takes 12 to 48 hours or more depending on the charging speed, so it is a test for a car you are close to buying, or one the seller runs before the viewing.
A result in line with Tesla's fleet figures for the car's mileage is healthy. A markedly lower one is a loss you will feel every day.
3. Scan My Tesla or TM-Spy
Scan My Tesla (Android and iOS) and TM-Spy (from the maker of LeafSpy, mostly used on the Model S) read Tesla's own network through a compatible adapter and a Tesla cable that matches the car's build date. The Scan My Tesla adapter list names the adapters that work, such as the vLinker FS or OBDLink MX+. They report the pack energy, how far apart the cells sit, and module temperatures.
A cell spread that stays wide at moderate charge, and grows from one reading to the next, is the imbalance that BMS_a066 and BMS_a067 react to.
When to pay a specialist instead: any of the walk-away alerts, a warning that returns after a balance charge, or a car you are about to buy at 15,000 EUR and up. A pre-purchase battery check at an independent Tesla specialist costs a small fraction of any battery repair. On that kind of purchase it is cheap insurance.How does range loss differ by battery type?
Tesla uses two families of battery chemistry, and knowing which one you are looking at sets your expectations. The same logic applies to other EVs. For a parallel read on a different platform, see the Nissan Leaf BMS buyer guide.
Nickel packs (NCA or NMC): Model S, Model X, Model 3 and Model Y Long Range and Performance
Which nickel chemistry you get depends on the factory and the year: EV Database lists the late-2020 European Model 3 Long Range with LG NMC cells, where the earlier car used Panasonic NCA cells. These packs lose the most early on, then settle into a slower decline. Tesla's own figures put the average loss at about 12 percent after 200,000 miles (roughly 320,000 km) for Model S and X, and early data puts Model 3 and Y under 15 percent at that mileage. A car that lived on Superchargers can sit below that average.
A car showing a large loss may recover some of the displayed range after a full balance cycle, because part of the loss can be in the estimate rather than the cells.
LFP packs: Model 3 Standard Range Plus from late 2020, Model 3 and Model Y RWD
These are generally regarded as ageing more slowly than nickel packs. The trade-off is that they dislike charging in the cold and hold less energy for the same size, which is why the rated range is lower.
LFP cars need charging to 100 percent at least once a week so the car keeps its calibration honest. A used LFP car kept at half charge for months can show range loss that largely comes back after one full charge.
What does a generic OBD2 scan miss on a Tesla?
Nearly everything that matters. A generic ELM327 adapter and a generic OBD2 app read almost nothing useful on a Tesla, because Tesla does not publish its data on the standard channels that generic readers ask.
What a generic reader gives you:
- On a Model 3 or Model Y, nothing without a Tesla adapter cable, because there is no standard OBD2 port to plug into.
- Even with a cable, little or nothing, because Tesla does not answer the standard requests a generic app sends.
What needs a Tesla-aware tool instead:
- Cell voltages, how far apart the cells sit, module temperatures: Scan My Tesla or TM-Spy.
- Motor and inverter data, and charging session detail: Scan My Tesla or TM-Spy.
- A battery health percentage: the service mode health test.
- The alert history: Tesla service mode.
- Active BMS alerts such as BMS_a066 and BMS_a067: Tesla service mode.
A clean dashboard is also not a clean history. Many BMS alerts clear on their own once the condition drops back under its threshold, but the alert history in service mode keeps the record. A car with eight BMS_a066 events in six months is not the same car as one with none, even if both look clean on the day you view them. For a structured checklist that works on any car, EV or petrol, see the pre-purchase inspection guide.
How do you use this at the negotiation table?
Three outcomes, three responses.
Old BMS_a066 or BMS_a067 events that cleared after a balance charge mean the pack has drifted but recovered, and the car has been treated carelessly. Ask for the battery health test result and negotiate on the range that is actually missing, not on the warning itself.
Active or recent walk-away alerts (welded contactors, isolation faults, BMS_a068) mean you leave. The repair costs more than the car loses in a year of depreciation.
A car at the expected range for its mileage, with no active alerts and a clean Supercharger test, is honestly aged. Negotiate on the range gap and buy it.
Where do used Teslas come from in Europe?
In Germany, mobile.de and autoscout24.de carry a large selection of used Teslas, and independent Tesla repairers and battery specialists are easier to find there than in most of the EU.
In Poland, otomoto.pl and olx.pl carry a smaller selection. Independent Tesla workshops exist, and module-level battery work is available but limited.
In Lithuania, autoplius.lt and autogidas.lt list relatively few cars, most of them imported from Germany, and battery work usually means a trip to a specialist abroad. Buyers sourcing from German listings should also run the cross-border used car OBD2 checklist before paying a deposit.
In Spain, coches.net and autocasion.com list plenty of cars. Heat matters here: a Tesla used in Andalucía or Murcia tends to show more capacity loss than the same car in northern Europe.
In the United Kingdom, most used Teslas were delivered new in the UK, and bringing one into the EU adds customs cost and paperwork.
That München Model 3 is answerable in about fifteen minutes. Read the alert history in service mode with the seller standing there, start a Supercharger session below 20 percent and watch the first ten minutes, then compare the 100 percent range against the table above. If the seller will not sit through that, the 4,500 euro discount is not a discount.
Frequently Asked Questions
- Is it safe to drive a Tesla with a BMS warning?
- Usually yes, but often with a lower charge limit, less power or slower charging. Tesla's own wording for alerts such as BMS_a067, and for BMS_u018 and BMS_u029 on 2012-2020 Model S and X, is 'OK to drive - schedule service'. Stop and call Tesla if the car says 'Unable to Drive' or 'Vehicle may not restart', if an isolation alert such as BMS_a035 or BMS_a123 is stored, or if anything near the car smells hot. Keep the charge between 20 and 80 percent while you wait, unless the service centre asks for a balance charge.
- What does BMS_a066 mean on a Tesla?
- BMS_a066 is the early warning for a state-of-charge imbalance: the battery management system has estimated that its lowest cell groups sit further below the average than they should. No message appears on the screen and nothing is limited yet. If the imbalance grows, BMS_a064 follows and cuts the maximum charge to 50 percent. Owners usually try a long charge to 100 percent first, because the pack balances at the top of the charge. If the alert keeps returning, the independent repairer EV Clinic reports that the cause on high-mileage Model 3s is usually one faulty cell, which it replaces for about 4,500 to 5,800 EUR plus tax, where Tesla replaces the pack.
- How do I read Tesla battery health on a used Model 3?
- Recent Tesla software has a battery health test in service mode (High Voltage, then the health test in the HV Battery section). The car must be plugged into AC charging at a lower charge level; it charges to full and reports a battery health percentage, which takes 12 to 48 hours or more. For a quicker check, charge to 100 percent and compare the displayed range with the new rated figure for that variant. Scan My Tesla and TM-Spy read the pack energy and cell voltages over a Tesla adapter cable. A generic OBD2 app reads none of this.
- Which Tesla BMS codes mean I should walk away from the car?
- Three families, plus one test. Welded contactors: BMS_a166 on Model 3, Model Y and 2021-on Model S and X means both pack contactors are welded and the car cannot charge or drive, while BMS_w152 and BMS_w153 flag a welded contactor on 2012-2020 Model S and X. Isolation faults such as BMS_a035 and BMS_a123, where the car warns it may not restart or cannot charge. And BMS_a068, a capacity imbalance bad enough to put the pack in limp mode. The test: a car with BMS alerts in its history that charges far below its rated peak on a warm pack at low charge.
- Can I check a Tesla battery with a generic OBD2 scanner?
- No, not in any useful way. Tesla keeps its battery, charger and motor data on its own network, which standard ELM327 adapters and generic OBD2 apps cannot read, and a Model 3 or Model Y has no standard OBD2 port to plug into, only Tesla's own diagnostic connector. Use Scan My Tesla, TM-Spy or Tesla service mode instead, or pay an independent Tesla specialist for a pre-purchase battery check, which costs a small fraction of any battery repair.
Sources
- Electrek: Tesla gives update on battery degradation (2023)
- Tessie ATLAS: Tesla alert code index
- Tessie ATLAS: BMS_a066_SOC_Imbalance_Warning
- Tessie ATLAS: BMS_a064_SW_SOC_Imbalance
- Tessie ATLAS: BMS_a067_CAC_Imbalance_Limiting
- Tessie ATLAS: BMS_a068_CAC_Imbalance_Limp
- Tessie ATLAS: BMS_u018_SOC_Imbalance_Limiting
- Tessie ATLAS: BMS_u029_dSoc_Limiting
- Tessie ATLAS: BMS_a007_SW_Slowed_Chg_Batt_Cold
- Tessie ATLAS: BMS_w067_SW_Low_Coolnt_Flow_Rate
- Tessie ATLAS: BMS_a035_SW_Isolation
- Tessie ATLAS: BMS_a123_SW_Internal_Isolation
- Tessie ATLAS: BMS_a166_SW_Pack_Full_Weld
- Tessie ATLAS: BMS_w152_SW_pos_contactor_welded
- EV Clinic: BMS_a066 is repairable (2025)
- Not a Tesla App: Tesla's battery health test
- Not a Tesla App: Tesla service mode, how to access it
- Scan My Tesla: cables and adapters
- EV Database: Tesla Model 3 Long Range AWD (2019-2020)
- EV Database: Tesla Model 3 Long Range AWD (2020-2022)
- EV Database: Tesla Model 3 Standard Range Plus (2019-2020)
- EV Database: Tesla Model 3 Standard Range Plus LFP (2020-2021)
- EV Database: Tesla Model 3 RWD (2021-2023)
- EV Database: Tesla Model Y Long Range AWD (2021-2022)
- EV Database: Tesla Model Y Long Range AWD (2022-2025)
- EV Database: Tesla Model Y Performance (2022-2025)
- EV Database: Tesla Model S Long Range (2019-2020)
Skanyx Team
Skanyx engineering team
Skanyx is written by the engineers who build the app and keep two BMWs of their own on the road, an E60 535d and a pre-facelift E61 535. Content is drafted with AI assistance and edited by the team. Repair-cost ranges are compiled from published parts prices, workshop price lists and repair-cost guides and rounded, fault codes follow the SAE definitions, and where a figure comes from a specific study or vendor page, the post lists it under Sources.
