[BUG] SSH remote deploys musl CLI binary to glibc-only Debian, install fails with "not runnable"

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Jul 31, 2026

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

  1. Provision a Debian 10 (Buster) host, glibc 2.28, x86_64
  2. Verify SSH key auth works from the Mac terminal: ssh root@HOST 'echo ok'
  3. Claude Desktop -> environment selector -> Add SSH host
  4. Send any message
  5. Connection fails. On the remote:
  • ~/.claude/remote/srv/<hash>/server exists and is executable
  • ~/.claude/remote/ccd-cli/ is empty
  1. 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.

View original on GitHub ↗