Skip to content

Guide · Open source

How to use winget-cli: install apps from the Windows terminal

Updated · written with AI from the project's own documentation and checked against our catalogue data

WinGet is the Windows Package Manager, a command-line tool called winget that lets you search for and install apps from one place using a single command. This guide explains what the client is, how to get it on your machine, and how to use its basic commands and PowerShell module. By the end you will be able to install an app from the terminal and know where its limits are.

WinGetmicrosoft/winget-cli · ★ 26.6k · MIT

Quick start

  1. 1Check your Windows version. Confirm you run Windows 10 1809 (build 17763) or later, Windows 11, or Windows Server 2025. Windows Server Core is not supported.
  2. 2Install App Installer. Get the App Installer package from the Microsoft Store, which the README recommends. It contains the WinGet client.
  3. 3Open a terminal. Open PowerShell or Command Prompt and check that winget runs.
  4. 4Search for a package. Use the search command to find the app you want in the msstore or winget sources.
  5. 5Install the app. Run winget install followed by the package name, for example winget install <package>.
  6. 6Install the PowerShell module (optional). Run Install-Module -Name Microsoft.WinGet.Client to script installs and updates with cmdlets.

What WinGet is and where its packages come from

The client has access to packages from two default sources. The first is msstore, the Microsoft Store, which the README describes as containing free apps rated for everyone. The second is winget, the WinGet community repository on GitHub.

WinGet is built around the concept of sources: a set of packages, with metadata that lets the client discover and act on them. You can also host your own private REST-based source.

  • msstore: packages from the Microsoft Store
  • winget: packages from the Windows Package Manager Community Repository
  • Group Policy may configure or change sources; run winget --info to see any configured policies

Install the WinGet client on Windows

The client is distributed within the App Installer package. The README recommends getting it from the Microsoft Store. The client requires Windows 10 1809 (build 17763), Windows 11, Windows Server 2025, or later.

Windows Server 2019 and 2022 can run it experimentally and without support by extracting the .msixbundle. It cannot run on Windows Server Core or on Windows versions earlier than Windows 10 1809.

  • Recommended: install App Installer from the Microsoft Store
  • Manual option: download the same package from the project's Releases page (this does not enable automatic Store updates unless you have joined the Windows Package Manager Insider program)
  • If you get an error about missing framework packages on older Windows 10 builds, the README says you may need the VC++ v14 Desktop Framework Package

Search for and install an app with winget install

From one command you can install a package. The README gives the general form below, where <package> is the package name or identifier you want to install.

Use this command in a terminal after the client is installed.

winget install <package>

Use the PowerShell module for scripted installs

The Microsoft.WinGet.Client PowerShell module provides native cmdlets for working with the Windows Package Manager. Install it from the PowerShell Gallery with the command below.

The README shows example cmdlets for searching, installing, listing, updating and repairing packages. Find-WinGetPackage searches, Install-WinGetPackage installs by Id, Get-WinGetPackage lists installed packages, Update-WinGetPackage updates a package, and Repair-WinGetPackageManager repairs the installation.

  • Find-WinGetPackage -Query "Visual Studio Code"
  • Install-WinGetPackage -Id Microsoft.VisualStudioCode
  • Get-WinGetPackage
  • Update-WinGetPackage -Id Microsoft.VisualStudioCode
  • Repair-WinGetPackageManager
Install-Module -Name Microsoft.WinGet.Client

Understand administrator behaviour

Installer behaviour can differ depending on whether WinGet runs with administrator privileges. Without administrator rights, some applications require elevation. Windows will prompt you to elevate, and if you decline, the application will fail to install.

In an Administrator Command Prompt you will not see elevation prompts for applications that need them. The README advises caution when running as administrator and installing only applications you trust.

Get development builds and troubleshoot

To get development releases you can join a Windows 10 or Windows 11 Insider build, manually install a development build from the Releases page, or run Repair-WinGetPackageManager with the -IncludePrerelease parameter. Once the updated App Installer is installed, the README says winget features lists experimental features.

Some users have reported the client not being on their PATH. For help, the project points to its troubleshooting guide in the repository.

What people use it for

  • Install common Windows apps from a terminal with one command
  • Script software installs and updates using the Microsoft.WinGet.Client module in PowerShell
  • Control which package sources are used, which the README notes Group Policy can configure
  • Automate setting up a new Windows machine

Frequently asked questions

Is winget free?

The source describes WinGet as an MIT-licensed open-source project on GitHub, so the client's code is open source. The msstore source includes free apps rated for everyone, according to the README. Individual packages carry their own terms.

What Windows versions does winget support?

The README says the client requires Windows 10 1809 (build 17763), Windows 11, Windows Server 2025, or later. Windows Server 2019 and 2022 can run it experimentally and without support. It cannot run on Windows Server Core.

Why is winget not recognized in my terminal?

The README notes that some users have reported the client not being on their PATH. Reinstalling App Installer from the Microsoft Store is the recommended route, and the project's troubleshooting guide covers other cases.

How do I install winget PowerShell module?

Run Install-Module -Name Microsoft.WinGet.Client in PowerShell. The module is published on the PowerShell Gallery and provides cmdlets such as Find-WinGetPackage and Install-WinGetPackage.

Is winget better than Chocolatey or Scoop?

The source lists Chocolatey, Scoop and Ninite as comparable projects but does not compare them in detail. WinGet's distinguishing points in the source are its built-in Microsoft Store source and its Group Policy and PowerShell integration.

Can I build winget-cli from source?

You can build the client yourself by following the project's developer guidance. The README says self-built clients are not yet fully supported, and telemetry is not enabled in self-built versions.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

WinGet suits Windows users who want to install apps from a terminal, PowerShell users who script installs, and IT admins who manage sources. If you run Windows Server Core, a non-Windows system, or need a fully supported self-built client, pick a different tool or use the official distribution.

Install options & downloads