[BUG] SSH remote deploys musl CLI binary to glibc-only Debian, install fails with "not runnable"
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?
Claude Desktop's SSH remote fails to install ccd-cli on a Debian 10 (Buster) host.
The desktop detects glibc 2.28 (below the 2.31 requirement) and falls back to the
linux-x64-musl build. Debian has no musl loader (/lib/ld-musl-x86_64.so.1), so the
uploaded binary can never execute.
The RPC server component installs fine (~/.claude/remote/srv/ contains a working
6.3MB binary). Only ~/.claude/remote/ccd-cli/ stays empty.
The surfaced error ("Couldn't install the Claude CLI on the remote (cli archive)")
gives no hint that a musl/glibc mismatch is the cause — the real reason is only
visible in ssh.log.
Notably, the official installer produces a working glibc binary on the same host:
curl -fsSL https://claude.ai/install.sh | bash
~/.local/bin/claude --version -> 2.1.220 (Claude Code)
So a compatible build exists and runs — the musl fallback is the only failure.
What Should Happen?
Either detect that the target has no musl loader and deploy the glibc build (which
demonstrably works on this host), or surface an actionable error naming the
musl/glibc mismatch instead of the generic "cli archive" message.
Error Messages/Logs
[BinaryDeployment] SFTP upload progress: claude.zst (linux-x64-musl) 61622798/61622798B (2.15 MB/s, 27383ms elapsed)
[BinaryDeployment] server --install failed: installed cli at /root/.claude/remote/ccd-cli/2.1.219 is not runnable
[RemoteServerController] Connection failed (32869ms, trigger: send_message): Couldn't install the Claude CLI on the remote (cli archive)
Steps to Reproduce
- Provision a Debian 10 (Buster) host, glibc 2.28, x86_64
- Verify SSH key auth works from the Mac terminal: ssh root@HOST 'echo ok'
- Claude Desktop -> environment selector -> Add SSH host
- Send any message
- Connection fails. On the remote:
- ~/.claude/remote/srv/<hash>/server exists and is executable
- ~/.claude/remote/ccd-cli/ is empty
- ssh.log shows the linux-x64-musl upload followed by "is not runnable"
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.220 (Claude Code) locally installed; desktop attempted to deploy 2.1.219
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Client: macOS (Apple Silicon), Claude Desktop
Remote: Debian 10 (buster), glibc 2.28-10+deb10u4, x86_64, OpenSSH 7.9, Plesk 18.0.70
SFTP subsystem works; disk 63% used; unzip/tar/gzip/xz/zstd all present
Workaround: manually place a glibc binary at the expected version path:
cp "$(readlink -f ~/.local/bin/claude)" ~/.claude/remote/ccd-cli/2.1.219
chmod +x ~/.claude/remote/ccd-cli/2.1.219
This makes the desktop connection succeed, but breaks again on each version bump.