
Brew Updates
A scheduled Bash script that keeps Homebrew updated, backed up, health-checked and scanned for vulnerabilities, with a native macOS app on top for viewing results and acting on them. It runs entirely on your Mac, so instead of a live site here is a tour of the app.

What It Does
- •Unattended updates: a launchd LaunchAgent runs the script daily at 3 AM to update Homebrew, upgrade outdated formulae and casks (respecting pins and exclusions), and clean up.
- •Safety net: a Brewfile backup is taken before every run, runs never overlap thanks to a run lock, and network calls retry with backoff.
- •Health and security reports: every run saves a brew doctor report, a Grype vulnerability scan of the Cellar, a brew vulns (OSV.dev) scan, and a list of deprecated or disabled packages.
- •Machine-readable results: each run writes a JSON summary and sends a macOS notification that links straight back to that run in the app.
- •Housekeeping visibility: the app surfaces leftover packages nothing needs any more, packages Homebrew is retiring, and packages with security issues worth upgrading, replacing or removing.
- •The app never upgrades packages itself. Update All, Dry Run and Upgrade Selected all launch the same deployed script, so every run gets the same backup, lock, logs and summary as a scheduled run.
Screens
Click any screenshot to view it full size

Dashboard
Last run, schedule, outdated count, Grype and brew vulns counts side by side, open doctor issues, and system and app versions.

Installed
Formulae and casks with their dependencies. Pin, exclude, upgrade selected, or uninstall with dependency warnings.

Runs
Every run's summary and log, plus live output with a Stop button for runs started from the app.

Security
Findings from Grype and brew vulns with a severity filter, a per-scanner trend chart, and on-demand Scan Now.

Doctor
Each brew doctor warning explained with copyable fixes, plus deprecated or disabled packages with suggested replacements.

Backups
Compare a Brewfile backup with what is installed or the previous backup, and restore missing taps, formulae and casks.