How to Uninstall Stubborn Apps Using Winget in Windows 11
When standard Windows 11 uninstall methods fail or software becomes
corrupted, the Windows Package Manager (winget) provides a
powerful command-line solution to forcibly remove stubborn applications.
This guide explains how to identify, target, and cleanly uninstall
resistant programs using built-in Windows 11 terminal commands.
Step 1: Open Terminal as Administrator
To remove software with elevated privileges, you must run the command line as an administrator. 1. Right-click the Start button on Windows 11. 2. Select Terminal (Admin) or PowerShell (Admin). 3. Click Yes if prompted by User Account Control (UAC).
Step 2: Locate the Stubborn Application
You need the exact name or unique Package ID of the software to target it correctly. Run the following command to display all installed applications:
winget listTo narrow down the list and search for a specific program, append the app name to the command:
winget list "<AppName>"(Example: winget list "Spotify")
Note the exact value listed in the Name or Id column.
Step 3: Uninstall the Application
Once you have the ID or Name, execute the uninstall command:
winget uninstall --id "<Package_ID>"(Example:
winget uninstall --id "Spotify.Spotify")
If the Package ID is not available, you can uninstall using the exact name:
winget uninstall --name "<App_Name>"Step 4: Force Removal of Stubborn Applications
If standard uninstallation fails due to background processes, missing uninstaller files, or system locks, add advanced flags to bypass standard prompts and remove leftover configurations:
Silent Mode: Suppresses user interface popups and prompts.
winget uninstall --id "<Package_ID>" --silentPurge Data: Removes all user-specific data and configuration files associated with the package.
winget uninstall --id "<Package_ID>" --purgeCombined Force Uninstall:
winget uninstall --id "<Package_ID>" --force --silent --purge
Step 5: Verify Successful Removal
To ensure the application and its registry entries have been completely cleared, search for the package one final time:
winget list "<Package_ID>"If the removal was successful, the command line will return a message stating that no installed package was found matching the input criteria.