Hybrid GUI/CLI interface
Works for both Intel & Apple Silicon Macbooks
π https://battopt.buddha-path.top
English | δΈζ | ζ₯ζ¬θͺ | νκ΅μ΄ | EspaΓ±ol | FranΓ§ais | Deutsch | Italiano | Π£ΠΊΡΠ°ΡΠ½ΡΡΠΊΠ° | Π ΡΡΡΠΊΠΈΠΉ
π Snapshot Β Β (More Snapshots)
BattOpt features a hybrid GUI/CLI design with location-based Zone settings to setup charge limits separately for Home, Work, and Travel.

- Intuitive GUI: A clean, native interface for easy monitoring and setup.
- Robust CLI: Full control via macOS Terminal for power users and automation.
- Apple-Notarized: Verified by Apple for security and compatibility.
- Charge Limiter: Upper and lower limits to prevent high-voltage stress and frequent micro charging.
- Event-Triggered Logic: Operates only when capacity changes, keeping CPU idle most of the time.
- Sleep & Shutdown: Limits remain active during sleep and shutdown (macOS 14.6 and earlier).
- Bootcamp: Limiter is started before user login, making it work even in Bootcamp.
Convenient for users who use their MacBook as a desktop replacement.
- Level 0: Standard - Lid must be open for discharge or calibration.
- Level 1: Balanced - Allow discharge/calibration with the lid closed (external display will sleep).
- Level 2: Ultimate - External display stays active during discharge/calibration.
Automatically switch charge limits based on your location (Home/Work/Travel).
- Home/Work: π Setup up to 4 WiFi SSIDs per zone to auto-switch charge limits.
- Travel:
βοΈ A dedicated "loose" limit (e.g., 90%) for when you are on the go and need more capacity.
- Full Cycle Automation: Discharge to 15% β Charge to 100% β 1-hour rest β Discharge to limit.
- Flexible Scheduling: Setup routines based on fixed monthly days or weekday intervals.
- Smart Resume: Calibration automatically pauses if AC power is detached and resumes once reconnected.
- Overheat Protection: Automatic charging suspension if the temperature exceeds specified threshold.
BattOpt maintains persistent logs to help you track health trends:
- Daily Log: Records health percentage, cycle counts, and capacity.
- Calibrate Log: A dedicated history of all automated calibration attempts.
| Component | Intel Macs | Apple Silicon (M1/M2/M3/M4) |
|---|---|---|
| GUI | macOS 11+ | macOS 11+ |
| CLI | macOS 10.12+ | macOS 11+ |
All users enjoy a 90-day free trial of Pro features immediately after installation. No credit card required to start the trial.
| Feature | Free | Pro |
|---|---|---|
| Charge Limiter (Upper/Lower) | β | β |
| Manual Calibration | β | β |
| Scheduled Calibration | β | β |
| Bootcamp & Reboot Support | β | β |
| Overheat Protection | β | β |
| Clamshell Mode Support | β | β |
| Zone Awareness (Home/Work/Travel) | β | β |
| Smart Resume Calibration | β | β |
Unlock the full potential of your MacBook battery management. Purchase & Activate Pro via Polar
Note: Please verify all features meet your expectations before purchase.
Download the latest .dmg installer from the Releases Page.
brew install --cask js4jiang5/battopt/battoptcurl -sSL "https://raw.githubusercontent.com/js4jiang5/BattOpt/main/install.sh" | bashTo ensure BattOpt functions correctly, please adjust the following macOS settings:
Avoid conflicts with native macOS battery management:
- Go to System Settings > Battery > Battery Health.
- Click the β icon and toggle OFF "Optimized Battery Charging".
To ensure you receive status alerts successfully:
- System-wide: Enable "Allow notifications when mirroring or sharing" in System Settings > Notifications.
- For CLI Users: Go to System Settings > Notifications > Script Editor and set the alert style to Alerts.
- For GUI Users: We recommend setting BattOpt notifications to Alerts for better visibility.
π» Quick Start for CLI Users Β Β (Full Usage)
battopt limit 80 20 # Set limits: stop at 80%, resume at 20%
battopt limit disable # Disable limiter and charge to 100%
battopt status # View current battery status and active limits
battopt calibrate # Start full calibration cycle
battopt calibrate stop # Cancel active calibration
battopt discharge 50 # Force discharge to 50%
battopt charge 80 # Force charge to 80%
# Schedule calibration on the 6th and 21st at 21:30 every month
battopt schedule day 6 21 hour 21 minute 30
# Define "Work" zone by Wi-Fi SSIDs and set custom limits
battopt zone work ssid "Office_5G" "Office_Guest"
battopt zone work limit 80 60
Note: These commands can be entered in the macOS Terminal or directly into the Command Input box within the BattOpt GUI.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Distributed under the MIT License. See LICENSE for more information.
Note: The BattOpt brand name and logo are proprietary assets. All rights reserved.
BattOpt uses low-level system calls to manage your Mac's battery health. While extensively tested on M1 and older Intel MacBooks, it is provided "AS IS" without any warranty. By using BattOpt, you acknowledge that you are doing so at your own risk. The developer shall not be held liable for any hardware damage or data loss resulting from the use of this software.