Windows  ·  medium  ·  Hardware, drivers & peripherals

"Plugged in, not charging" or the battery drains while on mains

Either the battery has reached the end of its useful life, the firmware is deliberately limiting the charge, or the charger cannot supply enough power for the load.

What you see

The battery sits at a fixed percentage and reports "plugged in, not charging", or it drains slowly under load even on mains.

What is actually wrong

Manufacturer battery-care features cap the charge at 60–80% by design. Beyond that, a low-wattage USB-C charger cannot keep up with a laptop under load, and a worn cell reports a full-charge capacity far below its design capacity.

Codes and articles

plugged in not chargingBattery reportMicrosoft ACPI-Compliant Control Method Battery

Fixes (4)

Read the battery report Windows already generates
Elevated PowerShell10 minuteslow riskreversible

Always first. It answers the question of whether the battery is worn in about a minute.

  1. Generate the report.

    PowerShell
    powercfg /batteryreport /output "$env:USERPROFILE\Desktop\battery.html"Start-Process "$env:USERPROFILE\Desktop\battery.html"
  2. Compare Full Charge Capacity against Design Capacity. Below about 60% of design, the battery is worn out and no software change will help.

    This single number settles most battery arguments. It is measured by the battery's own controller, not estimated by Windows, and it is the figure a manufacturer will ask for under warranty.

  3. Check the Battery Life Estimates section for the trend over recent weeks — a sudden drop points at a fault rather than wear.

  4. Also read the cycle count, where the battery reports it. Most cells are rated for 300–500 full cycles.

Confirm it workedYou have a clear figure for capacity against design, and a decision follows from it.
If you need to undo itNothing was changed. Delete battery.html when finished.
Find the manufacturer's charge limit
Vendor utility or BIOS15 minuteslow riskreversible

It stops at a consistent 60 or 80%. This is a feature, not a fault.

  1. Check the vendor utility — Lenovo Vantage, Dell Power Manager, HP Support Assistant, ASUS MyASUS. All of them include a battery conservation or care mode.

  2. The setting is also frequently in the BIOS under Battery Charge Threshold or similar. A vendor tool that has been uninstalled leaves the firmware setting in place, which is why the cap survives a clean Windows install.

  3. If the machine mostly lives on mains, leave the cap on — it substantially extends the life of the cell. Turn it off before travelling and back on afterwards.

    Lithium cells age fastest when held at full charge and warm. The cap is not a bug being worked around; it is the single most effective thing available for battery longevity.

Confirm it workedWith the cap disabled the battery charges past its previous ceiling.
If you need to undo itRe-enable conservation mode in the same tool.
Check the charger can actually supply the load
The hardware15 minuteslow riskreversible

It drains while plugged in, particularly on USB-C.

  1. Check the wattage printed on the charger against what the laptop requires. A 45W charger on a machine that needs 90W will run it and slowly drain the battery under load — exactly this symptom.

  2. On USB-C, check the cable as well as the charger. A cable rated for 60W will limit a 100W charger silently.

  3. Confirm what the machine is negotiating.

    PowerShell
    Get-CimInstance -Namespace root\wmi -ClassName BatteryStatus | Format-List Voltage,ChargeRate,DischargeRate,PowerOnline

    DischargeRate above zero while PowerOnline is true is the numeric confirmation that the charger is not keeping up, rather than the battery refusing to charge.

  4. Test with the original manufacturer charger before replacing anything.

Confirm it workedChargeRate is positive under the same load that previously drained it.
If you need to undo itNothing was changed.
Reset the ACPI battery driver
Elevated PowerShell15 minuteslow riskreversible

The report looks healthy, the charger is correct, and it still will not charge.

  1. List the battery devices.

    PowerShell
    Get-PnpDevice -Class Battery | Format-Table FriendlyName,Status,InstanceId
  2. Remove the Microsoft ACPI-Compliant Control Method Battery device. Windows reinstalls it on the next scan.

    PowerShell
    Get-PnpDevice -Class Battery -FriendlyName '*Control Method Battery*' | Disable-PnpDevice -Confirm:$falseGet-PnpDevice -Class Battery -FriendlyName '*Control Method Battery*' | Enable-PnpDevice -Confirm:$false

    The embedded controller and Windows can disagree about the battery state after a firmware update or a deep discharge. Re-enumerating forces both to re-read it.

  3. Shut down, disconnect mains, hold the power button for thirty seconds, then reconnect and boot.

  4. Update the BIOS or embedded controller firmware from the manufacturer — charging logic lives there, not in Windows.

Confirm it workedThe battery reports a charging state on mains.
PowerShell
Get-CimInstance Win32_Battery | Format-List Name,BatteryStatus,EstimatedChargeRemaining
If you need to undo itThe device re-enables itself; nothing persistent was changed.

Where this stops. This write-up was written and checked by hand. It says what each step changes, how to confirm it worked and how to reverse it, and anything destructive is flagged before you reach it. If it does not match what your machine is doing, search the Support Centre for the exact code or message — and when something needs a person, get in touch.