Brew Updates app icon: a beer mug with a green upgrade arrow

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.

Desktop Application
macOS 15+
Active
Animated tour of the Brew Updates app: Dashboard, Installed, Runs, Security, Doctor and Backups
A quick tour cycling through every screen 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

Brew Updates Dashboard screen

Dashboard

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

Brew Updates Installed screen

Installed

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

Brew Updates Runs screen

Runs

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

Brew Updates Security screen

Security

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

Brew Updates Doctor screen

Doctor

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

Brew Updates Backups screen

Backups

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

Tech Stack

Swift 6SwiftUISwift ChartsBashHomebrewlaunchdGrypeOSV.devXcodeGenShellCheckSwiftLintGitHub Actions