microsoft / microsoft/winget-cli

Add ability to specify `--scope` to `winget upgrade`

Open
#2,145 9 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Command-Upgrade 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

Add a switch for scope/context with winget upgrade, both for listing upgrades (specifying no apps), and when upgrading a specific app.

Example use case
List upgradeable apps
  • A user without admin permissions wants to check what apps can be upgraded, thus listing system context apps makes no sense.
    • winget upgrade --scope user
  • Running winget in system context, thus upgrading user context apps makes no sense.
    • winget upgrade --scope machine
Upgrade app
  • Teams is installed with the system wide MSI installer, but user without admin permissions wants to upgrade Teams in user context.

    • winget upgrade --exact --id Microsoft.Teams --scope user
  • A user without admin permissions wants to upgrade all user context apps.

    • winget upgrade --all --scope user
Proposed technical implementation details

Detection rules should say something about scope/context. So should the manifest too.

Edit 221221
  • Changed from --context to --scope for consistency with winget 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 by tracing the existing winget upgrade command and compare it with the established winget install --scope behavior referenced in the issue. Done means winget upgrade --scope user and --scope machine filter listings and apply to specific and all-app upgrades, with detection rules and manifests reflecting scope or context.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.