A comprehensive, modular performance optimization toolkit for macOS — designed especially for Intel Macs running macOS Sequoia and later.
Want to get started in 60 seconds? Check out QUICKSTART.md for the fastest path to optimization.
# Clone, install, and optimize in three commands
git clone https://github.com/XoniBlue/MacTweaks.git
cd MacTweaks
./install.sh && mactweaks --apply-profile balanced- Overview
- Features
- Requirements
- Installation
- Usage
- Modules
- Safety & Reverting
- Before & After Reports
- Documentation
- Folder Structure
- FAQ
- Troubleshooting
- Future Plans
- Contributing
- License
MacTweaks is a shell-based toolkit that optimizes macOS performance by disabling unnecessary background services, reducing visual overhead, and tuning system preferences. It's particularly effective on older Intel Macs where every bit of CPU and memory matters.
All changes are fully reversible — no system files are modified, only user preferences, power settings, and background daemons.
- Breathe new life into aging hardware — Reduce CPU usage by disabling Spotlight indexing, Siri, analytics, and more
- Faster UI responsiveness — Eliminate animation delays, reduce transparency, and streamline Finder
- Extend battery life — Smart power management tweaks for portable Macs
- Full transparency — Every command is documented in MODULES.md
- Safe & reversible — One command reverts everything back to stock macOS
- Modular architecture — Apply or revert individual tweaks independently
- Curated Profiles — Pre-configured optimization bundles (
max,balanced,battery) - Modular Architecture — 26 independent modules for fine-grained control
- Interactive Menu — User-friendly TUI for those who prefer guided setup
- Before/After Reports — Automatic comparison reports showing exactly what changed
- Automatic Backups — Preferences are backed up before modifications
- Intel & Apple Silicon Support — Optimized for both architectures (Intel sees the biggest gains)
- Post-Reboot Reporting — A Terminal window opens after reboot with a clean diff report
- Dry-Run Mode — Preview changes without applying them
- Professional Installation — Easy system-wide or user-only install with
install.sh - Complete Uninstallation — Clean removal with optional settings revert via
uninstall.sh
| Requirement | Details |
|---|---|
| macOS Version | macOS Sequoia (15.x) recommended; compatible with Sonoma (14.x) and earlier |
| Architecture | Intel (x86_64) or Apple Silicon (arm64) |
| Privileges | Administrator access required for system-level tweaks |
| Shell | Bash 3.2+ (ships with macOS) |
git clone https://github.com/XoniBlue/MacTweaks.git
cd MacTweaks
chmod +x install.sh
./install.shThe installer will guide you through:
- System-wide installation (
/usr/local/bin) - requires sudo, available to all users - User-only installation (
~/.local/bin) - no sudo needed, current user only - Skip installation - use directly with
./bin/mac-tweaks.sh
git clone https://github.com/XoniBlue/MacTweaks.git
cd MacTweaks
chmod +x bin/mac-tweaks.sh
./bin/mac-tweaks.shgit clone https://github.com/XoniBlue/MacTweaks.git && cd MacTweaks && chmod +x install.sh && ./install.shAfter installation, you can run:
mactweaks # If installed system-wide or ~/.local/bin is in PATH
./bin/mac-tweaks.sh # Direct execution without installationSimply run the script without arguments to launch the interactive menu:
mactweaks
# or
./bin/mac-tweaks.shThe menu provides guided access to all features:
- Apply Profile — Choose from
max,balanced, orbattery - Revert Profile — Undo changes from a specific profile or revert all
- Apply Individual Module — Fine-grained control over specific tweaks
- Generate Report Now — Instant before/after comparison (no reboot required)
- List Modules — View all available optimization modules
- Export Latest Report — Copy report to Desktop for easy sharing
- Dry-run Profile — Simulate changes without applying
- Help — Display usage information
- Uninstall — Remove toolkit state and launch agents
- Quit — Exit the program
For scripting and automation, use command-line flags:
# Display help
mactweaks --help
# Apply a profile
mactweaks --apply-profile max
mactweaks --apply-profile balanced
mactweaks --apply-profile battery
# Revert a specific profile
mactweaks --revert-profile max
# Revert ALL changes (restore stock macOS)
mactweaks --revert-profile all
# Apply/revert a single module
mactweaks --module spotlight --apply
mactweaks --module spotlight --revert
# Generate a report immediately
mactweaks --report
# List all available modules
mactweaks --list-modules
# Uninstall toolkit state
mactweaks --uninstall
# Enable debug output
mactweaks --debug --apply-profile maxMacTweaks includes pre-configured profiles for different use cases:
| Profile | Description | Best For |
|---|---|---|
max |
Maximum performance — disables everything non-essential | Desktop Intel Macs, older MacBooks plugged in |
balanced |
Performance gains while preserving iCloud, Continuity, and AirDrop | Daily drivers, mixed use (⭐ Recommended) |
battery |
Conservative tweaks focused on power savings | MacBooks on battery power |
dryrun |
Preview mode — shows what would change without applying | Testing, learning |
| Module | max | balanced | battery |
|---|---|---|---|
| Spotlight | ✓ | ✓ | |
| Siri | ✓ | ||
| Analytics | ✓ | ✓ | |
| UI Animations | ✓ | ✓ | ✓ |
| Live Activities | ✓ | ||
| Text Autocorrect | ✓ | ✓ | |
| Time Machine Local | ✓ | ✓ | |
| Photos Analysis | ✓ | ✓ | |
| Finder Tweaks | ✓ | ✓ | ✓ |
| iCloud Save Default | ✓ | ||
| Visual Effects | ✓ | ✓ | ✓ |
| App Nap | ✓ | ✓ | |
| QuickLook Cache | ✓ | ✓ | ✓ |
| Power Nap / TCP | ✓ | ✓ | ✓ |
| AirDrop | ✓ | ||
| Handoff | ✓ | ||
| Auto Updates | ✓ | ||
| Window Shadows | ✓ | ✓ | ✓ |
| Apple Intelligence | ✓ | ✓ | |
| Maintenance | ✓ | ✓ | ✓ |
| Login Items Audit | ✓ | ||
| Low Power Mode | ✓ | ✓ |
Need help choosing? See MODULE_DEPENDENCIES.md for detailed recommendations.
MacTweaks is built around 26 independent modules, each handling a specific optimization:
| Module | Description |
|---|---|
spotlight |
Disables Spotlight indexing and search suggestions |
ui |
Removes Dock/window animation delays for snappier feel |
finder |
Optimizes Finder: faster animations, path bar, no .DS_Store on network |
quicklook |
Clears QuickLook thumbnail cache |
appnap |
Disables App Nap for consistent app performance |
shadows |
Disables window drop shadows |
visual |
Reduces motion and transparency (manual setting on Sequoia) |
| Module | Description |
|---|---|
analytics |
Disables Apple analytics and diagnostic reporting |
siri |
Disables Siri and related assistant services |
appleintelligence |
Disables Apple Intelligence features (macOS 15+) |
live |
Disables Live Activities tracking |
| Module | Description |
|---|---|
icloud |
Prevents new documents from saving to iCloud by default |
photos |
Disables Photos face/scene analysis daemon |
handoff |
Disables Handoff/Continuity features |
airdrop |
Disables AirDrop discovery |
| Module | Description |
|---|---|
pmset |
Disables Power Nap and TCP keepalive for battery savings |
powermode |
Enables Low Power Mode on battery |
timemachine |
Disables local Time Machine snapshots |
| Module | Description |
|---|---|
text |
Disables spell check, autocorrect, and text completion |
| Module | Description |
|---|---|
updates |
Disables automatic update checks |
maintenance |
Runs system maintenance: flush DNS, periodic scripts, log cleanup |
loginitems |
Lists current login items for audit |
backup |
Backs up current Finder, Dock, and Global preferences |
| Module | Description |
|---|---|
updatecheck |
Displays informational update messages |
exportreport |
Copies the latest report to Desktop |
dryrun |
Simulation mode for testing |
For the exact commands each module executes, see MODULES.md.
All changes are fully reversible. MacTweaks only modifies:
- User preference files (
defaults write) - Power management settings (
pmset) - Launch daemons/agents (
launchctl)
No system files are touched. No SIP modifications required.
Via Interactive Menu:
- Run
mactweaks - Select 2) Revert profile
- Choose 4) all to restore stock settings
Via Command Line:
mactweaks --revert-profile allRevert a specific profile only:
mactweaks --revert-profile maxTo remove MacTweaks completely (with optional settings revert):
./uninstall.sh
# or
mactweaks --uninstall # (removes data only, not settings)The uninstaller offers:
- Full uninstall - Remove files + revert all settings to stock
- Files only - Remove MacTweaks files, keep current settings
MacTweaks automatically captures system state before and after applying changes:
- Pre-change snapshot — Captures current settings
- Post-reboot comparison — A Terminal window opens after restart showing a clean diff
- Manual reports — Generate anytime via Menu → 4 or
--report
Reports include:
- Spotlight indexing status
- Power management settings (pmset)
- Top CPU processes
- Memory statistics
- Disk I/O metrics
- Thermal/fan data (when available)
mactweaks
# Select: 6) Export latest report to DesktopReports are saved with timestamps for easy comparison over time.
MacTweaks includes comprehensive documentation:
| Document | Description |
|---|---|
| QUICKSTART.md | Get started in 60 seconds — the fastest path to optimization |
| MODULES.md | Complete module reference with exact commands executed |
| MODULE_DEPENDENCIES.md | Module combinations, dependencies, and recommendations |
| CHANGELOG.md | Version history and release notes |
| ERROR_HANDLING_IMPROVEMENTS.md | Technical guide for improving code robustness |
MacTweaks/
├── bin/
│ └── mac-tweaks.sh # Main entry point
├── lib/
│ ├── config.sh # Configuration constants
│ ├── detect.sh # Hardware/OS detection
│ ├── help.sh # Help screen text
│ ├── logging.sh # Colored logging utilities
│ ├── menus.sh # Interactive menu system
│ ├── postreboot.sh # Post-reboot report handler
│ ├── profiles.sh # Profile definitions
│ ├── reports.sh # Report generation
│ ├── snapshots.sh # System state snapshots
│ ├── sudo_keepalive.sh # Sudo session management
│ └── utils.sh # Shared utilities
├── modules/
│ ├── airdrop.sh # AirDrop toggle
│ ├── analytics.sh # Analytics toggle
│ ├── appleintelligence.sh # Apple Intelligence toggle
│ ├── appnap.sh # App Nap toggle
│ ├── backup.sh # Preferences backup
│ ├── customprofile.sh # Custom profile support
│ ├── dryrun.sh # Dry-run preview
│ ├── exportreport.sh # Report export
│ ├── finder.sh # Finder optimizations
│ ├── handoff.sh # Handoff toggle
│ ├── icloud.sh # iCloud defaults
│ ├── live.sh # Live Activities toggle
│ ├── loginitems.sh # Login items audit
│ ├── maintenance.sh # System maintenance
│ ├── photos.sh # Photos daemon toggle
│ ├── pmset.sh # Power settings
│ ├── powermode.sh # Low Power Mode
│ ├── quicklook.sh # QuickLook cache
│ ├── shadows.sh # Window shadows
│ ├── siri.sh # Siri toggle
│ ├── spotlight.sh # Spotlight toggle
│ ├── text.sh # Text correction toggle
│ ├── timemachine.sh # Time Machine local
│ ├── ui.sh # UI animations
│ ├── updatecheck.sh # Update info
│ ├── updates.sh # Auto-updates toggle
│ └── visual.sh # Visual effects
├── install.sh # Installation script
├── uninstall.sh # Uninstallation script
├── README.md # This file
├── QUICKSTART.md # Quick start guide
├── MODULES.md # Detailed module reference
├── MODULE_DEPENDENCIES.md # Module relationships guide
├── CHANGELOG.md # Version history
└── LICENSE # MIT License
No. All changes are to user-level preferences and can be fully reverted. System Integrity Protection (SIP) remains enabled. MacTweaks doesn't modify system files.
Yes, but the performance impact is smaller. Apple Silicon Macs are already highly optimized. Intel Macs benefit the most (10-30% improvement vs 5-15% on Apple Silicon).
macOS Sequoia restricts programmatic access to certain accessibility settings. You'll need to enable these manually: System Settings → Accessibility → Display → Reduce Motion / Reduce Transparency
Not yet in the UI, but you can call individual modules via --module <name> --apply. Custom profile support is planned. See MODULE_DEPENDENCIES.md for recommended combinations.
Run mactweaks --report or use the automatic post-reboot report that appears in Terminal. All changes are also logged to:
~/Library/Application Support/MacTweaks/logs/toolkit_YYYY-MM-DD.log
MacTweaks doesn't access, read, or modify your personal data. It only changes system preferences and toggles background services. Everything is transparent and documented.
Use individual modules instead of profiles:
mactweaks --module ui --apply
mactweaks --module spotlight --apply
# etc.Or create your own combination based on MODULE_DEPENDENCIES.md.
Intel Macs:
- CPU usage: 10-30% reduction
- Battery life: 20-40% improvement (laptops)
- UI responsiveness: 2-3x faster (perceived)
- Thermals: Noticeably cooler, quieter fans
Apple Silicon:
- UI responsiveness: 5-15% improvement
- Battery life: 10-15% improvement
- CPU/thermal: Minimal (already optimized)
Yes! Install on each Mac. Profiles are customized per machine. You can use different profiles for different machines (e.g., max on desktop, balanced on laptop).
You didn't install the toolkit. Either:
./install.sh # Install properly
# OR
./bin/mac-tweaks.sh # Run directlyIf installed to ~/.local/bin, make sure it's in your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcRun with proper permissions:
chmod +x install.sh
chmod +x bin/mac-tweaks.sh
./install.shRevert the spotlight module:
mactweaks --module spotlight --revertOr use an alternative like Alfred or Raycast.
Revert the powermode module:
mactweaks --module powermode --revertYou'll still get battery savings from the pmset module.
Some changes require a restart. The toolkit prompts for reboot automatically. If you skipped it:
sudo shutdown -r nowGenerate a report:
mactweaks --reportOr check the log files:
cat ~/Library/Application\ Support/MacTweaks/logs/toolkit_*.logThe LaunchAgent may not have triggered. Manually check:
ls ~/Library/LaunchAgents/com.mactweaks.postreboot.plistIf missing, the post-reboot task already ran or was cancelled. Reports are saved to:
~/Library/Application Support/MacTweaks/reports/Uninstall and remove all data:
./uninstall.sh --full --forceThen reinstall if desired:
./install.sh- Platypus .app wrapper — Double-clickable GUI version
- Custom user profiles — Save and load your own module combinations
- Menu bar monitor — Real-time system status widget
- Homebrew installation —
brew install mactweaks - Profile import/export — Share configurations between Macs
- Web dashboard — Browser-based control panel
- Scheduled optimizations — Automatic daily/weekly maintenance
- Rollback snapshots — Time Machine-style restore points
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the existing style and includes appropriate documentation.
- Follow the existing module structure (
m_<name>_apply/m_<name>_revert) - Add comprehensive header comments to all new modules
- Test on both Intel and Apple Silicon if possible
- Update MODULES.md with any new modules
- Add entries to CHANGELOG.md
Real-world improvements from users:
| Metric | Intel Mac | Apple Silicon |
|---|---|---|
| CPU Usage (Idle) | ↓ 15-30% | ↓ 5-10% |
| Battery Life | ↑ 30-50% | ↑ 10-20% |
| Fan Noise | ↓ 60-80% | ↓ 20-30% |
| UI Responsiveness | ↑ 200-300% | ↑ 50-100% |
| Boot Time | ↓ 10-20% | ↓ 5-10% |
Results vary based on hardware, macOS version, and profile used.
MIT License — feel free to use, modify, and share.
See LICENSE for details.
- Inspired by: Various macOS optimization guides and power user tips
- Community: Thanks to all contributors and issue reporters
- Testing: Intel Mac owners who provided feedback on thermal improvements
Made with care for older Intel Macs still fighting the good fight in 2025.
⭐ Star on GitHub · 📖 Full Documentation · 🚀 Quick Start · ❓ Report Issues