[BUG] [BUG] Claude Desktop Cowork: download pipeline corrupts 2.1.111/linux-arm64/claude.zst — CDN file is intact, app's HTTP client breaks it
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?
Cowork fails to start in Claude Desktop on macOS Apple Silicon. The UI shows "Download failed. Check your internet connection." but this is misleading — the actual error is a checksum mismatch on the Claude Code VM binary for version 2.1.111 (linux-arm64).
I have verified independently with curl that Anthropic's CDN is serving the correct file (correct size, correct SHA-256). The bug is inside Claude Desktop's download pipeline: when the app fetches the same URL, it reports a wrong downloaded size (97 MB vs actual 52 MB), truncates the transfer at ~27 MB, and fails checksum verification. Same file, same URL, same network — curl works, Claude Desktop doesn't.
This has been failing continuously since April 16, 2026 on Claude Desktop v1.3109.0. Reproduced on two independent networks (residential Wi-Fi and cellular hotspot). Cowork is completely unusable.
Related issue: #49391
What Should Happen?
Claude Desktop should download the claude-code 2.1.111 linux-arm64 binary successfully, verify its checksum, and start the Cowork workspace.
Error Messages/Logs
From ~/Library/Logs/Claude/main.log:
[ClaudeCodeManager-VM] Downloading from https://downloads.claude.ai/claude-code-releases/2.1.111/linux-arm64/claude.zst
[ClaudeCodeManager-VM] Downloaded file size: 97886208 bytes, transferred bytes: 27320949 bytes (expected: 51815821)
[ClaudeCodeManager-VM] Verifying checksum
[ClaudeCodeManager-VM] Checksum mismatch: expected=a6830c443d1722c882b37c2901b022c3d23c34262de2213c9a5cbeb8391329ea, actual=e61747ae4ec2ed4281e7d987d004e36ab6d91aafe8bdf2e938e87381e0be8a0c
[ClaudeCodeManager-VM] File head: ELF
[ClaudeCodeManager-VM] Download attempt 3/3 failed Error: Checksum verification failed
at xBr.downloadBinaryForTarget (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.js:433:61252)
at async xBr.prepareForTarget (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.js:433:63291)
at async xBr.prepareForVM (/Applications/Claude.app/Contents/Resources/app.asar/.vite/build/index.js:433:67185)
[ClaudeCodeManager-VM] All download attempts failed
From cowork_vm_node.log (shows this surfaces as misleading "Download failed" in UI):
[VM:steps] download_and_sdk_prepare failed (17424ms): Download failed. Check your internet connection and try again.
[VM:start] Startup failed: Error: Download failed. Check your internet connection and try again.
Steps to Reproduce
- Use Claude Desktop v1.3109.0 on macOS with Apple Silicon
- Open the app and trigger Cowork (send any prompt in a workspace session)
- Observe "Failed to start Claude's workspace — Download failed. Check your internet connection and try again."
- In Terminal, verify the CDN is actually serving the correct file:
curl -sI https://downloads.claude.ai/claude-code-releases/2.1.111/linux-arm64/claude.zst
# Returns: content-length: 51815821, etag: "29855f2f99c8d2ab200c779a83fdfd4f"
curl -s -o /tmp/claude-test.zst https://downloads.claude.ai/claude-code-releases/2.1.111/linux-arm64/claude.zst
shasum -a 256 /tmp/claude-test.zst
# Returns: a6830c443d1722c882b37c2901b022c3d23c34262de2213c9a5cbeb8391329ea
# This matches exactly what the app expects in its checksum verification.
- Check ~/Library/Logs/Claude/main.log — Claude Desktop reports downloading 97886208 bytes (wrong), transferring only 27320949 bytes, and failing checksum — despite curl fetching the same URL successfully from the same machine.
The CDN is fine. The app's HTTP download path is broken.
Workarounds attempted (none work):
- Clear local caches (deleted ~/Library/Application Support/Claude/claude-code-vm/2.1.92/): no effect
- Reinstall Claude Desktop: no effect
- Switch networks (home Wi-Fi → cellular hotspot): no effect, same error
- Set CLAUDE_CODE_VERSION=2.1.97 env var and launch app from terminal: app ignores env var, still requests /2.1.111/
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
2.1.92
Claude Code Version
2.1.111 (Claude Desktop VM target) — Claude Desktop app v1.3109.0
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Hardware: Apple Silicon Mac
Claude Desktop build verified via: defaults read /Applications/Claude.app/Contents/Info.plist CFBundleShortVersionString → 1.3109.0
Cache verified clean, stale v2.1.92 binary removed, app fresh-downloads on each launch and fails identically.
Confirmed not a network problem: curl downloads the same URL successfully from the same machine on the same network at the same time that Claude Desktop fails.
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗