How to uninstall pnpm on Windows
Identify how pnpm was installed before removing it. This test covered the winget portable package, not an npm installation or a Corepack-managed command. Keep project source, package manifests and lockfiles.
Save your data and quit
Before uninstalling, use pnpm ls -g, pnpm root -g and pnpm store path to record global tools and the actual store location. Stop package installs and development tasks. For an npm-installed pnpm, use npm rm -g pnpm as shown in the official uninstall guide. Removing the winget package does not remove that separate npm installation.
Uninstall the tested package
In Windows 11, open Settings › Apps › Installed apps, find pnpm, and choose Uninstall. In Windows 10, use Settings › Apps › Apps & features. Keep the installed program folder intact until its uninstaller finishes. If this was the winget package, first confirm its exact identity:
winget list --id pnpm.pnpm --exact
If the successful query shows the intended installation, remove that package:
winget uninstall --id pnpm.pnpm --exact
This follows the package’s registered removal method; portable packages use their package-manager removal instead. An error or a missing winget match is not proof that the app is absent: check the Windows app list and the original installation method. Follow any vendor confirmation or restart request after saving other work. See Microsoft’s uninstall command documentation.
Data and components to check
The following locations or components need separate decisions. A remaining folder is not automatically disposable.
| Location or component | What to keep or check |
|---|---|
pnpm store path |
Shared package content, potentially on more than one drive. Removing the CLI does not prove the store is unused; keep it unless you have reviewed all consuming projects. |
| PNPM_HOME and PATH | Keep other tools’ PATH entries. Record the old value before removing only an obsolete pnpm entry. |
See pnpm’s official documentation.
Check the outcome
winget list --id pnpm.pnpm --exact
A successful package query with no matching row means that package registration was not found. A matching row means it still exists; an error leaves the result unknown. Keep deliberately retained data. Check Task Manager for a process whose executable belongs to this installation, and distinguish another version or a separate companion app before acting.
What Mole lists
The tested portable package had no separate cleanup rows. Mole did not rewrite the user PATH. A remaining PATH entry is not evidence that project files or the shared package store should be deleted.
What this test covered
The winget portable package installed for the current user was removed. pnpm is a command-line tool; the test did not establish that a persistent application process was running. Version upgrading, global-package migration and project rebuilds were not tested.
These results are from a development build of Mole. Other released builds were not individually tested.