Description
When Claude Code is installed via winget (Anthropic.ClaudeCode), the "Update available!" notification is effectively permanent, because the update check compares against the latest npm version.
Problem
- npm releases are always ahead of winget releases (winget packaging/review takes additional time)
- By the time winget catches up to version N, npm is already at N+1 or N+2
- This means winget users always see the yellow "Update available! Run:
winget upgrade Anthropic.ClaudeCode" banner
- Running
winget upgrade reports "No applicable update found" since the latest winget version IS already installed
Steps to Reproduce
- Install Claude Code via
winget install Anthropic.ClaudeCode
- Launch
claude
- Observe "Update available!" notification at the bottom
- Run
winget upgrade Anthropic.ClaudeCode → "No applicable update found"
- Notification persists indefinitely
Current behavior
- Installed (winget): 2.1.70
- Latest (npm): 2.1.72
winget upgrade → no update available
- Notification still shows
Expected behavior
The update check should be aware of the installation method and compare against the correct package registry:
- npm install → check npm registry
- winget install → check winget registry (or suppress if winget version matches latest winget release)
Environment
- OS: Windows 11 Pro
- Claude Code: 2.1.70 (installed via winget)
- Node.js: v22.22.0
Description
When Claude Code is installed via winget (
Anthropic.ClaudeCode), the "Update available!" notification is effectively permanent, because the update check compares against the latest npm version.Problem
winget upgrade Anthropic.ClaudeCode" bannerwinget upgradereports "No applicable update found" since the latest winget version IS already installedSteps to Reproduce
winget install Anthropic.ClaudeCodeclaudewinget upgrade Anthropic.ClaudeCode→ "No applicable update found"Current behavior
winget upgrade→ no update availableExpected behavior
The update check should be aware of the installation method and compare against the correct package registry:
Environment