Battery charge limiter for Apple Silicon MacBook devices

by rahimnathwanion 8/7/2025, 3:31 PMwith 87 comments

by LeoPantheraon 8/11/2025, 12:38 AM

A huge advantage of AlDente over this is the "sailing" feature. I have mine configured to stop charging at 80%, but then only start charging again when it drops to 50%. It's ideal for preventing lots of very short charging sessions. (This is also an ideal pattern for charging EVs.)

It also has a "calibrate" feature which goes through a 100 -> 10 -> 100 cycle which teaches the battery firmware what the actual capacity is now. Useful to run every month or two.

My Air battery is three years old and has 99% health because of using these features.

by js2on 8/10/2025, 11:04 PM

The FAQ answers why this exists when macOS has a similar built-in feature:

> Optimized Charging, a feature that is built into MacOS, aims to ensure the longevity and health of your battery. It does so by "delaying charging the battery past 80% when it predicts that you’ll be plugged in for an extended period of time, and aims to charge the battery before you unplug," as explained in Apple's user guide.

> Additionally, Optimized Charging uses machine learning to decide when the battery should be held at 80%, and when it should become fully charged. If your Mac is not plugged in on a regular schedule, optimized charging will not work as intended.

> This app is a similar alternative to Optimized Charging, giving the user control over when it is activated, what percentage the battery should be held at, and more.

by CjHuberon 8/10/2025, 11:29 PM

I'd rather have a tool that degrades my battery to below 80% max capacity so that I can get a free new one from apple care+

by crazygringoon 8/11/2025, 12:28 AM

I'm baffled as to why new iPhones and iPads have a settings toggle to only ever charge to max 80%, but Apple hasn't brought the same setting to new Macs, so you still need a third party tool like this. Especially after unifying the Settings app!

Also this tool (or Al Dente) still isn't perfect -- if you shut your Mac off for any reason while keeping it plugged in, it will immediately charge back up to 100%. The third party charge limit only limits charging when the Mac is on or sleeping, not off entirely. (Granted, not many people turn their Macs entirely off these days.) So while I love the third party solutions, a native Apple solution would be even more reliable (plus the built-in Apple solution on iOS automatically charges to 100% occasionally just to keep the battery level accurate -- it's pretty smart).

by varencon 8/10/2025, 11:39 PM

I use this project which does the same thing: https://github.com/charlie0129/batt

and they recently added a basic GUI as well.

by aaronscotton 8/10/2025, 11:10 PM

This is awesome!

Thanks for explaining the reasoning behind implementing your own version instead of using Al Dente. The straightforward UI is really appealing.

I paid for an Al Dente license long ago and have been very happy with it, sail mode and temperature sensitive charging are great features (although I’m not sure how big of an impact sail mode makes).

It’s great to see alternatives available though. Having command line access is really cool.

by adastra22on 8/11/2025, 1:58 AM

Serious question: why would I want to do this? In order to prevent my battery from degrading and maybe having 80% its max charge level after some years of use... I'll proactively never operate at more than 80% charge? How does that make sense?

by jerieljanon 8/11/2025, 12:51 PM

I've tried the CLI app. A few warnings to those who'll want to do the same:

- The app didn't have any updates since July 2024, then got a handful of commits last June and no recent commits ever since.

- I've tried to calibrate with it and managed to discharge but failed to charge back up. It's not a big deal since I could force it back with a `battery charging on`.

- There's also [some issues](https://github.com/actuallymentor/battery/issues/322) reported which [I've also experienced](https://github.com/actuallymentor/battery/issues/301) on my end.

So it works, but it has some complications to keep in mind. Apparently [someone forked it](https://github.com/js4jiang5/BatteryOptimizer_for_MAC) and aimed to fix some of the issues, but the fork is err, opinionated and may or may not be ideal.

by twiloon 8/11/2025, 2:45 AM

I don’t know why everyone is concerned about the top end of the these batteries when we should be limiting depth of discharge instead, which causes way more damage than charging to 100%.

There should be an option for the machine to pretend like 40% is 0% and just go to sleep.

I know Windows has this option but it’s deep inside the power settings, they should bring it out of there.

I don’t think Apple devices have anything like that.

by pulvinaron 8/10/2025, 7:39 PM

I could swear my MacBook Air M3 was limiting at 80% charge before, but now it's at 100%. I suspect that the latest OS update, 15.6, disabled or removed whatever was limiting it, but I don't remember what that was.

It doesn't look like I had installed this "battery" command. It might have been AlDente, but I don't find that anywhere either.

A puzzler.

by amlutoon 8/11/2025, 2:09 AM

This is:

a) really neat.

b) an utterly terrifying wrapper around a wrapper around this:

https://github.com/hholtmann/smcFanControl

See here:

https://github.com/actuallymentor/battery/tree/main/dist

The layer above that is a shell script that downloads and runs shell scripts from github and calls visudo. The layer above that is an electron app that execs the shell script.

I used to be a happy user of bclm, but that doesn’t work any more, sadly. I’ll keep looking for a good option.

by frumplestlatzon 8/11/2025, 1:53 AM

A bit odd to implement the GUI for a background battery health widget in Electron, of all things.

by Perepiskaon 8/11/2025, 6:00 AM

"M32" typo issues (x3) are unfixed for 9 months and make my eyes twitch.

by wingworkson 8/10/2025, 11:16 PM

Perfect, just was I've been looking for. Thanks!

by neveson 8/11/2025, 1:35 AM

I really hate this feature in my Microsoft Surface. It try to guess when it does not need to full charge to preserve the battery.

But then I can't tell it: now charge to 100% because I'll travel and need a full charge.

Stupid.

by diebeforei485on 8/11/2025, 3:39 AM

I'm not sure if adding another Electron app is good for my system lol.