A Windows-first graphical interface that manages software installs and updates across WinGet, Scoop, Chocolatey, Homebrew, APT, pip, npm and more.
microsoft/winget-cli
Microsoft's command-line package manager for Windows, with a PowerShell module and COM API for installing and updating apps.
Open-source alternative to:Chocolatey
- Stars
- 26,517
- Forks
- 1,814
- Open issues
- 1,320
- Last commit
- 5 hours ago
What is it?
WinGet is the Windows Package Manager. It lets you search, install, upgrade and remove applications from the command line with a single command such as `winget install <package>`. The client reads packages from two default sources: the Microsoft Store and the community-maintained WinGet package repository.
Beyond the CLI, the repository contains the Microsoft.WinGet.Client PowerShell module for scripting package operations with native cmdlets, and a COM API for programmatic access from other Windows applications. Sources are pluggable, so organizations can point the client at private REST-based sources and configure policies through group policy.
The client targets Windows 10 1809 and later, Windows 11 and Windows Server 2025, and is distributed through the Microsoft Store App Installer package. The code is written in C++ and includes build and test instructions for developers who want to work on the client itself.
Key features
- 01Install, upgrade and uninstall Windows applications from the command line.
- 02Access packages from the Microsoft Store and the WinGet community repository.
- 03PowerShell module with cmdlets such as Find-WinGetPackage and Install-WinGetPackage.
- 04COM API for programmatic access from other Windows applications.
- 05Support for private REST-based package sources.
Use cases
- Setting up a new Windows PC with a scripted list of developer tools.
- Automating software installation and updates across managed machines with PowerShell.
- Hosting an internal package source for an organization's approved applications.
Quick start
- 1
Install the App Installer package (which includes the WinGet client) from the Microsoft Store
- 2
Install the Microsoft.WinGet.Client PowerShell module
Install-Module -Name Microsoft.WinGet.Client - 3
Install a package, for example Visual Studio Code
Install-WinGetPackage -Id Microsoft.VisualStudioCode
Things to know
- Windows only, and needs Windows 10 1809 or later, Windows 11, or Windows Server 2025.
- Does not run on Windows Server Core, and Windows Server 2019 and 2022 are unsupported.
Topics
FAQ
- What is winget-cli?
- Microsoft's command-line package manager for Windows, with a PowerShell module and COM API for installing and updating apps. WinGet is the Windows Package Manager. It lets you search, install, upgrade and remove applications from the command line with a single command such as `winget install <package>`. The client reads packages from two default sources: the Microsoft Store and the community-maintained WinGet package repository.
- Is winget-cli free to use? What license does it have?
- winget-cli is open source under the MIT license. Check the license terms before using it in commercial products.
- Is winget-cli still maintained?
- Actively maintained. The last commit to winget-cli was on Oct 22, 2026.
- What can I use winget-cli for?
- Setting up a new Windows PC with a scripted list of developer tools. Automating software installation and updates across managed machines with PowerShell. Hosting an internal package source for an organization's approved applications.
- How do I install winget-cli?
- Install the App Installer package (which includes the WinGet client) from the Microsoft Store Install the Microsoft.WinGet.Client PowerShell module: Install-Module -Name Microsoft.WinGet.Client Install a package, for example Visual Studio Code: Install-WinGetPackage -Id Microsoft.VisualStudioCode
- Where can I get winget-cli?
- The source code and installation instructions are on GitHub: https://github.com/microsoft/winget-cli
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An open-source Windows tool for removing bloatware, disabling telemetry, applying performance tweaks, and bulk installing apps via Winget or Chocolatey.
Termux is an Android terminal app and Linux environment that runs a shell with installable packages on your phone.
A portable console emulator package for Windows, built on ConEmu with a Monokai theme, Clink enhancements and a custom prompt.
The package manager for macOS and Linux that installs command-line tools and GUI apps from its formula and cask repositories.
The modern Windows Terminal app with tabs and Unicode support, plus the source for the classic Windows console host (conhost.exe).