microsoft / microsoft/winget-cli

Agreements should not terminate entire context

Open
#4,351 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Bug 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

I'm trying to do an update via winget on a notebook, but it keeps giving this warning "Package contracts were not agreed. Operation cancelled." and I can't find anything about it on the internet...

CLI Output

Originally posted by @Novogumiguel in #4350

When agreements for a single package are present, --accept-package-agreements has not been specified, and WinGet is running in a non-interactive context, the entire flow is terminated. This leads to a negative user experience. Instead, only the single package which requires agreements should fail and upgrades or installs for the remaining packages should be attempted.

  • Related to #4233
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

The issue gives no file or test entry point; begin by tracing the CLI's non-interactive package install and upgrade flow where package agreements are checked. Done means a package requiring agreement fails without terminating the entire operation, while remaining installs or upgrades are attempted.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.