[BUG] SSH Remote: ccd-cli 2.1.78 bundled by Mac app exits with code 1 on every message
Bug description
When using the Claude Mac desktop app (v1.1.7714, 2026-03-19) to connect to an SSH remote, the session connects successfully and shows the file browser, but disconnects immediately after sending the first message. The UI briefly flashes "Disconnected."
Root cause from logs
The Mac app pushes ccd-cli v2.1.78 to ~/.claude/remote/ccd-cli on the remote. When the remote server spawns this binary and feeds it the initialize + user message via stdin, it exits with code 1, writing 93 bytes to stderr:
Error: Input must be provided either through stdin or as a prompt argument when using --print
This happens on every message attempt — the pattern is 100% reproducible.
The remote machine also has claude CLI v2.1.81 installed via npm, which works fine from the terminal. The version mismatch (Mac app bundling 2.1.78 while latest is 2.1.81) may be the cause.
Running ccd-cli manually with the same stdin payload works fine — the issue only reproduces when the remote server binary spawns ccd-cli.
Environment
- Mac app: Claude 1.1.7714 (3bd6f6) 2026-03-19
- ccd-cli pushed to remote: 2.1.78
- Remote CLI (npm): 2.1.81
- Remote OS: Ubuntu 24.04.4 LTS, x86_64, 4GB RAM
- Remote hosted on: Hetzner
Relevant log excerpt
From ~/.claude/remote/remote-server.log:
[process.Manager] Process started, PID=170806, command=/root/.claude/remote/ccd-cli
[process.Manager] WriteStdin: wrote 205 bytes (initialize request)
[process.Manager] WriteStdin: wrote 222 bytes (user message)
[process.Manager] Read 93 bytes from stderr
[process.Manager] stderr EOF
[process.Manager] stdout EOF
[process.Manager] Process exited with code 1
Steps to reproduce
- Install Claude Mac desktop app (v1.1.7714)
- Configure an SSH remote to a Linux VM (Ubuntu 24.04, x86_64)
- Connect — file browser loads successfully
- Send any message
- Session immediately disconnects with "Disconnected" flash
Expected behavior
The message should be processed and a response returned without disconnecting.
Additional context
- The Mac app reports itself as "up to date"
- The
ccd-clibinary is ~225MB, pushed to~/.claude/remote/ccd-cli - The remote
serverbinary at~/.claude/remote/serveris the one spawningccd-cli - Swap space and RAM are sufficient (4GB RAM + 4GB swap, no OOM kills in dmesg)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗