How to uninstall GitHub Desktop on Windows
Removing GitHub Desktop does not touch your repositories: cloned projects live wherever you put them on disk, independent of the app, and GitHub Desktop only deletes a repository's local folder when you explicitly choose that option while removing it from the app's list. Push any pending commits first, since the app itself is what is going away, not your work. This guide covers GitHub Desktop installed per-user from the GitHub.GitHubDesktop winget package; the official download installs the same way.
Check your repositories and sign-in state
Open GitHub Desktop, push or note any unpushed commits in repositories you care about, and confirm which account you are signed in to. Your local clones are ordinary folders on disk; removing the app changes nothing about them.
Quit GitHub Desktop and remove the app
Quit GitHub Desktop, then go to Settings › Apps › Installed apps, find GitHub Desktop, and choose Uninstall, or run:
winget uninstall --id GitHub.GitHubDesktop
Where GitHub Desktop keeps its files
| Location | What it holds | What to do |
|---|---|---|
%LOCALAPPDATA%\GitHubDesktop |
The app itself and its Squirrel update packages | Removed by the uninstaller |
%APPDATA%\GitHub Desktop |
Settings and the list of repositories you have added | Removed by the uninstaller; back it up first only if you want to remember your repository list |
| Desktop and Start Menu shortcuts | Launch icons | Removed by the uninstaller |
Your sign-in token is kept by Windows itself, separate from the files above, and is not touched by removing the app or any of these folders.
Check the result
Run these read-only commands after the uninstall finishes:
Get-Process GitHubDesktop -ErrorAction SilentlyContinue
winget list --id GitHub.GitHubDesktop
Test-Path "$env:LOCALAPPDATA\GitHubDesktop"
Test-Path "$env:APPDATA\GitHub Desktop"
- 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-PathreturningFalsemeans the program folder is gone;Truemeans files remain there. Test-Path "$env:APPDATA\GitHub Desktop"returningTruemeans your settings and repository list are still there.
Removing individual repositories
To stop tracking a repository without touching its files, select it in GitHub Desktop's repository list and use File › Remove. GitHub Desktop offers a separate option to also delete the local folder from disk, off by default; only that explicit choice removes anything, so simply uninstalling the app afterward, or removing a repository from the list, leaves your cloned files exactly where they are.
If you installed it with winget
winget uninstall runs the same Squirrel uninstaller Settings › Apps uses and removes the same program files; it does not touch your sign-in state on its own.
What Mole lists
For GitHub Desktop installed per-user from winget:
- The program folder and the Desktop and Start Menu shortcuts are selected by default.
%APPDATA%\GitHub Desktop, which holds your repository list and settings, is listed but not selected. Its caches (Cache,Code Cache,GPUCache, logs) are listed on their own and selected.- Your repositories are wherever you cloned them and are not part of this list.
What this test covered
Tested on 2026-09-26 with GitHub Desktop 3.6.6 installed through winget, per-user scope. Every listed row was removed with select-all and nothing was left behind. Not verified: the delete-from-disk option for a repository, and signed-in credential removal.
