[BUG] claude update reports success but never installs new version (Windows, ESAI NuGet distribution)
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
What's Wrong?
Summary
claude update reports "Successfully updated from 2.1.92 to version 2.1.100" but no new version is created. The CurrentVersion symlink remains pointed at the old version. Repeatable across sessions — new
shells still show 2.1.92.
## Environment
- OS: Windows 11 Pro for Workstations 10.0.26200.7985
- Install method: Microsoft ESAI NuGet feed (
Anthropic.Claude.CLI.win-x64package) - Install location:
C:\Users\<user>\.claude-cli\ - Current version: 2.1.92
- Node: v22.16.0, npm 11.7.0
- PATH entries:
.claude-cli/CurrentVersion(symlink →2.1.92/)
## Repro steps
- Open a terminal (no other
claudeinstances running) - Run
claude update - Observe output:
````
Current version: 2.1.92
Checking for updates to latest version...
Successfully updated from 2.1.92 to version 2.1.100
- Open a new terminal (new shell process)
- Run
claude --version→ still shows2.1.92 - Run
claude updateagain → same "Successfully updated" message, still 2.1.92
## Observed state
````
C:\Users\<user>\.claude-cli\
├── 2.1.86/
├── 2.1.90/
├── 2.1.92/
│ ├── claude.exe (240 MB, dated 2026-04-06)
│ ├── Anthropic.Claude.CLI.win-x64.nuspec (version: 2.1.92)
│ ├── [Content_Types].xml
│ ├── _rels/
│ └── package/
└── CurrentVersion -> C:\Users\<user>\.claude-cli\2.1.92\
No 2.1.100 folder is ever created. The update claims success but produces no artifacts.
## Expected behavior
After claude update:
- A
2.1.100/folder should be created with the newclaude.exe - The
CurrentVersionsymlink should be updated to point to2.1.100/ - New shell sessions should resolve
claude --versionas2.1.100
## Additional context
- The
.nuspecshows this is the ESAI feed distribution (owners: Microsoft ESAI), not npm or direct download where claudereturns nothing (not on PATH as a standard exe — resolved via theCurrentVersionsymlink in PATH)npm list -g @anthropic-ai/claude-codeshows empty — not installed via npmnpx @anthropic-ai/claude-code@latestruns ephemerally but does not update the.claude-cliinstallation- No logs found in
~/.claude/logs/or~/.claude/*.log - Previous updates (2.1.86 → 2.1.90 → 2.1.92) worked correctly based on folder timestamps
## Hypothesis
The claude update command may be designed for the npm install path and doesn't know how to update the NuGet/ESAI distribution. It detects a newer version exists, prints success, but never
downloads/extracts the binary or updates the symlink.
What Should Happen?
It should update
Error Messages/Logs
No Error
Steps to Reproduce
claude update 2x and see same version both times
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.92
Claude Code Version
2.1.92
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗