Technical Anshu
Tutorials Blog
🛠️ Winget Error Fix

Winget No Package Found and Multiple Packages Found Error Fix

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.

✍️ Technical Anshu🪟 Windows⏱️ 6 minute read
🎥 Watch all three methods side by side in the full video

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.

Windows Terminal - The Two Errors (real wording)

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.

Real winget error text - both messages are matching problems, not missing software
1

Search First, Install Second

  1. Run winget search vlc and look at the results table - Name, Id, Version, Source
  2. The Id column is the app's true address, in the form Publisher.AppName - for VLC it is VideoLAN.VLC
  3. Display names contain spaces and marketing words; IDs do not. Every reliable winget command uses the ID
2

Install With the Exact ID ⭐

  1. Run winget install --id VideoLAN.VLC --exact --silent --accept-package-agreements --accept-source-agreements
  2. --exact (short form -e) forces an exact ID match, which removes both errors in one move - no partial matches, no guessing
  3. The same applies to upgrades: winget upgrade --id VideoLAN.VLC --exact
  4. Build the habit into every script you write, so the scripts never break when a similarly named app appears in the catalogue
3

When the ID Still Says Not Found

  1. Refresh the catalogue with winget source update and try again - a stale source is a common cause on new PCs
  2. Check which source you are searching. Some apps live only in the Microsoft Store source; add --source msstore to the search to check there
  3. Confirm the spelling of the ID character by character from the search results - IDs are forgiving about case but not about typos
  4. As a last resort, reset the sources with winget 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 instead
⚠️ Honest note: winget's catalogue is huge but not complete. Some professional and region-specific software simply is not listed, and no flag fixes that. Not found after a source update and an msstore check means exactly that - it is not your command that is wrong.

🎥 Watch the Full Comparison

Watch the video trigger and fix these errors live - the search-copy-ID rhythm becomes automatic after you see it twice.

▶️ Watch Full Video
❓ Frequently Asked Questions

What is the difference between installing by name and by ID?

A 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.

Why does winget find an app in search but fail the install?

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.

Can I see everything winget has installed?

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.

This guide is based on the Technical Anshu video on automatic software installation • Stuck on a step? Ask in the video comments and you will get a reply 🙏