If you're new to winget, this guide will get you from "what is this" to "I just installed 10 apps in 30 seconds." No PowerShell experience needed.
Step 1 — Check if you have winget
Press Win + X and click Terminal (or Windows PowerShell on older systems). Type:
winget --version
You should see something like v1.10.340. If you get "winget is not recognized", you need to install the App Installer from the Microsoft Store. One click. Done.
On Windows 11 you have it already. On Windows 10 (1809 or newer) it ships with App Installer.
Step 2 — Search for an app
Let's say you want VS Code. Run:
winget search "visual studio code"
You'll get a table like:
Name Id Version
------------------------------------------------------------------
Microsoft Visual Studio Code Microsoft.VisualStudioCode 1.95.3
Visual Studio Code Insiders Microsoft.VisualStudioCode.Insiders 1.96.0
The Id column is what matters — it's the unique identifier you'll use to install.
💡 Tip: Searching the official CLI is sometimes slow or returns too many results. Browsing on winget.tech is faster and shows app icons, descriptions, and tags.
Step 3 — Install one app
winget install --id Microsoft.VisualStudioCode -e
Breakdown:
--idtells winget you're providing the exact ID (not a search)-e(short for--exact) prevents partial matches — important to avoid installing the wrong thing- No
-yneeded; winget skips the prompt by default when ID is exact
You'll see a download progress bar, then "Successfully installed." Open Start Menu — VS Code is there.
Step 4 — Install several apps at once
You can chain installs with && in Command Prompt or ; in PowerShell:
CMD:
winget install --id=Microsoft.VisualStudioCode -e && ^
winget install --id=Git.Git -e && ^
winget install --id=OpenJS.NodeJS -e
PowerShell:
winget install --id=Microsoft.VisualStudioCode -e
winget install --id=Git.Git -e
winget install --id=OpenJS.NodeJS -e
This is tedious to type. The smarter way is to generate the script automatically:
- Go to winget.tech
- Search for each app you want, click the + to add it
- Hit Generate script
- Pick a format (Batch / PowerShell / Winget Import JSON)
- Paste into Terminal — done
We did the work of looking up every Id for you.
Step 5 — Update apps
winget upgrade --all
This checks every app you installed via winget against the latest catalog and updates anything outdated. Run it once a week.
To see what's outdated without installing:
winget upgrade
Step 6 — Uninstall
winget uninstall --id Microsoft.VisualStudioCode
Works for apps you didn't install with winget too — winget can usually remove most Windows apps because it talks to the same install registry.
Step 7 — Save your setup for later
This is the killer feature. Export your current app list:
winget export packages.json
You'll get a packages.json file describing every winget-tracked app on your machine. Save it to OneDrive / Dropbox / a repo.
On a new machine, restore everything:
winget import packages.json
Winget installs all of them in one go. 15 minutes from blank Windows to fully set up.
💡 Even better — at winget.tech/script you can build the JSON before you even have a new machine. Browse, click, generate.
Common errors and fixes
"Failed when searching source"
Usually a transient network error. Try:
winget source reset
winget source update
"Installer hash does not match"
Winget verifies the installer's SHA-256 before installing. If this fails, the publisher updated the file but the manifest is stale. Wait a day or report on winget-pkgs.
"Access denied" / "Administrator privileges required"
Most app installers need admin. Open Terminal as Administrator (right-click → Run as administrator) and try again. Or use the --scope user flag for apps that support per-user install.
"Multiple packages found matching input criteria"
Add -e (exact) or use a more specific ID:
winget install --id Microsoft.VisualStudioCode -e
App installs but isn't in the Start Menu
Some installers put shortcuts only on the Desktop or in %LOCALAPPDATA%\Programs\<app>. Search Start Menu by name; if missing, browse to the install folder manually.
A complete "fresh machine" workflow
Here's what we recommend for setting up a new Windows install:
- Boot the new machine, finish OOBE, sign in
- Open Edge → go to winget.tech/bundles
- Pick a starter bundle (Developer, Office, Gaming…)
- Click Add all to script → Generate script → Download .bat
- Open Downloads, right-click the .bat → Run as administrator
- Wait 10-15 minutes
- Configure Windows settings while winget does the heavy lifting
You'll go from blank to ready before you'd normally finish clicking through your first installer.
What's next?
- Winget commands cheatsheet → — every command, one page
- Best winget packages for developers → — curated list
- Browse all apps → — find what you need
- Pre-made bundles → — Developer, Gaming, Office, more
If you hit an error not covered here, drop a note on our contact page — we'll add it.
