microsoft / microsoft/winget-cli

Feature Request: Improve winget update name matching (Space insensitive)

Open
#5,555 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description of the new feature / enhancement

Currently, when attempting to update an application via winget update, the command requires the exact space-sensitive application name or ID. For example:

winget update "LosslessCut"    # works  
winget update "lossless cut"   # fails  

This creates friction in common workflows. To work around this, I have to:

  1. List installed apps or search using winget list or winget search "lossless"
  2. Copy the exact app name or ID from the output
  3. Paste it into the winget update command

Doing this repeatedly adds unnecessary steps to what should be a straightforward update command.

Proposed technical implementation details

Make the winget update command's name matching:

  • Whitespace insensitive (ignoring extra/missing spaces between words)
  • List found results (Excluding those that are not installed on my system) and let me choose one using Arrow keys
  • Skip choosing if only 1 result is found

This is how I imagine it could be:

winget update "Lossless Cut"

cli: Multiple applications found. Choose 1 to update (Use arrow keys to choose one and press enter):
[x] LosslessCut
[ ] Lossless audio Cut
[ ] Lossless Cut pro
Alternatively

The main search command winget search algorithm could be improved like this and we could get the same effect in update commands when using -q or --query flags (or none as it should default to query)

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 at the winget update command's application-name matching and compare it with the winget search query path. Define how whitespace-insensitive matches should behave, then account for filtering results to installed applications and selecting among multiple matches while skipping selection for one result. Done means the described update commands resolve the intended installed application without requiring exact spaces.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.