Hi everyone,
Like many of you, I was disappointed to hear about the sunsetting of MacUpdater. I prefer keeping my system managed via Homebrew and terminal, so I wrote a set of Zsh scripts to fill that gap. After receiving positive feedback and feature requests on Reddit, I expanded it into a more robust toolkit.
It is completely free and open-source.
What makes this different? Unlike standard update checkers, this tool includes a Migration Utility. It scans your /Applications folder, identifies unmanaged apps (drag-and-drop installs), and attempts to match them with Homebrew Casks or Mac App Store IDs using heuristic matching (stripping version numbers, handling naming variations).
If a match is found, it offers to reinstall the app via brew or mas, effectively moving your existing software into a managed state without losing settings.
Key Features:
The migration utility scanning for unmanaged apps.
The SwiftBar menu showing status.
Source Code & Download: The code is fully transparent—it's just Zsh. You can review exactly what it does before running it.
Note: Currently, apps running as iPad/iPhone wrappers on Apple Silicon are invisible to this tool due to mas CLI limitations.
Like many of you, I was disappointed to hear about the sunsetting of MacUpdater. I prefer keeping my system managed via Homebrew and terminal, so I wrote a set of Zsh scripts to fill that gap. After receiving positive feedback and feature requests on Reddit, I expanded it into a more robust toolkit.
It is completely free and open-source.
What makes this different? Unlike standard update checkers, this tool includes a Migration Utility. It scans your /Applications folder, identifies unmanaged apps (drag-and-drop installs), and attempts to match them with Homebrew Casks or Mac App Store IDs using heuristic matching (stripping version numbers, handling naming variations).
If a match is found, it offers to reinstall the app via brew or mas, effectively moving your existing software into a managed state without losing settings.
Key Features:
- Migration Wizard (setup_mac.sh):
- Detects unmanaged apps.
- Links them to Homebrew/MAS.
- Backs up the original .app and automatically restores it if the new installation fails (e.g., due to a hash mismatch or network error), ensuring no data loss.
- Monitoring Plugin: A SwiftBar plugin that runs quietly in the menu bar.
- Checks brew outdated and mas outdated.
- Shows a breakdown of pending updates (Formulae vs Casks vs App Store).
- Failover Redundancy: The script defaults to GitHub for self-updates but automatically switches to a Codeberg mirror if unreachable. This resilience was added after a rapid surge in stars and traffic triggered a temporary automated flag on my account (already unblocked by Github staff).
- Clean Uninstaller: Includes a dedicated script to safely remove the toolkit and logs if you decide not to keep it.
- macOS 12+ (Apple Silicon or Intel).
- Homebrew (script checks and helps set it up).
- SwiftBar (installed by script if not available).
Source Code & Download: The code is fully transparent—it's just Zsh. You can review exactly what it does before running it.
- GitHub: https://github.com/pr-fuzzylogic/mac_software_updater
- Codeberg (Mirror): https://codeberg.org/pr-fuzzylogic/mac_software_updater
Note: Currently, apps running as iPad/iPhone wrappers on Apple Silicon are invisible to this tool due to mas CLI limitations.