Uninstall WezTerm on Mac
Save your terminal work and finish remote sessions, local servers, and builds before quitting WezTerm. Your configuration is a Lua file you wrote, usually ~/.wezterm.lua or ~/.config/wezterm/wezterm.lua; copy it to a backup before deciding to delete it. Removing a terminal does not require deleting shell configuration, SSH configuration, or projects. These steps cover the zip from wezterm.org and the Homebrew cask.
Quit WezTerm, including its multiplexer
Quit WezTerm from its menu. Closing a window does not necessarily stop independently running services: if you use WezTerm's multiplexing, a wezterm-mux-server process can keep sessions alive after the window is gone. Check with the commands below, finish or detach what you still need, and stop the mux server only when those sessions are done. Then move WezTerm from Applications to the Trash.
Where WezTerm keeps its files
WezTerm loads the first configuration file it finds, in the order its configuration guide describes; $HOME/.config/wezterm/wezterm.lua comes before $HOME/.wezterm.lua, and a path set in WEZTERM_CONFIG_FILE overrides both. Open each location with Shift + Command + G in Finder.
| Location | What it holds | Keep or remove |
|---|---|---|
~/.wezterm.lua |
Your configuration file | Back up; keep for a reinstall. |
~/.config/wezterm |
Configuration directory, used instead when it holds wezterm.lua |
Same as above. |
~/.local/share/wezterm |
WezTerm's runtime directory on macOS (WezTerm source) | Safe to remove once WezTerm and its mux server have stopped. |
Check the result
pgrep -il wezterm
command -v wezterm
ls -d ~/.wezterm.lua ~/.config/wezterm ~/.local/share/wezterm
No output from pgrep means no WezTerm process is running; a wezterm-mux-server line means the multiplexer is still holding sessions. A path from command -v wezterm means a wezterm command is still on your PATH; check whether it points into the app you removed. For ls, No such file or directory means that item is gone; a listed path is still on disk, which is expected for configuration you kept.
Removing WezTerm does not automatically stop remote services or background jobs started by a shell. Identify each task in a terminal you kept before stopping it; do not erase shell, SSH, or project directories because a process name mentions WezTerm.
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.
Running brew uninstall --cask --zap wezterm yourself runs the zap list regardless of which rows you check in Mole. That list covers only ~/.local/share/wezterm and saved window state, so your ~/.wezterm.lua and ~/.config/wezterm stay. The cask also removes the wezterm, wezterm-gui, wezterm-mux-server, and strip-ansi-escapes commands it linked into Homebrew's bin folder.
What Mole lists
| Location | In the plan |
|---|---|
~/.wezterm.lua |
Listed but not selected. |
~/.config/wezterm |
Listed but not selected. |
~/.local/share/wezterm |
Listed but not selected. |
Keeping configuration for a later installation is intentional, not a failed uninstall. To restore appearance and shortcuts after reinstalling, put your backed-up configuration back and check which file WezTerm actually loads. WezTerm
What this test covered
WezTerm was installed from the official zip on September 17, 2026 and uninstalled through Mole. First launch wrote ~/.local/share/wezterm, which Mole did not list then. The two configuration rows follow WezTerm's documented locations; the test did not create a configuration file, and multiplexing was not tested.
