Homebrew still lists apps you deleted: why, and how to clear the records
Deleting a Homebrew app by hand leaves its Caskroom record. On our Mac four casks were listed as installed with no app behind them. How to find and clear them.
Why does Homebrew list an app I deleted?
Every cask Homebrew installs gets a folder in /opt/homebrew/Caskroom named after it, with a subfolder per version. Dragging the app to the Trash does not touch that folder, so the record stays. Apps that update themselves make it worse: the record stays at the version Homebrew installed.
| Cask | Version recorded | App installed? |
|---|---|---|
| alfred | 5.7.1 | No |
| ghostty | 1.2.3 | No |
| visual-studio-code | 1.90.0 | No |
| claude-devtools | 0.4.7 | No |
| claude-code, copilot-cli, ngrok, zulu@17 | current | Yes, command line tools |
That was our Mac: four of nine casks were records of apps that were gone.
How do I find stale casks?
for c in $(brew list --cask); do
printf '%s: ' "$c"; du -sh /opt/homebrew/Caskroom/$c | cut -f1
doneA record of an app you deleted is a few kilobytes, because the app it describes is gone. Real apps that Homebrew moved to Applications are small here too, so confirm in Applications before you act.
How do I clear them?
brew uninstall --cask --force alfred ghostty visual-studio-code--force tells Homebrew to clear the record even though the app is missing. Add --zap to also remove the app's Library folders, which has its own catch.
Find what is left in one look
Free Mac's Apps tab lists what is really in Applications, with each app's leftovers, and its Storage map shows Homebrew's folders. What you pick goes to the Trash. Removing Homebrew altogether is in uninstalling Homebrew.
Related: the Chrome Apps folder and uninstall Rust.
Common questions
Why does brew list show an app I deleted?
Homebrew keeps a record in /opt/homebrew/Caskroom until you run brew uninstall --cask. Dragging the app to the Trash does not clear it.
How do I remove a cask whose app is already gone?
brew uninstall --cask --force <name>. Without --force, Homebrew may stop because the app it expects is missing.
Does a stale cask record take up space?
Very little, usually a few kilobytes. The cost is confusion: it blocks a clean reinstall and keeps showing in brew outdated.