microsoft / microsoft/winget-cli

If no package is found with `winget install <package>` return search results for <package>.

Open
#3,847 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Command-Install Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Discussed in https://github.com/microsoft/winget-cli/discussions/3827

Originally posted by bidaumm October 27, 2023
The suggestion comes from my usage of the ArchLinux Yay - Aur Helper
Yay allows you to search for and install an app in a single command which is such a nice workflow improvement.
For instance, if I want to install ProtonVPN I can do the following process:

> yay install proton
2 aur/protonvpn 1.0.0-3 (+73 6.27) (Out-of-date: 2023-10-10)
    Official ProtonVPN metapackage that installs protonvpn-gui and protonvpn-cli, maintained by the ProtonVPN team.
1 aur/protonup-qt 2.8.2-1 (+43 1.89)
    Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris
==> Packages to install (eg: 1 2 3, 1-3 or ^4)
> 2

Currently when installing apps via winget I have to use winget search followed by winget install and also copy n pasting text from the search command into the install command. 99% of the time I have to do this because I don't know the ID of the app, which can sometimes be different from the application name. Rivatuner is a good example of this:

> winget install rivatuner
No package found matching input criteria.
> winget search rivatuner
Name                        Id          Version Source
-------------------------------------------------------
Rivatuner Statistics Server Guru3D.RTSS 7.3.4   winget
> winget install guru3d.rtss
Found Rivatuner Statistics Server [Guru3D.RTSS] Version 7.3.4

A huge boon would be to allow a configuration which modifies this process to if No package found matching input criteria. is encounter to instead perform the winget search function and then if something is returned provide the list of apps with a reference ID and a input for 'Please select the ID of the package you wish to install'

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the winget install and winget search command paths described in the issue, using the Rivatuner example to understand the current behavior. Define how a failed install should present search results, reference IDs, and selection input, then verify that a package can be selected and installed through the proposed workflow.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.