winget-cli icon indicating copy to clipboard operation
winget-cli copied to clipboard

Winget `list --upgrade-available --include-pinned` should show the pinned clearly

Open AdrianoCahete opened this issue 2 months ago • 1 comments

Relevant area(s)

WinGet CLI

Description of the new feature / enhancement

As a title says, there's no difference when we call winget list --upgrade-available and winget list --upgrade-available --include-pinned that show which one of the list is pinned.

There's a information on the bottom of the list saying that that has X packages that cannot be upgradeable, because they are pinned and asking to run the command with the '--include-pinned'.

> winget list --upgrade-available
Name                                   Id                                            Version                Available            Source
---------------------------------------------------------------------------------------------------------------------------------------
NVM for Windows 1.1.12                 CoreyButler.NVMforWindows                     1.1.12                 1.2.2                winget
Go Programming Language amd64 go1.24.1 GoLang.Go                                     1.24.1                 1.25.1               winget
Visual Studio Build Tools 2019         Microsoft.VisualStudio.2019.BuildTools        16.11.47               16.11.50             winget

And the list with pinned packages:

> winget list --upgrade-available  --include-pinned
Name                                   Id                                            Version                Available            Source
---------------------------------------------------------------------------------------------------------------------------------------
NVM for Windows 1.1.12                 CoreyButler.NVMforWindows                     1.1.12                 1.2.2                winget
OpenVPN 2.6.13-I001 amd64              OpenVPNTechnologies.OpenVPN                   2.6.1301               2.6.1501             winget
Go Programming Language amd64 go1.24.1 GoLang.Go                                     1.24.1                 1.25.1               winget
Visual Studio Build Tools 2019         Microsoft.VisualStudio.2019.BuildTools        16.11.47               16.11.50             winget

Proposed technical implementation details

Maybe add a new column when the '--include-pinned' was passed? Or add a * before the name, adding on the end of the list that the packages with * are pinned?

Like:

> winget list --upgrade-available  --include-pinned
Name                                   Id                                            Version                Available            Source
-------------------------------------------------------------------------------------------------------------------------------------------------
NVM for Windows 1.1.12                 CoreyButler.NVMforWindows                     1.1.12                 1.2.2                winget
*OpenVPN 2.6.13-I001 amd64             OpenVPNTechnologies.OpenVPN                   2.6.1301               2.6.1501             winget
Go Programming Language amd64 go1.24.1 GoLang.Go                                     1.24.1                 1.25.1               winget
Visual Studio Build Tools 2019         Microsoft.VisualStudio.2019.BuildTools        16.11.47               16.11.50             winget

The 1 package(s) with * is(are) pins that prevent upgrade. Use the 'winget pin' command to view and edit pins.

or

> winget list --upgrade-available  --include-pinned
Name                                   Id                                            Version                Available            Source            Pinned?
-----------------------------------------------------------------------------------------------------------------------------------------------------------
NVM for Windows 1.1.12                 CoreyButler.NVMforWindows                     1.1.12                 1.2.2                winget            No
OpenVPN 2.6.13-I001 amd64              OpenVPNTechnologies.OpenVPN                   2.6.1301               2.6.1501             winget            Yes
Go Programming Language amd64 go1.24.1 GoLang.Go                                     1.24.1                 1.25.1               winget            No
Visual Studio Build Tools 2019         Microsoft.VisualStudio.2019.BuildTools        16.11.47               16.11.50             winget            No

Info

λ winget --info
Windows Package Manager (Preview) v1.12.210-preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.26100.6584
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.27.210.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads
Configuration Modules              %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled
λ winget --version
v1.12.210-preview

AdrianoCahete avatar Sep 28 '25 15:09 AdrianoCahete

Probably better to put the asterix (*) after the version to avoid sorting issues as winget still doesn't include sort fixes..

eabase avatar Nov 14 '25 10:11 eabase