Uninstall iTerm2 on Mac
Export any custom profiles, Dynamic Profiles, or scripts you wrote before removing iTerm2, and note whether you turned on "Load preferences from a custom folder", since that setting changes where your real settings live. These steps cover the official download and the Homebrew cask iterm2, which install the same app.
Quit iTerm2 and remove the app
Quit iTerm2 from its app menu, then move iTerm.app from Applications to the Trash. iTerm2 runs no login item or background helper of its own, so nothing needs to be stopped first.
Where iTerm2 keeps its files
| Location | What it holds | What to do |
|---|---|---|
~/Library/Preferences/com.googlecode.iterm2.plist |
Your profiles, key bindings, and general settings, unless you moved them to a custom folder | Back up before removing, unless you use a custom folder |
~/Library/Application Support/iTerm2/DynamicProfiles |
JSON or plist files defining profiles you added outside the Preferences UI | Back up any files you wrote yourself |
~/Library/Application Support/iTerm2/Scripts |
Automation scripts and the bundled Python environment iTerm2 creates for them | Back up scripts you wrote; the Python environment itself is regenerable |
~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments |
Recent-documents records | After quitting, remove only files beginning com.googlecode.iterm2.sfl or com.googlecode.iterm2.itermai.sfl; keep the parent and other apps’ files |
~/Library/Caches/com.googlecode.iterm2 |
Regenerable cache | Safe to remove |
~/Library/Saved Application State/com.googlecode.iterm2*.savedState |
Saved window and tab layout | Safe to remove |
If you turned on Preferences › General › Preferences › "Load preferences from a custom folder or URL" (which iTerm2 also exposes as defaults write com.googlecode.iterm2 LoadPrefsFromCustomFolder -bool true plus a PrefsCustomFolder path), your real settings live in that folder, not in the plist above; check it separately and it is untouched by removing the app. General Preferences docs · Dynamic Profiles docs · Scripting docs
Shell integration files
If you ever ran iTerm2 › Install Shell Integration, it created a ~/.iterm2_shell_integration.<shell> file (for example ~/.iterm2_shell_integration.zsh) and added a line to your shell's startup file (~/.zshrc, ~/.bash_profile, ~/.profile, or ~/.config/fish/config.fish, depending on your shell) that sources it. Removing iTerm2 does not touch either of these; if you want them gone, open your startup file, delete or comment out the source ".iterm2_shell_integration... line, then delete the ~/.iterm2_shell_integration.<shell> file itself. Leaving them in place is harmless: the line only does something when iTerm2 is running.
Check the result
Run these read-only commands in another terminal app:
pgrep -il iterm
ls -d ~/Library/Application\ Support/iTerm2
grep -l iterm2_shell_integration ~/.zshrc ~/.bash_profile ~/.profile ~/.config/fish/config.fish
No output from pgrep means no matching iTerm process was found. The ls command shows whether the folder holding Dynamic Profiles and Scripts still exists; a missing-path error means that folder is absent. grep lists startup files that reference shell integration: no matches in successfully read files means no reference there, while a missing or unreadable file is reported as an error and is not evidence of a clean result. Check the file used by your shell, including ~/.config/fish/config.fish for fish. Official shell-integration instructions
If you installed it with Homebrew
Mole skips --zap when its list reaches unchecked or shared data, or cannot be fully checked, and still cleans the leftovers you selected.
The iterm2 cask quits iTerm2 for you during removal. Running brew uninstall --cask --zap iterm2 yourself runs a zap list that covers ~/Library/Application Support/iTerm2 and ~/Library/Application Support/iTerm (Dynamic Profiles, Scripts, and everything else under them), the preferences plist, caches, cookies, HTTPStorages, WebKit data, saved window state, and the iTermFileProvider and iTermAI containers, all removed whatever you select in Mole. It does not touch a custom preferences folder or your shell integration files. Back up any Dynamic Profiles or scripts you wrote first, or skip zap to keep everything but the app:
brew uninstall --cask iterm2
What Mole lists
When you remove it with Mole:
~/Library/Application Support/iTerm2can hold Dynamic Profiles, Scripts and AI Chat data. Back it up before selecting it. Mole applies browser-data protection only when the installed app meets its browser criteria, including HTML document handling as well as http/https links; those links alone do not establish a lock. Check whether this installation’s row has a checkbox or is in protected data. An available reviewed row is unselected with Remove data and settings with apps off (the default), and eligible app-owned data can be preselected when it is on; a locked row cannot be selected. The recorded September test below retainedchatdb, which does not establish the selection state of every current iTerm2 installation. Mole’s Clean tab excludes iTerm app data from ordinary app-cache cleanup.~/Library/Preferences/com.googlecode.iterm2.plist,~/Library/Caches/com.googlecode.iterm2, and saved window state are selected by default.- Shell integration files in your home directory and a custom preferences folder are outside anything Mole scans; remove them yourself as described above.
What this test covered
iTerm2 was installed from Homebrew and removed with a development build of Mole on September 17, 2026, as part of an 8-app cluster. The completion screen reported 8 items removed, 1 retained: the retained item was ~/Library/Application Support/iTerm2's chatdb (about 48 KB), kept under the protection used in that test rather than shown as an unchecked row. A post-uninstall disk comparison found that folder plus a ~/.config/iterm2 symlink pointing into it, neither of which appeared in a later Clean leftovers scan. iTerm2 had no login item before or after the uninstall. Dynamic Profiles, Scripts, and a custom preferences folder were not present on the test Mac and were not exercised in this run; the official direct download was not uninstalled in this test.
