microsoft / microsoft/winget-cli

Blocking & Gating Pin should require force Uninstall

Open
#3,211 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Users may pin a package for a project they don't touch often but which is needed for that project. If a user goes to clean up their installed packages, running winget uninstall will not inform them that there is a pin, resulting in a broken build next time they touch their legacy project.

It would be nice if there was a warning that a pin existed for the packages, requiring either the pin to be removed or --force to be used to proceed with the uninstall.

Proposed technical implementation details

No response

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 winget uninstall command and the existing package pin handling. The change is complete when uninstalling a pinned package warns about the pin and requires removing the pin or using --force to proceed; verify the behavior with the relevant uninstall and pin tests.

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.