Update stuck: empty version file prevents re-download
Resolved 💬 2 comments Opened May 27, 2026 by lesteryan Closed May 31, 2026
Description
claude update gets permanently stuck when a previous download attempt is interrupted. The updater creates a 0-byte file at ~/.local/share/claude/versions/<version> but fails to write the actual binary (e.g., due to network timeout). On subsequent update attempts, the existence of this empty file prevents re-download, leaving the CLI unable to update.
Steps to Reproduce
- Run
claude updatewith unstable network (e.g., network drops mid-download) - Observe that
~/.local/share/claude/versions/2.1.152is created as a 0-byte file - Run
claude updateagain — fails with:
````
Error: Failed to install native update
Error: Failed to fetch version from https://downloads.claude.ai/claude-code-releases/latest after 3 attempt(s): canceled
- Even with working network/proxy, the update never succeeds until the empty file is manually deleted
Workaround
rm ~/.local/share/claude/versions/<target-version>
claude update
Expected Behavior
The updater should:
- Verify the downloaded binary is non-empty (and ideally checksum-valid) before considering the download complete
- On retry, detect a 0-byte or corrupt version file and re-download instead of skipping
Environment
- macOS (Darwin 25.5.0, arm64)
- Claude Code 2.1.150 → 2.1.152
- Network: download server (
downloads.claude.ai) requires proxy in this region; initial failure was a connection timeout
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗