WinGet is one of the most useful tools built into Windows 11, but it can feel confusing when an app cannot be found, an update fails, or you need to set up a fresh PC. This WinGet Windows 11 guide covers the essential commands, common fixes, and the easiest way to export your app list before reinstalling Windows.
If you only want to update everything you already have, start with our dedicated and updated guide: WinGet Update Windows 11 Apps With 1 Easy Powerful Command. It walks through the safest way to use winget upgrade --all on Windows 11.
First, make sure WinGet works
Open Windows Terminal, PowerShell, or Command Prompt and run:
winget --info
This confirms that WinGet is installed and shows useful details, including its version, App Installer version, source information, and the location of its log files. If this works, WinGet itself is responding normally.

If Windows says that winget is not recognized, close Terminal completely and open it again. If that does not help, open the Microsoft Store, search for App Installer, and install any available update.
Find and install apps
Before installing anything, search WinGet’s package sources for the app:
winget search PowerToys
WinGet shows matching packages and their IDs. Once you find the right result, use the ID with exact matching:

winget install --id Microsoft.PowerToys -e
The --id option targets the package identifier, while -e tells WinGet to require an exact match. This is safer than relying on a general app-name search, especially when several similarly named packages appear.
To install several apps in sequence, list their IDs in one command:
winget install Microsoft.VisualStudioCode Microsoft.PowerShell Git.Git
WinGet installs the packages one at a time, so this is useful when setting up a new Windows PC.
See and update apps
To see software WinGet can identify on your system, run:
winget list

To check only for apps that have updates available, use:
winget list --upgrade-available
For a preview of everything WinGet wants to update, run:
winget upgrade

Nothing changes until you run an upgrade command. For the full bulk-update workflow, including silent installs, unknown-version packages, pins, and monthly automation, use the WinGet Update Windows 11 Apps With 1 Easy Powerful Command guide. WinGet’s list command can show apps installed through WinGet and apps installed by other methods, while upgrade without arguments previews available updates.
To update one app after identifying its package ID:
winget upgrade --id Microsoft.PowerToys -e
Fix “No Package Found”
If WinGet says it cannot find a package, do not keep retrying a guessed app name. Search for it first:
winget search "Visual Studio Code"
Then copy the exact ID from the results and use it with -e:
winget install --id Microsoft.VisualStudioCode -e
If there are still no results, refresh the package sources:
winget source update

Try your search again once the refresh finishes. The source command manages the repositories WinGet uses to find apps, and source update is the safest first fix when package information seems stale.
Fix failed installs and updates
When winget upgrade --all fails on one app, troubleshoot that individual package instead of immediately rerunning every update. Close the target app, restart Windows if an installer is waiting for a reboot, then retry with the exact package ID:
winget upgrade --id Microsoft.PowerToys -e
If it fails again, rerun the command with detailed logging:
winget upgrade --id Microsoft.PowerToys -e --open-logs --verbose-logs
WinGet can open its log directory automatically, and --verbose-logs adds more diagnostic detail. If only one package keeps failing, the problem may be that app’s installer or update process rather than WinGet itself.
If WinGet itself appears damaged or missing, open PowerShell as Administrator and run:
Install-PackageProvider -Name NuGet -Force
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery
Repair-WinGetPackageManager -Force -Latest
Microsoft documents this repair method through its WinGet PowerShell module. Avoid downloading random .msixbundle files or using registry fixes from untrusted sites.
Reset broken sources carefully
Most source problems are fixed with:
winget source update
If it repeatedly fails and you have not added custom sources, open Windows Terminal as Administrator and use:
winget source reset --force
This resets the default WinGet sources, but it also removes custom sources you added yourself. Treat it as a last-resort repair step, not routine maintenance.
Back up your app list
Before resetting or replacing a PC, export the apps WinGet recognizes into a JSON file:
winget export -o C:\apps.json
To save the versions currently installed as well:
winget export -o C:\apps.json --include-versions
Copy apps.json to OneDrive, a USB drive, or another safe location before wiping Windows. WinGet’s export feature creates a list of installed applications; it is not a full PC backup.
It will not preserve app settings, browser profiles, documents, licenses, game saves, or apps that WinGet cannot match to a source.
Restore apps on a new PC
After reinstalling Windows, copy your exported file to the new machine and run:
winget import -i C:\apps.json --accept-package-agreements --accept-source-agreements
WinGet will attempt to reinstall the apps listed in the export file. Some packages may require a manual sign-in, additional setup, or a vendor download after installation, but this can eliminate a lot of repetitive new-PC setup.
Useful WinGet commands
winget --info— Check version details and log locations.winget search app-name— Find an app and its package ID.winget install --id Package.ID -e— Install one exact package.winget list— View apps WinGet can identify.winget list --upgrade-available— View detected updates.winget upgrade— Preview available upgrades.winget upgrade --id Package.ID -e— Update one specific app.winget source update— Refresh available package data.winget export -o C:\apps.json— Save an app list before a clean install.winget import -i C:\apps.json— Reinstall apps from an exported list.
Frequently Asked Questions (FAQ)
Why is WinGet not recognized on Windows 11?
WinGet is usually installed through App Installer. Restart Terminal first, then check the Microsoft Store for an App Installer update; if winget --info still does not run, use the PowerShell repair steps above.learn.microsoft
Why can’t WinGet find an app?
Run winget search using the application’s normal name, then install or update it with the exact package ID shown in the results. If no package appears, run winget source update and search again.learn.microsoft+1
Why did winget upgrade --all skip an app?
WinGet may not recognize the installed software, may be unable to compare its version, or may be respecting a package pin. Check winget list --upgrade-available, then update the specific app using its package ID. WinGet pins can exclude apps from bulk upgrades unless the user explicitly includes pinned packages.learn.microsoft+1
Does winget export back up my entire PC?
No. It creates a JSON list of applications WinGet can match to a configured source. It does not save files, app settings, licenses, browser data, game saves, or programs it cannot identify.learn.microsoft
Is winget source reset --force safe?
It restores WinGet’s default sources, but it can remove custom sources you added. Run winget source update first and reserve a reset for persistent source failures.learn.microsoft
Can WinGet repair an app without reinstalling it?
Sometimes. The winget repair command can repair a supported app with corrupted files, although it requires an exact app match and depends on the package supporting repair.
Repair a broken WinGet Windows 11 installation when winget –info doesn’t work
If winget --info does not work, App Installer may be missing or damaged. First, check the Microsoft Store for an App Installer update. If that does not fix it, open PowerShell as Administrator and run these commands one at a time:
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -Force -Latest
The first command installs the NuGet provider PowerShell needs to retrieve modules. The second installs Microsoft’s WinGet client module from the PowerShell Gallery. The final command repairs or reinstalls the Windows Package Manager. Microsoft documents this approach for cases where WinGet is not installed correctly.
After it finishes, close PowerShell, open a new Terminal window, and run:
winget --info
If WinGet now returns version and system details, the repair worked. Microsoft also provides the winget error command, which can translate recognized WinGet, MSIX, and MSI installer exit codes if a later command still fails.
Discover more from Microsoft News Now
Subscribe to get the latest posts sent to your email.