Winget rarely fails mysteriously. Its two famous errors both mean the same thing - it could not match your words to exactly one app - and both fix the same way.
You type an install command and winget answers either 'No package found matching input criteria' or 'Multiple packages found matching the input criteria. Please refine the input.' Neither means the app does not exist. The first usually means a spelling, name or source problem; the second means your word matched several apps at once. The fix in both cases is to stop installing by name and start installing by exact ID.
C:\> winget install vlc player
No package found matching input criteria.
C:\> winget install python
Multiple packages found matching the input criteria. Please refine the input.
The wording differs but the cure is identical - find the exact ID, then use it with --id and --exact.
winget search vlc and look at the results table - Name, Id, Version, SourceVideoLAN.VLCwinget install --id VideoLAN.VLC --exact --silent --accept-package-agreements --accept-source-agreements--exact (short form -e) forces an exact ID match, which removes both errors in one move - no partial matches, no guessingwinget upgrade --id VideoLAN.VLC --exactwinget source update and try again - a stale source is a common cause on new PCs--source msstore to the search to check therewinget source reset --force and update again. If the app truly is not in any source, winget cannot install it - use the publisher's installer or a deployment package insteadWatch the video trigger and fix these errors live - the search-copy-ID rhythm becomes automatic after you see it twice.
▶️ Watch Full VideoA name search matches anything containing your word, which is how you get multiple matches or the wrong app entirely. The ID names one exact package, and --exact makes winget refuse anything else.
Usually the install command used the display name or a partial ID. Copy the full ID from your own search output and rerun with --id and --exact. If it still fails, note the error - a failed install is a different problem from a failed match.
Yes - winget list shows installed packages winget recognises, with their IDs and available upgrades. It is the quickest way to learn the exact IDs of apps already on the PC.