Highlights
- Experimental GUI (file an issue if you find bugs)



- Experimental macOS 26 Tahoe compatibility. To report compatibility issues, go to #34
Installation
GUI version
- Download
.dmg
and open it (right-click open if macOS says it's damaged) - Drag
batt.app
toApplications
- macOS may say it's damaged when you try to run it (it's NOT) and wants you to move it to trash. To fix it, run this in Terminal:
sudo xattr -r -d com.apple.quarantine /Applications/batt.app
. - Run
batt.app
. - Follow the MenuBar UI to install or upgrade.
- Disable macOS's optimized charging:
System Settings
->Battery
->Battery Health
->i
-> Trun OFFOptimized Battery Charging
CLI version
Note
Command-Line version is already included if you have installed the GUI version.
Option 1: Installation Script (Recommended)
bash <(curl -fsSL https://github.com/charlie0129/batt/raw/master/hack/install.sh)
Option 2: Homebrew (If you prefer Homebrew)
brew install batt
sudo brew services start batt
Upgrade
GUI version
Just follow the installation steps again. After you open the new version of batt.app, click Upgrade Daemon...
upgrade to the new daemon.
CLI version
Please use the same method (Installation Script / Homebrew) as you installed to upgrade batt. Using both methods will cause conflicts. If you don't remember how you installed it, you can check the binary location by running which batt
. If it is in /usr/local/bin
, you probably used the installation script. If it is in /opt/homebrew/bin
, you probably used Homebrew.
Option 1: Installation Script
bash <(curl -fsSL https://github.com/charlie0129/batt/raw/master/hack/install.sh)
# Yes, the command is the same as installing.
Option 2: Homebrew
brew update
sudo brew services stop batt
brew upgrade batt
sudo brew services start batt
Compatibility Matrix
GUI | CLI (Prebuilt) | CLI (Build from Source) | |
---|---|---|---|
macOS Big Sur (11) | ❌ | ❌ | ✅ |
macOS Monterey (12) | ❌ | ✅ | ✅ |
macOS Ventura (13) | ✅ | ✅ | ✅ |
macOS Sonoma (14) | ✅ | ✅ | ✅ |
macOS Sequoia (15) | ✅ | ✅ | ✅ |
macOS Tahoe (26) | ⚠️ | ⚠️ | ⚠️ |
- ❌: Unsupported
- ✅: Supported
- ⚠️: Partially supported, more tests are needed to verify the compatibility. Read #34 for details.
What's Changed
- Reset configuration file to default if the file is empty by @frothedoatmilk in #30
- Add menu bar application and improve CLI features by @pichxyaponn in #39
- refactor: organize codebase by @charlie0129 in #43
- refactor: merge gui into main batt binary by @charlie0129 in #45
- feat: use native appkit to refactor gui by @charlie0129 in #46
- refactors and simplifies codebase by @pichxyaponn in #50
- feat: add smc keys for macos tahoe by @charlie0129 in #52
New Contributors
- @frothedoatmilk made their first contribution in #30
- @pichxyaponn made their first contribution in #39
Full Changelog: v0.3.7...v0.4.0