[BUG] claude update re-downloads binary even when already up to date
Resolved 💬 3 comments Opened Mar 7, 2026 by AxGord Closed Mar 7, 2026
Description
claude update re-downloads and overwrites the binary in ~/.local/share/claude/versions/ even when the installed version already matches the latest version. The file content is identical (same md5), but the file is fully re-downloaded and rewritten on every run.
Steps to Reproduce
- Run
claude update— it downloads and installs the latest version (e.g. 2.1.71) - Verify the file exists:
ls -la ~/.local/share/claude/versions/2.1.71(192MB) - Record the file's md5:
md5 ~/.local/share/claude/versions/2.1.71 - Run
claude updateagain - Observe that
mtimechanges but md5 remains the same — binary was re-downloaded
Evidence
# Before claude update
mtime: 1772881044 (12:57)
md5: af5ad61bb40f719c183f51975906f541
# After claude update (same version, "up to date")
mtime: 1772881351 (13:02)
md5: af5ad61bb40f719c183f51975906f541 ← identical
The output says "Claude Code is up to date (2.1.71)" but the file was still rewritten.
Impact
- ~192MB downloaded on every
claude updatecall, even when unnecessary - On slow connections this causes a 5-minute timeout (
ap$=300000), leaving a 0-byte file inversions/, which breaks future updates - Users on metered connections waste bandwidth
Expected Behavior
Before downloading, check if versions/<version> already exists with the correct size (from manifest.json). If it matches — skip the download.
Environment
- Version: 2.1.71
- Platform: darwin-arm64 (macOS)
- Install method: Native installer (standalone binary)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗