uninstall --cask <path> reports 'is not installed' right after successful install from the same path (main, breaks homebrew-cask CI)
**What happened:**
On current `main`, `brew uninstall --cask <path>` fails with `Error: Cask '<path>' is not installed.` immediately after `brew install --cask <path>` succeeded from the same path. Uninstalling by token still works. This appears to break the homebrew-cask CI test step (`brew install --cask './Casks/...'` then `brew uninstall --cask './Casks/...'`) for every currently-open cask PR.
**Repro (any cask; shown with an existing one):**
```
$ cd $(brew --repository homebrew/cask)
$ brew install --cask ./Casks/t/topnotch.rb
🍺 topnotch was successfully installed!
$ brew uninstall --cask ./Casks/t/topnotch.rb
Error: Cask './Casks/t/topnotch.rb' is not installed.
$ brew uninstall --cask topnotch # by token: works
==> Purging files for version 1.3.2 of Cask topnotch
```
Reproduces identically with and without `HOMEBREW_DEVELOPER=1`, and with a new cask file under review (crest).
**Where it bites in CI** (uninstall step fails with the same message, then the leftover check reports the app still installed):
- https://github.com/Homebrew/homebrew-cask/actions/runs/29280632570/job/86920862977 (crest, macos-26 arm)
- Same symptom on macos-15-intel for the same PR, and current PRs #274814, #274812, #274813, #274816 are red on their test jobs in the same window.
**Expected:** uninstall by path resolves the installed cask exactly like install by path does (or, if path resolution is now intentionally forbidden, both commands should refuse consistently and say so, rather than reporting "is not installed").
Possibly related to the recent path-loading/`HOMEBREW_FORBID_PACKAGES_FROM_PATHS` work; the failure message is misleading either way.
**`brew config`:**
```
HOMEBREW_VERSION: 6.0.10-17-g85c5ba0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 85c5ba05deaa43787600e2d2a99a3e8ab4f6b6a0
Last commit: 2 hours ago
Branch: main
Core tap: N/A
Core cask tap HEAD: dc89dd190f1afa6a983d0ee959f50b24bda59cde
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DOWNLOAD_CONCURRENCY: 28
HOMEBREW_FORBID_PACKAGES_FROM_PATHS: set
HOMEBREW_MAKE_JOBS: 14
HOMEBREW_REQUIRE_TAP_TRUST: set
Homebrew Ruby: 4.0.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/4.0.5_1/bin/ruby
CPU: 14-core 64-bit arm_brava
Clang: 21.0.0 build 2100
Git: 2.50.1 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.x arm64
```
**`brew doctor`:** only the expected warning that the cask tap is on a PR branch (checked out for the repro).
关闭于 2026-07-13 1 条评论