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

  1. Run claude update with unstable network (e.g., network drops mid-download)
  2. Observe that ~/.local/share/claude/versions/2.1.152 is created as a 0-byte file
  3. Run claude update again — 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
``

  1. 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:

  1. Verify the downloaded binary is non-empty (and ideally checksum-valid) before considering the download complete
  2. 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

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗