
brew install --cask batfi
A license is required.
Obtain one here.BatFi, a native and lightweight app that simplifies battery management.
BatFi is a native, lightweight menu-bar app that gives you real control over how your Mac charges.
Set a charge limit and hold it indefinitely, automate it by time and place, charge to 100% the moment you need it, run on battery on demand, and see exactly what's using your
power — well beyond the on/off limit built into macOS.
Why?
Keeping a lithium-ion battery at a high state of charge shortens its life — a real problem if your Mac lives on a Studio Display or Pro Display XDR and sits at 100% all day. macOS now lets you cap charging at 80%, and its older Optimised Battery Charging tries to delay full charges with machine learning. Both help, and both are blunt: the limit is one fixed percentage with no sense of schedule or place, and Optimised Charging is invisible and out of your hands.
BatFi gives you the control they don't. Choose any limit and hold it indefinitely.
Change it automatically based on when and where you are. Charge to 100% the instant you need it.
And when you want to, run your Mac off the battery on purpose.

Key Features
Custom Charge Limit, Held Indefinitely
BatFi launches with your system and watches your battery level. Once it reaches your limit (yours to set, or 80% by default), the app stops charging while on AC power — and keeps holding it, for as long as you want. No machine-learning guesswork.
Automation by Time and Place
Set rules instead of a single number. Hold at 60% at your desk, top up to 90% before you head out, charge fully on weekends. Each rule can be gated by a schedule — a one-off date or repeating days and a time window — and by a location, with a map picker, address search, current-location, and an adjustable radius. Rules are an ordered list, so the top one that matches right now wins. The menu bar always shows which rule is active and the limit it's enforcing.
Informative Notifications
Stay aware when your charging mode changes — and when an automation rule is overriding your usual limit, BatFi tells you which rule and what limit it's applying. It'll also remind you when it's time to fully cycle the battery for calibration.
Charge to 100% – or Run on Battery – on Demand
Need a full charge before a flight? One click from the menu, or a global keyboard shortcut. Want to deliberately discharge to recalibrate or test? Switch to Run on Battery and BatFi drains the battery with the lid open.
Power Modes From the Keyboard
Toggle Low Power Mode, High Power Mode, or Automatic without opening System Settings. Assign a global hotkey and switch from anywhere.
Battery and Energy Insight
Click the status icon for the numbers macOS keeps buried: battery health, cycle count, temperature, time to full, time remaining, and a power-usage graph. BatFi also lists the apps using significant energy right now, so you know what to quit.
Native and Out of Your Way
A real macOS app — no Electron, no account. Configure it once and it runs quietly in the background, speaking up only when something changes. Localized into 14 languages.
FAQ
-
Search for an email from [email protected] with a subject line starting with “You bought BatFi.” and click the “View Content” button.
If you can’t find your license and are certain that you have one, please use the contact form and provide the email address you used for the purchase. If you used a temporary or fake email address, unfortunately, I won’t be able to assist you, and you will need to purchase the app again.
Please do not contact me about a license if you have not purchased the app.
-
The "Optimised Battery Charging" feature is designed to learn your habits and delay charging the battery to 100%. You cannot manually enable it or choose to keep the battery charged at a specific level.
On the other hand, BatFi works differently. The app allows you to set a user-chosen limit for charging the battery and maintain it indefinitely. With BatFi, you have the flexibility to decide when to charge the battery to 100% based on your usage needs.
-
There is a rule in the Mac App Store that prohibits any app requiring an admin password to function. BatFi requires this password to change the charging mode, and without it, the app cannot perform its intended function.
-
Support
-
First, ensure that the "app mode" is not set to "initializing."
If it is, please follow these steps:
1. Quit the app.
2. Navigate to
System Settings
General
Login Items
Click anywhere on the row saying BaFi.app in the “Allow in the Background”
3. Ensure that BatFi has the toggle switch turned on in the "Allow in the background" section.
4. Launch the app.
-
The app can manage the charging mode when it is active. However, when the Mac is turned off or goes to sleep, it won't function. There are a few workarounds:
First and foremost, avoid turning off the Mac unless necessary.
In the app settings enable: "Automatically pause charging when the Mac goes to sleep." For instance, if your battery is at 64% and you have set a limit to 70%, activating this option will cause the app to pause charging just before the system goes to sleep, and it will resume charging upon waking.
-
Unfortunately, there is no straightforward solution to this issue. Please follow these steps:
Standard Procedure:
Close and uninstall the app by moving BatFi.app to the trash and emptying it. If you have multiple copies, ensure all are deleted.
Exit System Settings if open, then reopen them.
Navigate to General -> Login Items.
In the "Allow in background" section, select "BatFi" from the list.
If it disappears, you're set to go. Download the app again, drag it to the /Applications folder, and open it. Complete the onboarding process, accessible through the More menu.
If BatFi does not disappear from the list after deletion, this indicates a bug in macOS.
Alternative Method:
Open the Terminal and execute the command: sfltool resetbtm, which resets the login items system. This command will ask for an administrator password.
After running the command, restart your Mac, reinstall BatFi, and complete the onboarding process again. This should resolve the issue.
-
Please contact me directly. Provide a license key and a screenshot with the installer. I will provide a workaround.
-
It seems macOS may have hidden BatFi’s status bar icon. There are two possible reasons for this:
1. Your menu bar might have too many icons, leaving no space for BatFi (it could be hidden behind the “notch”). Quitting some apps might reveal the “hidden” icons. To reorganize the icons and keep the most useful ones closer to the clock, hold the Command key and drag them. macOS will remember the order even after a restart.
2. You may have installed an app that hides menu bar icons, such as “Hidden Bar,” “Dozer,” or “Bartender.”
Please note that this issue is unrelated to BatFi itself and would occur with any app that displays a status bar icon.
-
Please complete the app’s onboarding process again. You can access it from the app’s menu under the “More” submenu.
-
BatFi works in the background and is notified by the system whenever the battery state changes (e.g., when the charging level increases from 10% to 11%). This design makes the app power-efficient. However, the updates are based on rounded values.
In other words, the app does not receive updates at the exact moment the charge changes from, say, 65.0% to 66.0%. It’s possible—and expected—for the operating system to report a charge level of 79% and then 81% two minutes later. This behavior is normal and nothing to worry about.
Please double-check the FAQ to save time.
Privacy Policy
By default, BatFi has enabled crash report reporting, which you can opt out of in the app’s settings under the General tab.
The crash reports are used to improve the app’s reliability. They contain information about the user’s hardware, software, and user identifiers.