A macOS menu bar app that monitors Homebrew updates and lets you upgrade packages directly from the tray.
Find a file
maxsoch 9131c88a64 detect running apps: skip their casks on upgrade, name them in the dialog
RunningApps maps installed casks to their .app bundles via the
Caskroom copy (no brew process needed) and checks them against
NSWorkspace's running applications. Two settings in a new "Running
apps" section: auto-upgrade skips running casks (on by default —
that flow has no dialog to warn anyone), manual bulk upgrades can opt
in. The auto-upgrade filter runs before the trigger decision so a
permanently running app cannot start an upgrade cycle that would skip
it anyway. The confirmation dialog now names the apps actually
running instead of a blanket warning, and stays silent when none are.
Single-package upgrades from the Outdated menu always proceed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 17:52:56 +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 detect running apps: skip their casks on upgrade, name them in the dialog 2026-07-14 17:52:56 +02:00
BrewBar.xcodeproj release 0.2 2026-07-13 23:24:08 +02:00
BrewBarTests detect running apps: skip their casks on upgrade, name them in the dialog 2026-07-14 17:52:56 +02:00
Casks release 0.2 2026-07-13 23:24:08 +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.