Uninstall Ice on Mac
Back up your menu bar layout before removing Ice, and plan to revoke its Accessibility and Screen Recording permissions afterward: macOS keeps those grants even after the app is gone. Ice is free and open source, with no account or subscription tied to it. These steps cover the official download from icemenubar.app and the Homebrew cask jordanbaird-ice, which install the same app.
Quit Ice and remove the app
Quit Ice from its menu bar icon, then move Ice from Applications to the Trash. If you turned on "Launch at login" in Ice's settings, check System Settings › General › Login Items & Extensions afterward to confirm the entry is gone; if it is not, turn it off there.
Where Ice keeps its data
Ice keeps its entire menu bar layout, hotkeys, and appearance choices in one preferences file; there is no separate data folder to check.
| Location | What it holds | What to do |
|---|---|---|
~/Library/Preferences/com.jordanbaird.Ice.plist |
Ice's menu bar layout, hotkeys, and appearance settings, the only place these live | Back it up first if you want your layout back after reinstalling; this file is selected by default in Mole, so it is easy to lose without noticing |
~/Library/Caches/com.jordanbaird.Ice |
Regenerable cache | Safe to remove |
~/Library/HTTPStorages/com.jordanbaird.Ice |
Local web-storage state | Safe to remove |
~/Library/WebKit/com.jordanbaird.Ice |
Embedded web view data | Safe to remove |
Remove the Accessibility and Screen Recording permissions
Ice needs Accessibility and Screen Recording to hide, show, and rearrange other apps' menu bar items; both permissions stay granted in System Settings after you delete the app. Open System Settings › Privacy & Security › Accessibility, select Ice, and click the − button; repeat under Privacy & Security › Screen Recording. A grayed-out Ice entry with no app behind it confirms the app is already gone and the row is safe to remove.
Check the result
Run these read-only commands in Terminal:
pgrep -il ice
ls -d ~/Library/Preferences/com.jordanbaird.Ice.plist
No output from pgrep means Ice is not running; note that pgrep -il ice can also match unrelated processes with "ice" in their name, so check the full command line before assuming it is Ice. The ls command reports whether the preferences file is still on this Mac; "No such file or directory" means it is gone, which also means your menu bar layout is gone with it.
If you installed it with Homebrew
The next Mole update will skip --zap when its list reaches unchecked or shared data, or cannot be fully checked. Mole will still clean the leftovers you selected. Preview 290 does not include this protection.
Homebrew's ordinary (non-zap) removal of the jordanbaird-ice cask already quits Ice and turns off its login item for you. Mole Preview 290 runs brew uninstall --cask --zap jordanbaird-ice, and the zap step additionally removes the cache, HTTPStorages, WebKit data, and the preferences file above, including your menu bar layout, whatever you select in Mole. Back up the preferences file first if you want your layout back later, or skip zap to keep it:
brew uninstall --cask jordanbaird-ice
What Mole lists
This describes Mole 1.15 (currently in Preview):
~/Library/Preferences/com.jordanbaird.Ice.plistand~/Library/Caches/com.jordanbaird.Iceare selected by default; they are named after Ice's bundle identifier, which Mole treats as the app's own data.- For a Homebrew install, Mole Preview 290 runs
brew uninstall --cask --zap jordanbaird-ice, and the zap step removes the same preferences file plus HTTPStorages and WebKit data, regardless of what you selected. - Mole does not manage the Accessibility or Screen Recording permission entries; those stay in System Settings until you remove them yourself.
What this test covered
Ice was installed through the Homebrew cask and uninstalled on September 17, 2026, with a development build of Mole. In that run, Ice had written only the bundle preferences file; no cache folder existed on disk to check. The official download, a real launch-at-login job, HTTPStorages and WebKit data, and the Accessibility/Screen Recording permission state were not part of this test.
