microsoft / microsoft/winget-cli
Feature Request: Improve winget update name matching (Space insensitive)
Nobody has claimed this yet.
- 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:
- List installed apps or search using winget list or
winget search "lossless" - Copy the exact app name or ID from the output
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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