A macOS menu bar app that monitors Homebrew updates and lets you upgrade packages directly from the tray.
Find a file
maxsoch 29501abcd6 show the updating icon during upgrades and cleanup, not just checks
Only fetchOutdated ever touched the menu bar icon, so during an
upgrade it kept showing "updates available". Every long-running
operation now sets the updating icon when it starts; paths that end
without a refetch (cleanup, failed refresh) restore the icon of the
last known state via a new cachedStateIcon() helper. Single-package
upgrades also gained a status line, they showed nothing before.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 19:08:59 +02:00
.claude/skills add dev tooling from /init: swiftlint, skills, gitignore; apply swiftformat 2026-07-06 21:07:17 +02:00
asset addind logo as asset 2026-06-30 17:47:46 +02:00
BrewBar show the updating icon during upgrades and cleanup, not just checks 2026-07-13 19:08:59 +02:00
BrewBar.xcodeproj re-release as 0.1: app is still pre-release quality 2026-07-09 18:52:17 +02:00
BrewBarTests fetch outdated as JSON; auto-upgrade only for matching package kinds 2026-07-06 22:27:37 +02:00
Casks re-release as 0.1: app is still pre-release quality 2026-07-09 18:52:17 +02:00
.gitignore add Homebrew cask so BrewBar installs via brew 2026-07-07 06:21:39 +02:00
.swiftlint.yml add dev tooling from /init: swiftlint, skills, gitignore; apply swiftformat 2026-07-06 21:07:17 +02:00
LICENSE Initial commit 2026-06-30 15:16:27 +00:00
README.md update README: features, brew install, build instructions 2026-07-07 06:41:18 +02:00
RELEASING.md re-release as 0.1: app is still pre-release quality 2026-07-09 18:52:17 +02:00

BrewBar's logo

BrewBar

A macOS menu bar app that monitors Homebrew updates and lets you upgrade packages directly from the tray.

Features

  • 🔄 Periodic update checks — configurable from 30 minutes to 24 hours, or any custom interval
  • 📋 Outdated package list with versions (wget 1.21 → 1.22), one-click single upgrades
  • 📦 Upgrade All, with an optional confirmation dialog
  • 🤖 Optional auto-upgrade, separately configurable for formulae and casks
  • 👀 Self-updating casks (--greedy) included in checks, can be disabled
  • 🔔 Optional notification when new updates appear
  • 🔢 Optional outdated count next to the menu bar icon
  • 🔑 Native password dialog naming the app when an upgrade needs admin rights
  • 📜 Log window with the full brew output
  • ⚙️ Launch at login

Install

brew tap maxsoch/brewbar https://forgejo.socheleau.fr/maxsoch/BrewBar.git
brew install --cask maxsoch/brewbar/brewbar
xattr -dr com.apple.quarantine /Applications/BrewBar.app

The xattr line is needed because the app is not notarized — without it, Gatekeeper blocks the app on any Mac that didn't build it. Repeat it after upgrades.

Requires: macOS 13+ (Ventura) and Homebrew.

Build from source

git clone https://forgejo.socheleau.fr/maxsoch/BrewBar.git
cd BrewBar
xcodebuild -project BrewBar.xcodeproj -scheme BrewBar -configuration Release -destination "platform=macOS" build SYMROOT=build
open build/Release/BrewBar.app

No dependencies — plain AppKit, no SPM/CocoaPods/Carthage.

Releases are documented in RELEASING.md.