[BUG] SSH Remote: ccd-cli 2.1.78 bundled by Mac app exits with code 1 on every message

Resolved 💬 3 comments Opened Mar 21, 2026 by tomastrnka Closed Mar 21, 2026

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

  1. Install Claude Mac desktop app (v1.1.7714)
  2. Configure an SSH remote to a Linux VM (Ubuntu 24.04, x86_64)
  3. Connect — file browser loads successfully
  4. Send any message
  5. 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-cli binary is ~225MB, pushed to ~/.claude/remote/ccd-cli
  • The remote server binary at ~/.claude/remote/server is the one spawning ccd-cli
  • Swap space and RAM are sufficient (4GB RAM + 4GB swap, no OOM kills in dmesg)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗