This guide shows you how to use the Windows Package Manager (winget) to install, update, and remove software from the command line. You’ll learn the essential commands, how to search for packages, and how to handle common issues—saving you from hunting through download pages and installers.
What You’ll Need
- Windows 10 (version 1809 or later) or Windows 11
- An internet connection
- Basic comfort with the Command Prompt, PowerShell, or Windows Terminal
If you don’t have winget yet, install it from the Microsoft Store by searching for “App Installer” and updating it. On most recent systems, it’s already present.
Step-by-Step
- Open a command-line interface. Press
Win + Xand select “Terminal” or “PowerShell” (Admin). For most installs, admin isn’t required, but some programs need it. - Check winget is available. Type
winget --versionand press Enter. If you see a version number, you’re ready. If not, install the App Installer from the Store. - Search for a program. Use
winget search <name>(e.g.,winget search vlc). This lists matching packages with their ID, version, and source. Note the exact ID (e.g.,VideoLAN.VLC) for the next step. - Install a program. Run
winget install <ID>(e.g.,winget install VideoLAN.VLC). Winget downloads and runs the official installer, often silently. Wait for the progress bar to complete. - Install with a specific version. If you need an older version, use
winget install <ID> --version <version>. Check available versions withwinget show <ID>. - Install multiple programs at once. You can chain IDs:
winget install 7zip.7zip Notepad++.Notepad++. This is handy for setting up a new PC. - Update all programs. Run
winget upgrade --allto update every package that has a newer version. Be patient; this can take a while. - Uninstall a program. Use
winget uninstall <ID>(e.g.,winget uninstall VideoLAN.VLC). This runs the uninstaller. - List installed packages. Run
winget listto see everything winget manages, along with versions.
Common Mistakes
- Using the wrong name. Search first—don’t guess the ID.
winget install vlcmight fail; usewinget search vlcto get the correct ID. - Forgetting admin rights. Some installers need elevation. If you get an error about permissions, close and reopen your terminal as administrator.
- Assuming every program is in winget. The repository is large but not exhaustive. If search returns nothing, the program isn’t available—you’ll need to download it manually.
- Not accepting source agreements. On first use, winget may ask you to agree to the Microsoft Store source terms. Run
winget --accept-source-agreementsto pre-accept.
Tips
- Use the exact ID. It’s unique and avoids ambiguity. Copy it from the search results.
- Silent installs. Most packages install without prompts, but if you want to force quiet mode, add
--silent(not all installers support it). - Export your list. Run
winget export -o apps.jsonto save installed packages. On a new PC, usewinget import -i apps.jsonto reinstall them. - Check for updates regularly. Use
winget upgrade(without –all) to see what’s outdated before updating. - Use the help.
winget --helpshows all commands and options. For a specific command, usewinget install --help.
Troubleshooting
- “No package found matching input patterns.” You mistyped the ID or the program isn’t in the repo. Double-check with
winget search. - Install fails with a download error. Your internet connection may be unstable, or the server is slow. Try again after a few minutes. If it persists, run
winget install <ID> --verboseto see detailed logs. - Installer crashes or doesn’t launch. Some installers are not fully compatible with silent mode. Try
winget install <ID> --interactiveto see the installer UI. - Winget says “App Installer is not installed.” Update the App Installer from the Microsoft Store. If that fails, download the latest .msixbundle from the Microsoft Store website.
- “The term ‘winget’ is not recognized.” Winget isn’t in your PATH. Reinstall App Installer or restart your terminal. If it’s still missing, open PowerShell and run
Add-AppxPackage -Path <path-to-appx>after downloading.
Frequently Asked Questions
Is winget safe to use?
Yes, winget pulls installers from official sources (like the publisher’s site or the Microsoft Store) and verifies hashes when available. It’s the same files you’d download manually.
Can I install software for all users?
Yes, but you’ll need to run your terminal as administrator. Use winget install <ID> --scope machine to install for all users (if the package supports it).
How do I find the exact package ID?
Run winget search <name> and look at the “Id” column. It’s usually in the format Publisher.Software.
Does winget update all my apps automatically?
No, but you can schedule a task to run winget upgrade --all or use the --all flag manually. There’s no built-in auto-update.
What if a program isn’t in winget?
You’ll need to install it manually. You can also request it on the winget-pkgs GitHub repository, but that’s a community effort.
Can I use winget to install portable apps?
Some packages are portable, but most install traditionally. Check the package description with winget show <ID> to see if it’s marked as portable.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- Firestick vs Fire TV: Key Differences
- Kodi Crashing on Windows? Fixes That Work
- Extract SMS & iMessage from iTunes Backup
- View Saved Passwords on Samsung Galaxy Phones
- Messenger Calls Not Ringing: Fixes for Android & iPhone
- NordVPN Not Working on Windows 11? Fixes That Work