A native macOS menubar app for managing Homebrew services.
- Service Management - View all Homebrew services at a glance
- One-Click Controls - Start, stop, and restart services instantly
- Bulk Actions - Start or stop all services at once
- Auto-Refresh - Services status updates every 30 seconds
- Visual Indicators - Color-coded status (running/stopped/error)
- Toast Notifications - Feedback for all actions
- Launch at Login - Option to start BrewBar automatically
- Native macOS - Built with SwiftUI, feels right at home
┌─────────────────────────────────┐
│ BrewBar ↻ ▶ ■ │
├─────────────────────────────────┤
│ ● postgresql@17 ▶■↻│
│ ● redis ▶■↻│
│ ○ mysql ▶■↻│
│ ○ nginx ▶■↻│
├─────────────────────────────────┤
│ ⚙ Quit │
└─────────────────────────────────┘
- macOS 13.0 (Ventura) or later
- Homebrew installed
brew install omkarkirpan/tap/brewbar
brewbargit clone https://github.com/omkarkirpan/BrewBar.git
cd BrewBar/BrewBar
swift build -c release
.build/release/BrewBargit clone https://github.com/omkarkirpan/BrewBar.git
cd BrewBar/BrewBar
./scripts/build-app.shThen either:
- Install to Applications:
cp -r BrewBar.app /Applications/ - Run directly:
open BrewBar.app
See macOS Security Notice if downloading pre-built releases.
BrewBar is distributed unsigned to keep it free and open-source.
If downloading the .app directly:
- macOS will show "Developer cannot be verified"
- Right-click the app → Open → Open (first time only)
- Or: System Settings → Privacy & Security → Open Anyway
Recommended: Install via Homebrew or build from source to avoid this entirely
- Launch - Open BrewBar from Applications or run directly
- Click - Click the ☕ mug icon in your menubar
- Manage - View services and use the action buttons:
- ▶ Start service
- ■ Stop service
- ↻ Restart service
- Settings - Click the ⚙ gear icon for:
- Launch at Login toggle
- About & author info
BrewBar supports command-line arguments:
# Show version
BrewBar --version
BrewBar -v
# Show help
BrewBar --help
BrewBar -hWhen launched without arguments, BrewBar runs as a menubar application.
Note: On first launch, BrewBar automatically enables "Launch at Login". You can disable this in Settings.
BrewBar/
├── Package.swift
├── BrewBar/
│ ├── BrewBarApp.swift # App entry point
│ ├── Models/
│ │ ├── ServiceStatus.swift # Service status enum
│ │ └── BrewService.swift # Service model
│ ├── Services/
│ │ ├── ShellExecutor.swift # Brew command execution
│ │ ├── BrewOutputParser.swift # Parse brew output
│ │ ├── BrewServiceManager.swift # Service state management
│ │ ├── ToastManager.swift # Notifications
│ │ ├── PollingManager.swift # Auto-refresh
│ │ └── LaunchAtLoginManager.swift # Login item
│ └── Views/
│ ├── MainPanel.swift # Main container
│ ├── HeaderView.swift # Header with actions
│ ├── ServiceListView.swift # Service list
│ ├── ServiceRowView.swift # Individual service row
│ ├── ToastView.swift # Toast notifications
│ └── SettingsView.swift # Settings & About
└── scripts/
└── build-app.sh # Build .app bundle
# Build debug version
swift build
# Run debug version
.build/debug/BrewBar
# Build release .app bundle
./scripts/build-app.sh
# Clean build
swift package clean- Swift 5.9+ - Modern Swift with async/await
- SwiftUI - Native macOS UI framework
- MenuBarExtra - macOS 13+ menubar API
- ServiceManagement - Login item management
- Actor isolation - Thread-safe shell execution
Omkar Kirpan
- GitHub: github.com/omkarkirpan
- Website: omkarkirpan.com
MIT License - see LICENSE file