[BUG] 'Update available' banner checks npm latest but suggests winget upgrade — winget manifest lag makes the banner permanent on Windows
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code available through my install channel (winget)
What's Wrong?
On Windows with a winget install, the "Update available" banner compares the installed version against the npm latest release, but the remediation it suggests is winget upgrade. The winget manifest trails every release by hours-to-days, so the suggested command reports "no updates available" while the banner keeps showing. Since Claude Code releases ship every few days, for winget users the yellow banner is effectively permanently visible and permanently non-actionable.
Concrete data right now:
- Installed:
claude --version-> 2.1.201 (installed viawinget install Anthropic.ClaudeCode, binary at%LOCALAPPDATA%\Microsoft\WinGet\Links\claude.exe) winget show Anthropic.ClaudeCode-> Version: 2.1.201 (latest available in the winget repo)npm view @anthropic-ai/claude-code version-> 2.1.204
So the banner says an update is available and tells me to run winget, winget says I'm fully up to date, and both are "right" — they're just looking at different channels.
This exact bug was already fixed for Homebrew: the update check was pointed at the install channel's available version instead of npm latest (see #41140, and the regression report #50017 which confirms the intended behavior is "check the channel you installed from"). The winget channel needs the same treatment.
Related: #63238 reports the same symptom on Windows, but the repro there compares against Anthropic.Claude (the Desktop app package) rather than Anthropic.ClaudeCode, and doesn't identify the channel mismatch as the cause.
What Should Happen?
For winget installs, the update check should compare against the version available in the winget manifest (Anthropic.ClaudeCode), same as the Homebrew fix. If querying winget is too slow/unreliable at startup, then at minimum:
- don't show the banner when the suggested remediation command cannot produce an update, or
- show which version the banner is referring to, so users can tell it's manifest lag and not a broken install.
Error Messages/Logs
> claude --version
2.1.201 (Claude Code)
> winget upgrade Anthropic.ClaudeCode
No applicable upgrade found.
> winget show Anthropic.ClaudeCode | findstr Version
Version: 2.1.201
> npm view @anthropic-ai/claude-code version
2.1.204
Steps to Reproduce
- Install Claude Code via
winget install Anthropic.ClaudeCodeon Windows - Wait for a new Claude Code release that hasn't reached the winget manifest yet (a few days at most)
- Launch
claude— yellow "Update available" banner appears suggestingwinget upgrade - Run
winget upgrade Anthropic.ClaudeCode— "No applicable upgrade found" - Relaunch
claude— banner still there
Is this a regression?
No, this never worked for winget (the equivalent Homebrew behavior was fixed in #41140)
Claude Code Version
2.1.201
Platform
Native Anthropic API
Operating System
Windows 11 Pro (10.0.26200)
Terminal/Shell
PowerShell
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗