brew doctor output
❯ brew doctor
Your system is ready to brew.
Verification
brew config output
❯ brew config
HOMEBREW_VERSION: 4.6.7-21-gaf6f648
ORIGIN: https://github.com/Homebrew/brew
HEAD: af6f648f00f424b510680821b7f2b50af7e4315e
Last commit: 3 hours ago
Branch: main
Core tap HEAD: 32b0299f1cfff1eb7142623f782d44aa69c0673b
Core tap last commit: 2 days ago
Core tap JSON: 25 Aug 21:24 UTC
Core cask tap HEAD: 847338de059cc9a545250d7942e9950c1ddc3040
Core cask tap last commit: 2 days ago
Core cask tap JSON: 25 Aug 21:24 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_FORBID_PACKAGES_FROM_PATHS: set
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_NO_EMOJI: set
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.4.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.4.5/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 17.0.0 build 1700
Git: 2.51.0 => /opt/homebrew/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.6.1-arm64
CLT: 16.4.0.0.1.1747106510
Xcode: 16.4 => /Applications/Xcode-16.4.0.app/Contents/Developer
Rosetta 2: false
What were you trying to do (and why)?
Run any kind of brew command that updates homebrew
What happened (include all command output)?
Since #20499 landed any time homebrew does an autoupdate, I'd get the following message repeated in the output:
Warning: Calling conflicts_with formula: is deprecated! There is no replacement.
For example, here is the complete output from an install command I ran this morning:
❯ brew install webkit2png
==> Auto-updating Homebrew...
Adjust how often this is run with `$HOMEBREW_AUTO_UPDATE_SECS` or disable with
`$HOMEBREW_NO_AUTO_UPDATE=1`. Hide these hints with `$HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Auto-updated Homebrew!
==> Updated Homebrew from 4.6.6 (566290dcbc) to 4.6.7 (af6f648f00).
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
bunster: Compile shell scripts to static binaries
ggc: Modern Git CLI
gtrash: Featureful Trash CLI manager: alternative to rm and trash-cli
mac-cleanup-py: Python cleanup script for macOS
melt: Backup and restore Ed25519 SSH keys with seed words
nifi-toolkit: Command-line utilities to setup and support NiFi
podcast-archiver: Archive all episodes from your favorite podcasts
protozero: Minimalist protocol buffer decoder and encoder in C++
typtea: Minimal terminal-based typing speed tester
wishlist: Single entrypoint for multiple SSH endpoints
zig@0.14: Programming language designed for robustness, optimality, and clarity
==> New Casks
orcaslicer@nightly: G-code generator for 3D printers
petrichor: Offline Music Player
You have 1 outdated formula installed.
Warning: Calling conflicts_with formula: is deprecated! There is no replacement.
Warning: Calling conflicts_with formula: is deprecated! There is no replacement.
The 4.6.7 changelog can be found at:
https://github.com/Homebrew/brew/releases/tag/4.6.7
==> Fetching downloads for: webkit2png
Warning: webkit2png has been deprecated because it is not supported upstream! It will be disabled on 2026-03-21.
==> Downloading https://ghcr.io/v2/homebrew/core/webkit2png/manifests/0.7
############################################################################################################################################################ 100.0%
==> Fetching webkit2png
==> Downloading https://ghcr.io/v2/homebrew/core/webkit2png/blobs/sha256:ad209d841f88f9b5d3a969e2493d853237c89234bd09dfc3d1aa2106832d2d7d
############################################################################################################################################################ 100.0%
==> Pouring webkit2png--0.7.all.bottle.tar.gz
/opt/homebrew/Cellar/webkit2png/0.7: 5 files, 23KB
==> Running `brew cleanup webkit2png`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> No outdated dependents to upgrade!
What did you expect to happen?
I didn't expect any error messages, not least because none of the taps I have installed call the deprecated method:
❯ cd /opt/homebrew/Library/Taps
❯ grep -r conflicts_with * | grep formula
homebrew/homebrew-core/Formula/b/bash-completion.rb: conflicts_with "bash-completion@2", because: "each are different versions of the same formula"
homebrew/homebrew-cask/.github/workflows/ci.yml: formula_conflicts = cask.conflicts_with&.dig(:formula).to_a.select { |f| Formula[f].any_version_installed? }
Step-by-step reproduction instructions (by running brew commands)
I don't know how to get this to be reliably reproducible using just brew commands, as it requires changes to the cask repository before and after the depreciation happened. But, I believe the sequence of events was:
- I installed
ollama-app some time ago, which has auto_updates true and used to have conflicts_with formula: "ollama"
conflicts_with formula was deprecated and the relevant line was removed from the ollama-app formula
- I updated homebrew and all installed formula, but this did not update the
ollama-app cask, as the app auto-updates
- The deprecated formula remained on my system, and caused error messages
❯ cd /opt/homebrew/Caskroom
❯ grep -r conflicts_with * | grep formula
ollama-app/.metadata/0.5.4/20241230083827.099/Casks/ollama-app.json:{"full_token":"ollama","old_tokens":[],"tap":"homebrew/cask","name":["Ollama"],"desc":"Get up and running with large language models locally","homepage":"https://ollama.ai/","url":"https://github.com/ollama/ollama/releases/download/v0.5.4/Ollama-darwin.zip","url_specs":{"verified":"github.com/ollama/ollama/"},"version":"0.5.4","installed":null,"installed_time":null,"bundle_version":null,"bundle_short_version":null,"outdated":false,"sha256":"2424d20363d1b0c7249fef40af3561c61101b1129ed7f22ba408deee0f12227f","artifacts":[{"app":["Ollama.app"]},{"binary":["$APPDIR/Ollama.app/Contents/Resources/ollama"]},{"zap":[{"trash":["~/.ollama","~/Library/Application Support/Ollama"]}]}],"caveats":null,"depends_on":{"macos":{">=":["10.13"]}},"conflicts_with":{"formula":["ollama"]},"container":null,"auto_updates":true,"deprecated":false,"deprecation_date":null,"deprecation_reason":null,"deprecation_replacement":null,"disabled":false,"disable_date":null,"disable_reason":null,"disable_replacement":null,"tap_git_head":"4f6c7ce97d3ab60cd54bda4f703adacd914f954e","languages":[],"ruby_source_path":"Casks/o/ollama.rb","ruby_source_checksum":{"sha256":"a5ffd7dc840962ee7b50b59e798a9f090efbdc9b9664e05359f83be5baf1050b"},"variations":{},"token":"ollama-app"}
Reinstalling ollama-app seems to have fixed the problem:
❯ brew uninstall ollama-app&& brew install ollama-app
Warning: Calling conflicts_with formula: is deprecated! There is no replacement.
Warning: Calling conflicts_with formula: is deprecated! There is no replacement.
Warning: Calling conflicts_with formula: is deprecated! There is no replacement.
==> Uninstalling Cask ollama-app
==> Backing App 'Ollama.app' up to '/opt/homebrew/Caskroom/ollama-app/0.5.4/Ollama.app'
==> Removing App '/Applications/Ollama.app'
==> Unlinking Binary '/opt/homebrew/bin/ollama'
==> Purging files for version 0.5.4 of Cask ollama-app
==> Downloading https://github.com/ollama/ollama/releases/download/v0.11.6/Ollama-darwin.zip
==> Downloading from https://release-assets.githubusercontent.com/github-production-release-asset/658928958/20164940-46f9-4494-b0d9-41f4b2a867f0?sp=r&sv=2018-11-09&sr=b&spr=https&se=2025-08-25T22%3A24%3A08Z&rscd=attachment%3B+filename%3D
###################################################################################################################################################################################################################################### 100.0%
==> Installing Cask ollama-app
==> Moving App 'Ollama.app' to '/Applications/Ollama.app'
==> Linking Binary 'ollama' to '/opt/homebrew/bin/ollama'
ollama-app was successfully installed!
==> No outdated dependents to upgrade!
❯ brew update --force
==> Updating Homebrew...
Already up-to-date.
Notably reinstalling ollama-app again does not show the warning three times:
❯ brew uninstall ollama-app&& brew install ollama-app
==> Uninstalling Cask ollama-app
==> Backing App 'Ollama.app' up to '/opt/homebrew/Caskroom/ollama-app/0.11.6/Ollama.app'
==> Removing App '/Applications/Ollama.app'
==> Unlinking Binary '/opt/homebrew/bin/ollama'
==> Purging files for version 0.11.6 of Cask ollama-app
==> Downloading https://formulae.brew.sh/api/formula.jws.json
==> Downloading https://formulae.brew.sh/api/cask.jws.json
==> Downloading https://github.com/ollama/ollama/releases/download/v0.11.6/Ollama-darwin.zip
Already downloaded: /Users/ph/Library/Caches/Homebrew/downloads/069f25f24b111999dbe44d28cda62b62f66632e88367479481964bc4d677cb89--Ollama-darwin.zip
==> Installing Cask ollama-app
==> Moving App 'Ollama.app' to '/Applications/Ollama.app'
==> Linking Binary 'ollama' to '/opt/homebrew/bin/ollama'
ollama-app was successfully installed!
==> No outdated dependents to upgrade!
It is possible I made a mistake in diagnosing this issue, but if not I think you might want to avoid showing deprecation warnings for previously-installed autoupdating casks, or add some extra output to make it clear where the problem comes from, or rethink how deprecations work for auto-updating casks?
brew doctoroutputVerification
brew updatetwice and am still able to reproduce my issue.brew doctoroutput" above saysYour system is ready to brewor a definitely unrelatedTiermessage.brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.brew configoutputWhat were you trying to do (and why)?
Run any kind of brew command that updates homebrew
What happened (include all command output)?
Since #20499 landed any time homebrew does an autoupdate, I'd get the following message repeated in the output:
For example, here is the complete output from an install command I ran this morning:
What did you expect to happen?
I didn't expect any error messages, not least because none of the taps I have installed call the deprecated method:
Step-by-step reproduction instructions (by running
brewcommands)I don't know how to get this to be reliably reproducible using just brew commands, as it requires changes to the cask repository before and after the depreciation happened. But, I believe the sequence of events was:
ollama-appsome time ago, which hasauto_updates trueand used to haveconflicts_with formula: "ollama"conflicts_with formulawas deprecated and the relevant line was removed from theollama-appformulaollama-appcask, as the app auto-updatesReinstalling ollama-app seems to have fixed the problem:
Notably reinstalling ollama-app again does not show the warning three times:
It is possible I made a mistake in diagnosing this issue, but if not I think you might want to avoid showing deprecation warnings for previously-installed autoupdating casks, or add some extra output to make it clear where the problem comes from, or rethink how deprecations work for auto-updating casks?