Homebrew/BrewUI
Summary
BrewUI is Homebrew's official macOS GUI that provides a graphical interface for package management while maintaining complete transparency with underlying Homebrew operations.
View Cached Full Text
Cached at: 09/15/26, 02:32 PM
Homebrew/BrewUI
Source: https://github.com/Homebrew/BrewUI
🧑💻 BrewUI
Homebrew’s official macOS GUI: making package management approachable for users who prefer graphical interfaces over Terminal, while maintaining complete transparency about underlying Homebrew operations.
💡 Motivation
Enable CLI-averse users to safely discover, install, update, and manage Homebrew packages through a native SwiftUI interface that never hides what Homebrew is doing.
📲 Tech
- Swift 6.0 with strict concurrency · SwiftUI · Swift Package Manager
- macOS Tahoe 26+
- Data from the
brewCLI and the Homebrew JSON API
📦 Installation
brew install --cask homebrew-app
Homebrew configuration
BrewUI always launches Homebrew through /bin/zsh, including app self-upgrades. It disables
optional user and system shell startup files with --no-rcs --no-global-rcs and supplies a clean environment.
PATH contains only the directory of the located brew executable followed by /usr/bin:/bin.
Your login shell, shell aliases, exported variables and custom PATH do not configure Homebrew in BrewUI.
Put your Homebrew configuration variables in brew.env files. Homebrew reads these itself:
| Scope | File |
|---|---|
| User | ~/.homebrew/brew.env |
| Installation | <Homebrew prefix>/etc/homebrew/brew.env |
| System | /etc/homebrew/brew.env |
For example, add this line to ~/.homebrew/brew.env:
HOMEBREW_NO_ENV_HINTS=1
Use literal NAME=value lines without export, shell expansion or command substitution.
User settings normally override installation settings, which override system settings.
HOMEBREW_SYSTEM_ENV_TAKES_PRIORITY=1 in the system file makes that file take precedence.
See Homebrew’s environment documentation.
An XDG_CONFIG_HOME exported by your shell is also ignored; use the user file above.
Relaunch BrewUI after changing configuration, then check the Configuration tab. Its report and Doctor describe Homebrew’s environment in the app and may differ from Terminal. BrewUI still sets output controls for its console and self-upgrade log.
System zsh always reads /etc/zshenv, if present; its execution cannot be disabled.
BrewUI clears the environment again afterwards and discards startup output so banners do not
reach Homebrew’s reports or the console. If startup fails before Homebrew runs, its diagnostics are retained.
See zsh’s startup-file documentation.
🛠️ Development
After cloning:
./scripts/bootstrap
This installs Mint from Brewfile, runs mint bootstrap to build the SwiftFormat and SwiftLint versions pinned in Mintfile, enables repository git hooks, and resolves Swift package dependencies for Homebrew.xcodeproj.
After bootstrap, commits automatically run checks on staged Swift files:
mint run swiftformatmint run swiftlint(with--fix, then strict validation)
If unresolved lint violations remain, the commit is blocked and the hook prints specific SwiftLint failures so you can fix and re-commit.
🚧 Status
Stable and under active development.
📄 Licence
AGPL-3.0. If you reuse or adapt the source the AGPL terms apply, including the network-use clause.
Similar Articles
Homebrew 7.0.0
Homebrew 7.0.0 has been released with major improvements including faster installations, enhanced security features, a native macOS app, and changes to support for older macOS versions and Intel Macs.
Show HN: Homebrew 6.0.0
Homebrew 6.0.0 introduces tap trust security, a new default internal JSON API for faster updates, Linux sandboxing via Bubblewrap, and various improvements based on user survey feedback.
Brew
Brew is a tool that uses a design similar to Claude for email marketing.
Show HN: Davit, a Apple Containers UI
Davit is a free, open-source native macOS app built with SwiftUI that provides a UI for Apple's container platform on Apple silicon, allowing users to run Linux containers without Docker Desktop.
GitSync for macOS
A graphical interface for managing GitHub repositories on macOS.