[BUG] 'Update available' banner checks npm latest but suggests winget upgrade — winget manifest lag makes the banner permanent on Windows

Open 💬 1 comment Opened Jul 8, 2026 by actislav

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 via winget 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

  1. Install Claude Code via winget install Anthropic.ClaudeCode on Windows
  2. Wait for a new Claude Code release that hasn't reached the winget manifest yet (a few days at most)
  3. Launch claude — yellow "Update available" banner appears suggesting winget upgrade
  4. Run winget upgrade Anthropic.ClaudeCode — "No applicable upgrade found"
  5. 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

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗