[BUG] claude update and install script report success without actually updating on Windows
Resolved 💬 3 comments Opened Jan 30, 2026 by seanmartinsmith Closed Jan 30, 2026
Environment
- Windows 11
- PowerShell 7.5.4
- Claude Code installed via
irm https://claude.ai/install.ps1 | iex DISABLE_AUTOUPDATER=1set in settings.json (should only affect auto-updates per docs)
What's Wrong
Both claude update and the install script report successful updates but don't actually replace the binary.
Steps to Reproduce
- Have Claude Code 2.1.23 installed
- Close all Claude sessions
- Run
taskkill /F /IM claude.exe(confirms no processes running) - Run
irm https://claude.ai/install.ps1 | iex - Output says "Version: 2.1.25" and "Installation complete!"
- Run
claude --version→ still shows 2.1.23
Same behavior with claude update - reports success, version unchanged.
Investigation
- File timestamp on
claude.exeunchanged after "successful" install - No file lock (verified no claude processes running)
- File attributes normal (just Archive)
- Manual
Copy-Itemof the downloaded binary works fine - Downloaded binaries appear in
~/.claude/downloads/with correct versions
Root cause: The claude.exe install subcommand (used internally by both update methods) silently fails to copy the binary to .local/bin/ but reports success anyway.
Workaround
# Download manually
Invoke-WebRequest -Uri "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/2.1.25/win32-x64/claude.exe" -OutFile "$env:USERPROFILE\.claude\downloads\claude-new.exe"
# Copy manually
Copy-Item "$env:USERPROFILE\.claude\downloads\claude-new.exe" "$env:USERPROFILE\.local\bin\claude.exe" -Force
# Verify
claude --version
Expected Behavior
Either:
- The update should actually replace the binary, OR
- If something fails, report an error instead of success
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗