WinGet is Windows 11’s command-line package manager. The 17 commands below cover the jobs most people need: finding software, checking package details, installing by an exact identifier, updating one or every eligible app, uninstalling, repairing package sources, exporting an app list and rebuilding a workstation.
WinGet is delivered through Microsoft’s App Installer on supported Windows desktop editions. Open Windows Terminal or PowerShell, then run the commands as shown. Use exact package IDs and a trusted source when changing software on your computer.
As an Amazon Associate I earn from qualifying purchases.
What WinGet does on Windows 11
Microsoft defines WinGet as a command-line tool for discovering, installing, upgrading, removing and configuring applications on Windows 10, Windows 11 and Windows Server 2025. On Windows 11, the client is delivered through the App Installer package. If the winget command is not recognized, update or install App Installer from Microsoft’s supported software-distribution channel, then open a new Terminal window.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →WinGet works with package repositories called sources. The winget source is the normal default, but a computer can have more than one configured repository. Source selection matters: use repositories you trust, and inspect an installer before allowing it to make changes. Running Terminal elevated changes how elevation prompts appear; elevation does not make an untrusted installer safe.
#1 Best Overall
- Spacious Design: Measuring 21.1" wide and 14.1" deep, our lap desk comfortably fits most laptops up to 15.6". Extra room for accessories ensures convenience.
- Enhanced Functionality: Packed with handy features, including a 5x9" precision tracking mouse pad and a built-in phone slot for seamless work or video calls. Plus, enjoy ergonomic support with the integrated cushioned wrist rest.
- Cool Comfort: Enjoy a stable surface with our lap desk's dual bolster cushion, designed for comfort and airflow, keeping your lap cool during extended use.
- Durable Surface: Work with confidence on our lap desk's solid surface, featuring a sleek black carbon color, ensuring optimal air circulation to prevent your laptop from overheating.
- On-the-Go Convenience: With an integrated handle and lightweight design (2.8 lbs), our lap desk is portable for travel or moving around the house, offering flexibility in any space.
The 17-command quick reference
| # | Command | Best use | Scope or caution |
|---|---|---|---|
| 1 | winget --help |
Show commands and options supported by the installed client. | Help reflects your installed client version. |
| 2 | winget search <query> |
Find packages by a case-insensitive substring search. | Narrow with --id, --name, --source or -e/--exact. |
| 3 | winget show <query> |
Inspect package metadata before installing. | Use an exact ID when several results look similar. |
| 4 | winget install <id> -e --source winget |
Install one package with a precise ID and explicit source. | Reduces ambiguity; review the selected package first. |
| 5 | winget list |
List installed applications. | Includes apps installed by methods other than WinGet. |
| 6 | winget list --upgrade-available |
See which installed apps have an available update. | Availability depends on current source data and package metadata. |
| 7 | winget upgrade <id> -e |
Upgrade one selected package. | Exact selection avoids changing similarly named packages. |
| 8 | winget upgrade --all |
Attempt all available application upgrades. | Review the preview; pins and unknown versions can affect results. |
| 9 | winget uninstall <id> -e |
Remove one application. | remove and rm are aliases. |
| 10 | winget source list |
Display configured repositories. | Check this before installing from a non-default source. |
| 11 | winget source update |
Refresh source data. | Run it when search or update information appears stale. |
| 12 | winget source reset |
Restore documented default sources. | Use when source configuration is damaged or unwanted entries remain. |
| 13 | winget export -o packages.json |
Save an installed-package list. | The file is a package manifest for later reuse. |
| 14 | winget import -i packages.json |
Install packages listed in an export file. | Packages unavailable from configured sources will not be reproduced. |
| 15 | winget pin list |
Inspect packages whose WinGet upgrades are constrained. | Pins do not block upgrades performed outside WinGet. |
| 16 | winget settings |
Open the client’s JSON settings editor. | config is an alias. |
| 17 | winget download <id> -e |
Download an installer and dependencies without the normal install flow. | Microsoft Store packaged downloads require Microsoft Entra ID authentication. |
Discover and inspect software before changing your PC
1. Check the client’s available syntax
Run winget --help first when you are unsure which command or option your installed client supports. It displays the command tree and options available in that installation, so it is more reliable than copying a switch from a guide written for a different client version.
2. Search for a package
winget search <query> performs a case-insensitive substring search by default. For example, a broad search can return several editions, publishers or package sources. Add --id to search identifiers, --name to search display names, or --source to limit results to a repository. Use -e or --exact when the query must match exactly.
3. Inspect package metadata
Use winget show <query> before installation. The result displays the package metadata WinGet has for that match, allowing you to confirm the name, identifier, publisher and source before you permit an installer to run. If the search returned multiple candidates, show the exact identifier rather than relying on a short name.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Install an app with an exact ID
The safest repeatable installation pattern in this list is:
Rank #2
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
winget install <id> -e --source winget
Replace <id> with the identifier confirmed by search and show. The -e switch requests an exact match, while --source winget prevents an equally named result from another configured repository from being selected. This combination reduces ambiguity; it does not replace the need to trust the package and publisher.
- Run
winget search <query>and identify the intended package. - Run
winget show <id>to inspect its metadata. - Run
winget install <id> -e --source winget. - Read any installer prompts and confirm that the displayed application is the one you intended to install.
Use an elevated Terminal only when the installer requires administrative rights. Elevation changes the prompt context; it does not validate the software.
See what is installed and what can be updated
5. List installed applications
winget list inventories installed applications, including software installed through methods other than WinGet. That makes it useful for auditing a machine even when you did not originally use the package manager. The output is also the starting point for finding the identifier needed by an upgrade or uninstall command.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches6. Filter the list to available upgrades
Run winget list --upgrade-available to show installed applications for which WinGet has an update. If the result seems incomplete, refresh source data with winget source update and run the list command again. An app can be installed yet absent from this result when no matching package or newer version is available in the configured sources.
Rank #3
- Note: Not suitable for MacBooks released after 2023 or devices with a protruding front camera; Not applicable to full-screen or notch-style tempered glass screen protectors; Do not use on the rear camera of the phone.
- 💻 Why Do You Need a Webcam Cover Slide? — Safeguard your privacy by covering your webcam with our reliable webcam cover when not in use. Don't let anyone secretly watch you. Stay protected!
- ✅ Thin & Stylish — Enhance your laptop's functionality and aesthetics with our 0.027" ultra-thin webcam covers. Seamlessly close your laptop while adding a touch of sophistication.
- ✅ Fits Most Devices — Compatible with laptops, phones, tablets, desktops! Keep your privacy intact on Ap/ple, Mac/Book, iPh/one, iP/ad, H/P, L/novo, De/ll, Ac/er, As/us, Sa/msung devices.
- ✅ 365 Days Protection — Our upgraded 3.0 adhesive ensures a strong hold that won't damage your equipment. Experience reliable, long-term privacy protection day in and day out.
Update one app or all eligible apps
7. Upgrade one precisely selected package
For a controlled change, use:
winget upgrade <id> -e
Choose the ID from winget list or the package’s metadata, then use the exact-match switch so a similarly named package is not selected. Updating one package is preferable when you need to verify compatibility or schedule changes individually.
8. Upgrade everything WinGet can update
winget upgrade --all attempts to upgrade every package for which an update is available. Review the preview before accepting the operation. Pins can intentionally constrain upgrades, and entries with unknown versions can affect what WinGet is able to determine or change. Close applications that may be affected and keep recovery options available before starting a broad update.
A failed item does not mean every item failed. Read the per-package output, note which applications were skipped or unsuccessful, and retry those individually after resolving their installer or source issue. Do not treat --all as a guarantee that every program on the computer will be updated: WinGet can act only on packages it can identify and update through its configured sources.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Uninstall a selected application
Remove one package with:
winget uninstall <id> -e
The command targets an exact identifier. The verbs remove and rm are aliases for uninstall, but using uninstall makes the intent clearest in scripts and notes. Confirm the ID with winget list first, especially when several applications have similar display names. WinGet invokes the package’s registered uninstaller; any data or settings that the application’s own uninstaller retains remain subject to that uninstaller’s behavior.
Rank #4
- Anti-Slip Surface - Transform your laptop into a mobile workstation with the AboveTEK portable laptop lap desk. The anti-slip surface provides a strong grip for laptops up to 15.6 inches(Diagonal), while the double rubber strip on the bottom ensures a stable display or typing experience on your lap, couch, or bed.
- Retractable Mouse Pad - Retractable laptop mouse pad extends on both directions for the left/right handed with elevation along the edges for stopping mouse from falling off. The size of laptop tray is 14" X 9.7" and the size of mouse pad is 7.4" X 6.1".
- Effective Heat Shield - The effective heat shield made of sturdy and thick material protects your laptop from overheating. Prioritizes your comfort and safety, an ideal lap pad or board for working anywhere.
- EASY to Carry and Store - With an ergonomic and simplistic design, the lap desk is portable to store in a backpack. Only 15" in size, 2.2 lb of weight and with slim 0.6 inch thickness, it is ready to be easily carried around.
- Widely Applicable - The smooth platform accommodates laptops and tablets up to 15.6 inches(Diagonal), making it a versatile accessory and one of the best gifts for mom, dad, students and professionals. Perfect for use as a laptop bed tray or tablet holder anywhere at home, library, or park.
Repair and verify package sources
10. View configured repositories
winget source list displays the repositories configured for the client. Use it when a result comes from an unexpected location, when troubleshooting missing packages, or before relying on a script that assumes the default source.
11. Refresh repository data
winget source update refreshes source data. Run it before repeating a search or upgrade check that appears stale. A refresh updates the client’s view of the repository; it does not itself install or upgrade applications.
12. Restore the documented defaults
winget source reset restores the documented default sources. Treat this as a configuration change: review the source list afterward and make sure any organization-managed repository settings have not been removed. Reset is appropriate when source entries are damaged or you deliberately need to return to the defaults.
Reproduce a software setup on another Windows 11 PC
13. Export installed packages
Save a reusable package list with:
winget export -o packages.json
WinGet writes an export file containing package references it can identify. Store that JSON file with your setup documentation or transfer it to the replacement computer. Export is a package-list operation, not a full disk image: it does not copy application data, user profiles, licenses or settings unless those are handled separately by the applications themselves.
Best Value
- Spacious Design: Measuring 21.1" wide and 12" deep, our lap desk comfortably fits most laptops up to 15.6". Extra room for accessories ensures convenience.
- Enhanced Functionality: Packed with handy features, including a 5x9" precision tracking mouse pad and a built-in phone slot for seamless work or video calls. Plus, enjoy laptop support with the integrated device ledge.
- Cool Comfort: Enjoy a stable surface with our lap desk's dual bolster cushion, designed for comfort and airflow, keeping your lap cool during extended use.
- Durable Surface: Work with confidence on our lap desk's solid surface, featuring a blush pink color, ensuring optimal air circulation to prevent your laptop from overheating.
- On-the-Go Convenience: With an integrated handle and lightweight design (2.14 lbs), our lap desk is portable for travel or moving around the house, offering flexibility in any space.
14. Import the list
On the destination machine, run:
winget import -i packages.json
WinGet reads the manifest and attempts to install the listed packages from the destination computer’s configured sources. A package can fail to reproduce if it is no longer available, if its source is not configured, or if the destination uses different repository access. Review the import output rather than assuming that every entry installed.
When configuration needs to include Windows settings
Export and import handle package lists. For a repeatable workstation that also needs system settings, Microsoft’s WinGet configuration capability can combine packages with configuration instructions in a configuration file. Use that approach when recreating the machine requires more than installing the same applications.
Control upgrades with pins
winget pin list shows packages whose WinGet upgrades are constrained. A pin can explain why a package remains at its current version when winget upgrade --all runs. Pins govern WinGet’s upgrade behavior only; they do not prevent an application’s own updater or another management tool from upgrading the software outside WinGet.
Free tools Windows power users keep installed
One-click scans. No signup required.
Adjust client behavior in the JSON settings editor
winget settings opens the WinGet client’s JSON settings editor. The config command is an alias. Settings are client-level behavior, so edit the JSON carefully and keep a copy of the previous file if you are changing a working setup. Use winget --help on the installed client for the options and settings supported by that version.
Download without performing the normal install
winget download <id> -e downloads an installer and its dependencies without carrying out the normal install flow. This is useful when you need to stage files, inspect or scan them with your organization’s process, or move them through a controlled deployment workflow before installation. Microsoft Store packaged downloads require Microsoft Entra ID authentication, so those downloads have an additional identity requirement that ordinary package downloads may not.
Quick Recap
A practical, low-risk WinGet workflow
- Confirm the client: run
winget --helpand make sure the command responds. - Check repositories: run
winget source list; use only sources you trust. - Refresh if needed: run
winget source updatewhen package information is stale. - Find and inspect: use
winget search, thenwinget showwith the exact ID. - Make a narrow change first: install or upgrade one exact package and verify the result.
- Use broad operations deliberately: preview
winget upgrade --all, check pins and unknown versions, and read each result. - Preserve the setup: export to
packages.jsonbefore rebuilding a PC, and test the import on the destination environment.
Common problems and the right command to try
- The command is not found: verify that App Installer is present and updated, then open a new Terminal session.
- Search returns too many matches: add
--id,--name,--sourceor--exact; inspect the candidate withwinget show. - An update is missing: run
winget source update, then checkwinget list --upgrade-available. The package may have no matching newer version in the configured sources. - All-upgrade skips a package: inspect
winget pin listand the upgrade output for a pin or unknown-version condition. - A source behaves unexpectedly: inspect
winget source list; usewinget source resetonly when returning to documented defaults is appropriate. - Import does not recreate everything: confirm that the destination has access to the sources named by the manifest and remember that export does not include application data or settings.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

