[BUG] Claude Code Desktop fails on remote ARM64 SSH host: "process exited with code 1"

Resolved 💬 3 comments Opened May 11, 2026 by GalynaPrykhodchenko Closed May 15, 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?

Environment

  • Claude Desktop: 1.6608.2 (macOS, Apple Silicon)
  • CCD CLI bundled: 2.1.128
  • Remote host: Hetzner CAX (Ubuntu 24.04, ARM64/aarch64)
  • Remote CCD CLI: /root/.claude/remote/ccd-cli/2.1.128 (ELF aarch64)

Issue

Every SSH session to remote host fails with "Claude Code process exited with code 1"
immediately on first message. No first response received.

Reproduced

  • Issue occurs with external MCP connectors enabled AND disabled (serverCount=0)
  • Issue persists across Desktop versions (1.6259.1 → 1.6608.2)
  • Issue persists across CCD versions (2.1.119, 2.1.121, 2.1.128)
  • Issue persists after wiping ~/.claude/remote/ and letting Desktop reinstall

Diagnostic

  • Remote binary works perfectly when invoked manually:
  • ~/.claude/remote/ccd-cli/2.1.128 --version → exit 0
  • echo "test" | ~/.claude/remote/ccd-cli/2.1.128 --print → exit 0
  • RPC server (~/.claude/remote/server) healthy, only ping requests in logs
  • Auth in ~/.claude/.credentials.json is valid
  • SSH connection itself is fine (file listing, trust check all OK)

Sentry event IDs

dc80c0c2f642477d9a0ebf5c95e3adb3
c6692380ac0947809e3e5d6ae3b77e1d

What Should Happen?

When sending a message in a Claude Code Desktop SSH session, the remote CLI should start and respond. Instead, the Claude Code process exits with code 1 immediately, with no first response, on every attempt.

Error Messages/Logs

[error] Session local_xxx query error: Claude Code process exited with code 1
[CCD CycleHealth] unhealthy cycle (1s, hadFirstResponse=false, reason=no_response)

Sentry event IDs:
- dc80c0c2f642477d9a0ebf5c95e3adb3
- c6692380ac0947809e3e5d6ae3b77e1d
- 35887f57b97c499cbbac8010a393a4df

[SSH] Using remote spawn function (cli: /root/.claude/remote/ccd-cli/2.1.128)
[CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers
  serverNames: ['mcp-registry', 'ccd_session', 'ccd_session_mgmt', 'scheduled-tasks']
[CCD] Passing 3 plugin(s) to SDK (skills: 1, remote: 1, local: 1)

Manual invocation on the remote works perfectly:
$ ~/.claude/remote/ccd-cli/2.1.128 --version
2.1.128 (Claude Code)
$ echo "what is 2+2?" | ~/.claude/remote/ccd-cli/2.1.128 --print
4
(exit 0 in both cases)

Steps to Reproduce

  1. Set up a Hetzner CAX (ARM64) cloud server running Ubuntu
  2. From Claude Code Desktop on macOS (Apple Silicon), add an SSH connection to root@<server>
  3. Let Desktop auto-install ccd-cli and server on the remote (~/.claude/remote/)
  4. Send any message in the session (e.g. "hello")
  5. Observe: red banner "Claude Code a planté / Claude Code process exited with code 1"

Verified troubleshooting that did NOT fix the issue:

  • Updating Desktop (1.6259.1 → 1.6608.2)
  • Disabling all external MCP connectors (Asana, Slack, Calendar, Fireflies) — serverCount=0
  • Multiple ccd-cli versions installed (2.1.119, 2.1.121, 2.1.128) — all show same behavior
  • Authenticating claude manually on remote (auth in ~/.claude/.credentials.json works fine)

Environment:

  • Desktop: Claude 1.6608.2, macOS, arm64
  • Remote: Ubuntu 24, ARM64 aarch64 (Hetzner CAX)
  • ccd-cli binary on remote: ELF 64-bit aarch64, dynamically linked
  • ~/.claude/remote/server (RPC) is healthy: only ping/pong in remote-server.log
  • The remote claude CLI works standalone, only fails when invoked by Desktop SDK

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.128 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Client: macOS (Apple Silicon). Remote host: Ubuntu 24 ARM64 (Hetzner CAX).

View original on GitHub ↗

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