Today, I’d like to announce Homebrew 4.6.0.
The most significant changes since 4.5.0 are opt-in concurrent downloads with HOMEBREW_DOWNLOAD_CONCURRENCY, preliminary macOS 26 (Tahoe) support and a built-in brew mcp-server.
Major changes and deprecations since 4.5.0:
HOMEBREW_DOWNLOAD_CONCURRENCYis a new environment variable that allows opt-in to Homebrew’s new download concurrency support. We recommend usingHOMEBREW_DOWNLOAD_CONCURRENCY=autoas a starting point. This will become the default behaviour in a later version of Homebrew (with an opt-out).- Homebrew provides preliminary macOS 26 (Tahoe) support. It will be officially supported after Apple’s public release.
brew mcp-serveris an MCP server for Homebrew and is available in Homebrew by default.- Miscellaneous additional code deprecations, disables and removals scheduled for Homebrew 4.6.
Other changes since 4.5.0 I’d like to highlight are the following:
- All repositories in the Homebrew organisation, including e.g. Homebrew/brew,
Homebrew/homebrew-cask and
Homebrew/homebrew-core, now use
mainas their default branch. - All casks submitted in Homebrew/homebrew-cask must be signed. We have not yet completed the process of disabling/removing those that aren’t but this will happen at some point in the future.
- Homebrew prohibits non-ASCII characters in URLs.
- Homebrew now allows users in Tier 2/3 to file some types of issues.
- Homebrew’s
.pkgand official/shell installers will now add Homebrew to the defaultPATHif possible. - Third-party Homebrew GitHub Packages mirrors that do not require authentication now work as expected.
HOMEBREW_FORBID_CASKSis a new environment variable that forbids all casks.HOMEBREW_VERIFY_ATTESTATIONSmust be explicitly set again, even forHOMEBREW_DEVELOPERs.brewno longer copies across zeroed environment-variable values.brewresets thesudotimestamp later so it’s not done by e.g.brew --prefixorbrew shellenvbut remains done by e.g.brew install.brew --debugoutput is a bit quieter by default.brew bundleno longer uses thebrew tap --force-auto-updateoption as it was removed.brew bundlebetter handles cask renames forbrew bundleandbrew bundle dump.brew bundlerefers to “formulae” rather than “brews” for consistency with other parts of Homebrew.brew bundle addwill create aBrewfileif it doesn’t exist.brew cleanupdoesn’t warn when loading a renamed cask.brew installoutputs a better error message when there are tap conflicts.brew install --askwill also prompt before installing casks.brew uninstallwon’t suggest deleting configuration files that belong to other formulae.brew updatedisplays descriptions for new formulae and casks.brew updatewill migrate taps frommastertomainwhen necessary.brew pinreturns a non-zero exit code if pinning formulae that are not installed.brew shandbrew bundle shuse more of the user’s configuration but provide a custom prompt.brew auditensures that official formula and cask names don’t conflict.brew depsoutputs a warning when runtime dependencies are not used (so results may be inconsistent or confusing).env_script_all_filesin formulae won’t overwrite existing files.
Finally:
- Homebrew is now on Bluesky.
- Homebrew accepts donations through GitHub Sponsors and still accepts donations through Patreon. If you can afford it, please consider donating. If you’d rather not use GitHub Sponsors or Patreon (our preferred donation methods), check out the other ways to donate in our README.
Thanks to all our hard-working maintainers, contributors, sponsors and supporters for getting us this far.