Update macOS apps and developer tools with one command. The script uses the package managers already installed on your Mac and skips missing tools.
Requires macOS and its built-in Bash. Install with Homebrew:
brew tap mzored/update-all-mac https://github.com/mzored/update-all-mac
brew install update-all-mac
update-all-macUpdates can close or relaunch apps. Save your work first. Homebrew may ask for an administrator password.
Pass options to update-all-mac:
--dry-runpreviews updates without changing packages.--only homebrew,masupdates only Homebrew packages and App Store apps.--doctorshows detected tools and their versions.--helplists all options and step IDs.
Full output goes to ~/Library/Logs/update-all-mac.log. Add --verbose to see it
in the terminal.
- Homebrew formulae and casks, except pinned packages.
- Mac App Store apps through mas.
- Global npm packages, pipx packages and uv tools.
- Oh My Zsh, Rust toolchains and crates, mise tools, asdf plugins and Google Cloud CLI.
The script also cleans unused package caches. --macos checks for system updates
without installing them.
- Reference for all options, automation and logs.
- Troubleshooting for installation and update problems.
- Development to run from source and check changes.
Report problems in GitHub issues. Include the failed step and relevant log output. Remove private information first.