How to uninstall WezTerm on Windows
Save your terminal work and finish remote sessions, local servers, and builds before quitting WezTerm. Your configuration is a Lua file you wrote, usually %USERPROFILE%\.wezterm.lua or %USERPROFILE%\.config\wezterm\wezterm.lua; copy it to a backup before deciding to delete it. This guide covers WezTerm installed machine-wide from the wez.wezterm winget package.
Quit WezTerm, including its multiplexer
Close every WezTerm window. 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 check Task Manager (Ctrl+Shift+Esc) for any wezterm-gui.exe still listed before you uninstall.
Remove the app with its own uninstaller
Go to Settings › Apps › Installed apps, find WezTerm, and choose Uninstall, or run:
winget uninstall --id wez.wezterm
Where the data lives
WezTerm loads the first configuration file it finds, %USERPROFILE%\.config\wezterm\wezterm.lua before %USERPROFILE%\.wezterm.lua, following its own configuration guide.
| Location | What it holds | What to do |
|---|---|---|
%USERPROFILE%\.wezterm.lua |
Your configuration file, if you keep it here | Back up; keep for a reinstall |
%USERPROFILE%\.config\wezterm |
Configuration directory, used instead when it holds wezterm.lua |
Same as above |
%USERPROFILE%\.local\share\wezterm |
WezTerm's runtime directory, holding socket and log files from running sessions | Safe to remove once WezTerm and its mux server have stopped |
Check the result
Run these read-only commands after the uninstall finishes:
Get-Process wezterm-gui, wezterm-mux-server -ErrorAction SilentlyContinue
winget list --id wez.wezterm
Test-Path "$env:ProgramFiles\WezTerm"
Test-Path "$env:USERPROFILE\.local\share\wezterm"
- No output from
Get-Processonly means this query observed no matching process; a suppressed error leaves the running state unknown. - A completed
winget listquery with no match means the package record is gone; a matching row means the uninstall did not finish. - The first
Test-PathreturningTruemeans the program folder still exists; open it to check what remains. The result alone does not tell you whether it is empty. Test-Path "$env:USERPROFILE\.local\share\wezterm"returningTruemeans WezTerm's runtime directory is still there, which is expected unless you removed it yourself.
Removing WezTerm does not automatically stop remote services or background jobs started from a shell. Identify each task in a terminal you kept before stopping it; do not remove shell, SSH, or project folders just because a process name mentions WezTerm.
If you installed it with winget
winget uninstall runs the same Inno Setup uninstaller Settings › Apps uses and removes the same program files; it does not touch your Lua configuration files or %USERPROFILE%\.local\share\wezterm on its own.
What Mole lists
| Location | In the review |
|---|---|
| The program folder and the public Start Menu shortcut | Selected by default |
%USERPROFILE%\.local\share\wezterm |
Listed but not selected |
Your .wezterm.lua file and .config\wezterm folder, wherever you keep them, are not listed. Keeping configuration for a later installation is intentional, not a failed uninstall.
What this test covered
Retested on October 3, 2026 with WezTerm 20240203-110809-5046fc22 installed through winget, machine-wide scope, on an ARM64 VM. All review rows were selected; the program folder and runtime folder were removed, and the uninstaller had already removed the Start Menu shortcut. The empty folder left by the earlier test did not recur. Not verified: the multiplexer, wezterm-mux-server, and an install that actually had a Lua configuration file present.
