microsoft/winget-cli

Developer Tools

A native Windows package manager that installs, searches and updates desktop apps from one command line.

26,539
1,817
C++
MIT
7 years old

WinGet is worth a look if you already script Windows machine setup and want one command instead of downloading installers by hand. It is a package manager for Windows desktop apps, not for libraries or language runtimes, and it comes from Microsoft rather than from a community fork.

The problem

Before WinGet, setting up a Windows machine meant visiting each vendor's site, picking the right installer, and clicking through its wizard — then repeating all of that per machine and remembering each update yourself. With WinGet you run one command naming the package, find it by name through the community repository, and later ask for everything installed through it to update in one sweep. The step that changes is retrieving and launching installers: the client resolves the package and drives the vendor installer, while Windows itself may still show an elevation prompt.

What's different

The client draws from two default sources: the Microsoft Store, limited to free apps rated "e" for everyone, and the community winget-pkgs repository. Those are separate catalogues with separate policies, so availability of a given application in one does not imply the other. A PowerShell module exposes the same operations as cmdlets, which is the practical difference for anyone provisioning machines from scripts rather than a terminal. A COM API exists for embedding the client in other software.

The main trade-off is privilege. Whether WinGet runs elevated changes installer behaviour: without administrator rights some installers will trigger a Windows elevation prompt, and declining it makes the install fail. That is vendor installer behaviour surfacing through WinGet, not something the client abstracts away. The client is also distributed primarily inside the App Installer package from the Microsoft Store; a manually installed release build does not enable automatic updates from the Store unless you have joined the Windows Package Manager Insider programme.

Who should try it

Good fit: a developer or IT admin who rebuilds Windows machines and wants installs scriptable through the CLI or PowerShell cmdlets, repeating the same package list on each machine. Poor fit: someone who needs a package manager for language-level libraries or reproducible build environments, or who controls a Linux or macOS fleet — WinGet addresses Windows desktop applications only.

Requirements and limitations

The client requires Windows 10 1809 (build 17763), Windows 11, Windows Server 2025 or later. Windows Server 2019 and 2022 can run it only experimentally by extracting the .msixbundle, and that path is explicitly unsupported; Windows Server Core and earlier Windows versions cannot run it at all, because of hard dependencies on IsWow64Process2 and MSIX. Older Windows 10 builds may also need the VC++ v14 Desktop Framework Package when the client reports missing framework packages.

Ongoing care matters as much as first install: if you install a release build manually, Store-driven updates do not arrive unless you are on the Insider programme, so you are responsible for updating the client yourself. Building the client from source is documented, but Microsoft says it is not yet ready to fully support clients running outside the official distribution mechanisms, and issues from such builds may get lower prioritisation. If installs misbehave, a troubleshooting guide is provided.

HotRepo's take

HotRepo's records start on 2026-10-24, when the repository sat at 26,537 stars with +8 that day, and show one further daily-board observation on 2026-10-25 at 26,539 stars, +7. Two recorded dates are not enough to judge whether interest is rising, fading or sustained, so treat these as dated snapshots only. Before adopting, check whether the specific applications you need actually appear in the winget or msstore source rather than assuming coverage.

Hacker News

Windows package manager does not permit opting out of telemetry
▲ 428 · 316 comments · May 21, 2020
Windows package manager is down
▲ 13 · 0 comments · October 28, 2025
Windows Package Manager (Winget)
▲ 7 · 1 comment · May 19, 2020

Written by AI from the project's README, updated October 25, 2026. The project's own docs are the source of truth.