How to uninstall Ghostty on a Mac, and why Homebrew may still think it is installed
Ghostty updates itself, so Homebrew's record drifts out of date and can outlive the app. How to remove the app, its config and that stale record.
How do I uninstall Ghostty on a Mac?
- Quit Ghostty and move it from Applications to the Trash.
- Move your config to the Trash, or keep it for later:
~/.config/ghosttyor~/Library/Application Support/com.mitchellh.ghostty. - If Homebrew installed it, run
brew uninstall --cask ghostty. Add--forceif it says the app is already gone. - If Ghostty was your default terminal for any tool, point that tool back at Terminal or your new terminal.
Why does Homebrew still list Ghostty?
Ghostty's cask is marked auto_updates. Homebrew installs it once and then leaves updates to the app, so its own record stays at the version it installed. On our Mac Homebrew listed Ghostty 1.2.3 from December 2025, while the current release was 1.3.1, and the Caskroom folder was 0 bytes: the app it describes had already been deleted.
brew list --cask --versions
ls /opt/homebrew/Caskroom/ghosttyThat record is harmless but misleading. brew upgrade skips auto updating casks by default, so it never corrects itself. The same thing happens to any cask with auto_updates; see Homebrew listing apps that are gone.
Find what is left in one look
Free Mac shows Ghostty's config and Homebrew's folders on the Storage map, and moves what you pick to the Trash. Other terminals are compared in terminal apps taking up space.
Related: uninstall ngrok and uninstall LICEcap.
Common questions
Where is Ghostty's config on a Mac?
In ~/.config/ghostty/config, or ~/Library/Application Support/com.mitchellh.ghostty/config. Delete the folder to reset it, or keep it for a reinstall.
Why does brew say Ghostty is installed when it is not?
Homebrew keeps a record in its Caskroom until you run brew uninstall --cask ghostty. Deleting the app by hand does not clear it.
Does uninstalling Ghostty affect my shell settings?
No. Your .zshrc and shell history belong to the shell, not the terminal app, and stay as they are.