How to Use Windows Package Manager Winget in 2026

Windows package manager winget lets you install, update, and remove software from the command line without visiting a single website. Instead of downloading installers, clicking through wizards, and hunting for the right version, you type one command and you’re done.

This guide covers everything you need to know to use winget confidently, from first setup to advanced workflows.

What Is Winget?

Winget is Microsoft’s official command-line package manager for Windows 10 and Windows 11. It was released in 2020 and has matured significantly. Think of it like apt on Linux or brew on macOS, but built into Windows.

It pulls software from the Windows Package Manager Community Repository, a large public database of verified app packages hosted on GitHub. Anyone can submit packages, and Microsoft reviews them before they go live.

How to Use Windows Package Manager Winget

Why Should You Use Winget?

  • Install apps in seconds without browser downloads
  • Update all your software with one command
  • Automate fresh PC setups using an export file
  • No bloatware bundled with installers
  • Works great in scripts and IT deployments

If you set up new machines often, or you just want a cleaner and faster way to manage software, winget will save you real time.

Is Winget Already on Your PC?

On Windows 11, winget comes pre-installed. On Windows 10 version 1809 or later, it is included with the App Installer package from the Microsoft Store.

To check if you already have it, open PowerShell or Command Prompt and type:

winget --version

If you see a version number like v1.9.x, you are ready to go. If you get an error, install or update the App Installer from the Microsoft Store by searching “App Installer” directly.

Note: Winget requires Windows 10 version 1809 (build 17763) or higher. It does not work on Windows 7 or 8.

How to Open Winget

You can run winget from any of these:

  • PowerShell (recommended)
  • Command Prompt (cmd)
  • Windows Terminal
See also  How to Create a Fillable PDF Form: A Practical Guide

Right-click the Start menu and choose “Windows Terminal” or “PowerShell.” You do not need to run it as administrator for most tasks, but some installations may prompt for elevation automatically.

Basic Winget Commands You Need to Know

Here is a quick reference table for the most-used winget commands:

TaskCommand
Search for an appwinget search <name>
Install an appwinget install <name>
Update a specific appwinget upgrade <name>
Update all appswinget upgrade --all
Uninstall an appwinget uninstall <name>
Show app detailswinget show <name>
List installed appswinget list
Export installed appswinget export -o apps.json
Import and install from filewinget import -i apps.json

Now let’s go through each one with real examples.

How to Search for Software Using Winget

Before installing anything, search to find the exact package name:

winget search vlc

The output will show a table with the Name, ID, Version, and Source columns. The ID column is what matters most. It looks like VideoLAN.VLC.

Name        ID              Version   Source
-----------------------------------------------
VLC         VideoLAN.VLC    3.0.21    winget

Always note the ID when there are multiple results with similar names. Using the ID avoids ambiguity.

Search Tips

  • Use partial names: winget search note will return Notepad++, Notion, and others
  • Filter by source: winget search firefox --source winget
  • Use quotes for multi-word names: winget search "obs studio"

How to Install Software Using Winget

Once you have the ID, install it like this:

winget install VideoLAN.VLC

Winget will download the installer, verify it, and run it silently or with its default settings. For most apps, the installation is completely hands-off.

Installing a Specific Version

winget install VideoLAN.VLC --version 3.0.18

Installing Without Prompts (Silent Mode)

winget install VideoLAN.VLC --silent

The --silent flag suppresses all UI dialogs. This is useful in scripts and automated setups.

Installing Multiple Apps at Once

Winget does not support multiple installs in one command natively, but you can chain them in PowerShell:

winget install Google.Chrome; winget install Mozilla.Firefox; winget install Notepad++.Notepad++

Or better, use the export/import method covered below.

Accepting License Agreements Automatically

Some packages require you to accept terms. Skip the prompt with:

winget install <id> --accept-package-agreements --accept-source-agreements

This is essential in scripts where no one is sitting at the keyboard.

How to Update Software Using Winget

This is where winget shines. Instead of opening every app and checking for updates manually, run:

winget upgrade

This lists every installed app that has an update available. To apply all updates at once:

winget upgrade --all

To update a specific app:

winget upgrade Mozilla.Firefox

Upgrade All Without Prompts

winget upgrade --all --silent --accept-package-agreements --accept-source-agreements

You can put this in a scheduled task and let your machine update itself overnight. Many IT admins and power users do exactly this.

See also  AfterFX.exe: Guide to Understanding and Troubleshooting Adobe After Effects Executable

Apps Winget Cannot Update

Winget can only update apps it knows about. Some apps manage their own updates outside of winget’s scope. When you run winget upgrade, these will not appear in the list. This is normal.

How to Uninstall Software Using Winget

winget uninstall VideoLAN.VLC

If the package name is ambiguous, use the ID:

winget uninstall --id VideoLAN.VLC

Winget runs the app’s own uninstaller behind the scenes. It is the same as going to Add/Remove Programs, just faster.

How to View App Details

Want to know what you are about to install? Use the show command:

winget show VideoLAN.VLC

This returns the publisher, description, homepage URL, license, installer type, and more. It is a good habit before installing unfamiliar packages.

How to List All Installed Apps

winget list

This shows every app winget recognizes on your system, even ones installed outside of winget. It is a surprisingly good inventory tool.

Filter results:

winget list --name "adobe"

How to Export and Import App Lists

This is one of winget’s most powerful features. It lets you recreate your entire software setup on a new machine in minutes.

Export Your Current Apps

winget export -o C:\Users\YourName\apps.json

This creates a JSON file listing all your installed apps with their IDs and versions.

Import and Install on a New Machine

Copy that file to your new PC and run:

winget import -i C:\Users\YourName\apps.json --accept-package-agreements --accept-source-agreements

Winget will install everything it recognizes from the list. Apps not available in the repository will be skipped with a note.

This is a genuine time-saver when setting up a new PC or recovering from a fresh Windows install.

Using Winget with Package IDs vs Display Names

You can install using either the app name or its exact ID. Using the ID is more reliable:

ApproachExampleReliability
Display namewinget install vlcMay match multiple results
Package IDwinget install VideoLAN.VLCAlways exact match
Partial matchwinget install notepadRisky, may prompt for selection

Stick to IDs in scripts and automation. Use display names when exploring interactively.

Winget Sources Explained

Winget pulls packages from sources, which are package repositories. By default, two sources are configured:

SourceDescription
wingetMicrosoft’s community repository (most apps)
msstoreMicrosoft Store apps

List your current sources:

winget source list

Update your source data manually:

winget source update

Winget updates its source data automatically before most operations, but running this manually is useful if you notice stale search results.

Can You Add Custom Sources?

Yes. Organizations can host private winget repositories and add them with:

winget source add --name MyRepo --arg https://myrepo.example.com/index

This is used in enterprise environments to distribute internal tools via winget.

Practical Example: Set Up a New PC from Scratch

Here is a real-world script you can adapt for your own fresh Windows install:

winget install Google.Chrome --silent --accept-package-agreements
winget install Mozilla.Firefox --silent --accept-package-agreements
winget install VideoLAN.VLC --silent --accept-package-agreements
winget install Notepad++.Notepad++ --silent --accept-package-agreements
winget install 7zip.7zip --silent --accept-package-agreements
winget install Git.Git --silent --accept-package-agreements
winget install Microsoft.VisualStudioCode --silent --accept-package-agreements
winget install Spotify.Spotify --silent --accept-package-agreements

Save this as setup.ps1 and run it on any new machine. Everything installs automatically with zero clicks.

See also  AI in Anime Production: How AI Revolutionizing the Animation Industry in 2026

Winget Flags and Options Quick Reference

FlagWhat It Does
--silentInstalls without showing UI
--idTargets a specific package ID
--versionInstalls a specific version
--sourceSpecifies which repository to use
--accept-package-agreementsAuto-accepts license terms
--accept-source-agreementsAuto-accepts source terms
--scope machineInstalls for all users
--scope userInstalls for current user only
--locationSets a custom install path
--overridePasses custom arguments to installer

The –override Flag

This gives you direct control over the underlying installer. For example, to pass a custom argument to a Microsoft installer:

winget install Microsoft.VisualStudioCode --override "/SILENT /NORESTART"

Use this when you need behavior that winget’s default settings do not cover.

Common Winget Errors and How to Fix Them

“No package found matching input criteria”

The package name does not match anything. Use winget search first to find the correct name or ID.

“Another version is already installed”

Run winget upgrade instead of winget install.

Installer Hash Mismatch

This means the downloaded file did not match the expected checksum. Wait a few hours and try again. It usually means the repository metadata was recently updated and has not fully propagated.

“Access Denied” or UAC prompt failures

Run your terminal as administrator or check if your organization’s group policy restricts winget usage.

Winget is not recognized as a command

The App Installer package may be missing or outdated. Go to the Microsoft Store, search “App Installer,” and update or reinstall it.

Winget vs Other Windows Package Managers

ToolBest ForNotes
WingetGeneral use, built into WindowsOfficial Microsoft tool
ChocolateyPower users, large package libraryThird-party, been around since 2011
ScoopDev tools, no admin requiredInstalls to user directory
NiniteNon-technical usersWeb-based, no CLI, limited apps

Winget is now the sensible default for most Windows users. Chocolatey still has a larger package library for niche tools, and Scoop is excellent for developer workflows where you want everything in your user profile. For a detailed comparison of package managers, this Chocolatey vs Winget breakdown from Chocolatey’s own site offers a fair assessment.

Automating Winget with Task Scheduler

You can schedule automatic updates using Windows Task Scheduler:

  1. Open Task Scheduler
  2. Create a new Basic Task
  3. Set the trigger to Weekly or Daily
  4. Set the action to: winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
  5. Set it to run whether the user is logged in or not
  6. Run with highest privileges

This keeps your apps updated automatically without any manual effort.

Winget in PowerShell Scripts

Winget integrates cleanly into PowerShell. Here is a conditional install pattern that only installs if the app is not already present:

$app = "VideoLAN.VLC"
$installed = winget list --id $app 2>&1

if ($installed -notmatch $app) {
    winget install $app --silent --accept-package-agreements
    Write-Host "$app installed."
} else {
    Write-Host "$app already installed. Skipping."
}

This pattern is useful in IT provisioning scripts where you do not want to reinstall apps unnecessarily.

Winget Settings File

Winget has a settings file you can edit to customize behavior. Open it with:

winget settings

This opens a JSON file in your default editor. Common customizations include:

{
  "visual": {
    "progressBar": "rainbow"
  },
  "installBehavior": {
    "preferences": {
      "scope": "user"
    }
  }
}

Set scope to machine if you want apps installed system-wide by default.

Conclusion

Winget is one of the most practical tools you can add to your Windows workflow in 2026. It handles software installation, updates, and removal from a single command line. The export and import feature alone is worth learning just for the PC setup use case.

Start simple. Run winget search for an app you already use, install it with winget install, then try winget upgrade --all to update everything at once. Once that clicks, the scripting and automation possibilities open up naturally.

Frequently Asked Questions

Is winget safe to use?

Yes. Winget only installs packages from Microsoft’s verified repository. Each package submission goes through automated and manual review before it is accepted. The installer hashes are verified before execution, which protects against tampered files.

Does winget work without an internet connection?

No. Winget requires an internet connection to search the repository and download installers. There is no built-in offline mode for standard use, although enterprise environments can set up local mirrors.

Can I use winget to install Microsoft Office or Adobe software?

Some Microsoft products like Visual Studio Code and Teams are available via winget. Adobe Creative Cloud has a winget package (Adobe.CreativeCloud) as well. Major commercial software is increasingly available but coverage varies. Always run winget search to check first.

How do I find the correct package ID for any app?

Run winget search <appname> and look at the ID column. If you are unsure between two results, run winget show <id> on each to see full details including the publisher and homepage URL before installing.

Does winget replace the need for Chocolatey?

For most everyday users, yes. Winget covers the most popular consumer and developer software. Chocolatey still has a larger package library and some enterprise-focused tooling that winget does not match yet. If winget has the package you need, use winget. If it does not, Chocolatey or Scoop are solid alternatives.

MK Usmaan