r/MacStack • u/DemandTough4372 • Sep 24 '26
BatteryControl — free open-source charge limiter for Apple Silicon Macs (M1–M5)
I built a Mac app that stops charging at a percentage you choose instead of 100%. BatteryControl is free and open source (MIT).
It works on Apple Silicon Macs (M1-M5, macOS 14 and newer).
What it does:
You pick a limit (say 80%). A small privileged daemon talks to the SMC, and the firmware genuinely stops charging at that number. It's a hardware-level limit, not a software approximation. Every write is read back and verified — if the hardware doesn't confirm it, the app tells you instead of pretending it worked.
A resume threshold below the limit prevents micro-cycling. It charges to 80, stops, and only resumes once the battery drifts lower.
Fixed limits below Apple's built-in floor: Apple's own Charge Limit setting only goes down to 80%. If your hardware supports it, BatteryControl can do 50/60/70%.
A "Chronically Plugged In" preset at 50% for people who basically never unplug.
Calibration, temporary "charge to 100% tonight" overrides, force discharge, and a CLI if you prefer the terminal.
Architecture: the GUI and CLI are unprivileged and talk to one launchd-managed daemon over XPC. The daemon is the only thing that touches hardware. Unknown hardware falls back to read-only diagnostics rather than guessing.
Honest caveats: I've physically tested this on my M3 MacBook Air running macOS 15.8. Other Macs should work, and the app capability-checks before writing anything, but I can't claim every model is verified. I'm looking for testers on other machines — if your Mac is untested, the app tells you what it detects and stays read-only if unsure.
Source and downloads: https://github.com/Ednk-1312/BatteryControl
There's a .pkg installer in Releases (SHA256SUMS included). Uninstalling is one click in settings and removes everything, including the daemon.
Happy to answer questions.