HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
microsoft
winget-cli
C++2020–2026
microsoft / winget-cli

winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).

66Distinct people
74Mentions
0Explicit recommenders
26.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 7:02:50 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year74 dated mentions

Observed mentions: 2020-05-19 15:03:48 UTC to 2026-04-08 21:00:21 UTC.

01020302020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 34 mentions; 6 submissions, 28 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 20 mentions; 1 submissions, 19 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC34628
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC20119
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC716
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC505
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC404
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC312
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Windows Package Manager WinGet Client If you are new to the Windows Package Manager, you might want to Explore the Windows Package Manager tool. The client has access to packages from two default sources. The first is "msstore" the Microsoft Store (free Apps rated "e" for everyone). The second is "winget" the WinGet community repository. NoteGroup policy may be configured and modify configured sources. Run winget --info to see any configured policies. Installing The Client NoteThe client requires Windows 10 1809 (build 17763), Windows 11, Windows Server 2025, or later at this time. Windows Server 2019 and 2022 can run it experimentally (not supported) by extracting the .msixbundle; see #4502 (comment). Due to hard reliances on IsWow64Process2 and MSIX, it cannot be run on Windows Server Core or on Windows versions earlier than Windows 10 1809. Microsoft Store [Recommended] The client is distributed within the App Installer package. Development Releases There are a few methods to get development releases: Install a Windows 10 or Windows 11 Insider build. Manually update using a development build from our Releases page. Use the Repair-WinGetPackageManager cmdlet from the Microsoft.WinGet.Client PowerShell module and use the -IncludePrerelease parameter. NoteIf you decide to install the latest release from GitHub, and you have successfully joined the insider program, you will receive updates when the next development release has been published in the Microsoft Store. Once you have received the updated App Installer from the Microsoft Store you should be able to execute winget features to see experimental features. Some users have reported issues with the client not being on their PATH. Manually Update The same Microsoft Store package will be made available via our Releases. Note that installing this package will give you the WinGet client, but it will not enable automatic updates from the Microsoft Store if you have not joined the Windows Package Manager Insider program. NoteYou may need to install the VC++ v14 Desktop Framework Package. This should only be necessary on older builds of Windows 10 and only if you get an error about missing framework packages. Troubleshooting Please read our troubleshooting guide. PowerShell Module The Microsoft.WinGet.Client PowerShell module provides native cmdlets for interacting with the Windows Package Manager. You can install it from the PowerShell Gallery: Install-Module -Name Microsoft.WinGet.Client Example usage: # Search for a package Find-WinGetPackage -Query "Visual Studio Code" # Install a package Install-WinGetPackage -Id Microsoft.VisualStudioCode # List installed packages Get-WinGetPackage # Update a package Update-WinGetPackage -Id Microsoft.VisualStudioCode # Repair the WinGet package manager installation Repair-WinGetPackageManager For more information, see the Microsoft.WinGet.Client page on the PowerShell Gallery. Administrator Considerations Installer behavior can be different depending on whether you are running WinGet with administrator privileges. When running WinGet without administrator privileges, some applications may require elevation to install. When the installer runs, Windows will prompt you to elevate. If you choose not to elevate, the application will fail to install. When running WinGet in an Administrator Command Prompt, you will not see elevation prompts if the application requires it. Always use caution when running your command prompt as an administrator, and only install applications you trust. Build your own You can also build the client yourself. While the client should be perfectly functional, we are not ready to provide full support for clients running outside of the official distribution mechanisms yet. Feel free to file an Issue, but know that it may get lower prioritization. Build Status Windows Package Manager Release Roadmap The plan for delivering the next Windows Package Manager release is described and included in our discussions, and will be updated as the project proceeds. Overview of the Windows Package Manager The Windows Package Manager is a tool designed to help you quickly and easily discover and install those packages that make your PC environment special. By using the Windows Package Manager, from one command, you can install your favorite packages: winget install <package> Overview Client Repository This winget-cli repository includes the source code designed to build the client. You are encouraged to participate in the development of this client. We have plenty of backlog features in our Issues. You can upvote the ones you want, add more, or even get started on one. Sources The client is built around the concept of sources; a set of packages effectively. Sources provide the ability to discover and retrieve the metadata about the packages so that the client can act on it. The default "winget" source includes packages in the Windows Package Manager Community Repository. The default "msstore" source includes packages in the Microsoft Store. It is also possible to host your own private REST-based source. Building the client Please follow our developer guidance to build, run & test the client. Credit We would like to thank Keivan Beigi (@kayone) for his work on AppGet which helped us with the initial project direction for Windows Package Manager. Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and do, actually grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. More information is available in our CONTRIBUTING.md file. When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using
Read the full README on GitHub

What Hacker News says

4 sources
The Winget module is a wreck. The way it is designed, unfortunately, neither fits the object oriented approach of PowerShell nor follows the PowerShell guidelines for cmdlets. For instance https://github.com/microsoft/winget-cli/issues/3820 or https://github.com/microsoft/winget-cli/issues/3231. Also, even though it does not completely work with PowerShell 5, it is marked as compatible. https://github.com/microsoft/winget-cli/issues/2881 The design choices made makes it weird. I hope it would be a good one in the future. But it is now problematic.
In Jeffrey Snover and the Making of PowerShell
DISCLAIMER: this list is x64-centric, and your results may vary under arm64 environments. --- PACKAGE AUTOMATION - Windows Package Manager "winget" command-line tool (winget.exe): https://github.com/microsoft/winget-cli On both Windows 10 and 11, every application and system package on my devices gets batch-installed, as winget import --import-file {{JSON-file}}, when possible. One can also export a list of installed packages for automation purposes. Winget is shipped as a component of the App Installer package, which is supplied by default under Windows 11 but is an optional installation for Windows 10. --- DRIVER AUTOMATION - Deployment Image Servicing and Management (DISM.exe): https://learn.microsoft.com/en-us/windows-hardware/manufactu... I use this a lot, as dism /online /export-driver /destination:{{output-directory}}, mainly to ma
Read the rest
nage exported driver packages post-Windows Update that are subsequently cherry-picked (latest active, installed version only), stored on a USB-C thumb drive, and pre-installed into a neutral OS (in Windows Audit Mode, using Ctrl-Shift-F3), via PnPUtil, for clean-machine testing. - PnPUtil (PnPUtil.exe): https://learn.microsoft.com/en-us/windows-hardware/drivers/d... As an example, I leverage the exported driver packages from above to one-click install them via a one-line batch command (in Windows Audit Mode, using Ctrl-Shift-F3 on first launch) for neutral-installation, clean-machine testing. --- Automation is key to getting things done, and reproducible environments are a necessity, especially when performing regression testing across various Windows OS build versions. The combination of DISM and PnPUtil is now fast enough that I actually no longer bother using WinPE to capture and flash system images, or setting up DISM to inject the drivers into an existing image. Time is money and personal sanity. --- SCREEN CALIBRATION - DisplayCAL: https://github.com/eoyilmaz/displaycal-py3 Every display panel I own (whether portable, laptop, all-in-one desktop, 4K monitor or other) gets a clean-room measurement under daylight (5000K) lamps with an X-Rite i1D3HL OEM colorimeter (e.g., CALIBRITE ColorChecker Display, et al), generating an ICC profile that can then be loaded into Windows Color Management at any later date. Color calibration makes a huge optical quality-of-life improvement, with the occasional use of an adaptive grey-scale filter (to minimize color distraction, as well as to verify grey-scale compatibility and contrast) a close second. This repo accommodates the changes required to run with Python 3 support. --- DIAGNOSTICS - REALIX HWiNFO: https://www.hwinfo.com/ HWiNFO provides "more info about your computer than you'll ever need", which is nonetheless incredibly useful. I've been using this for years.
In Ask HN: What Windows apps/programs do you use daily and recommend?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.