[BUG] SSH remote: ccd-cli v2.1.78 crashes with `invalid opcode` on QEMU virtual CPUs (regression from v2.1.72)

Resolved 💬 2 comments Opened Mar 21, 2026 by ColDanil Closed Mar 21, 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?

After Claude Desktop auto-updated and deployed CLI v2.1.78 to remote servers via SSH, ccd-cli crashes immediately on startup (~10-12 seconds) with invalid opcode trap. The binary uses CPU instructions not available on basic QEMU virtual CPUs (only SSE/SSE2, no SSE4/AVX/AVX2).

CLI v2.1.72 worked perfectly on the same servers for days.

Server CPU: QEMU Virtual CPU version 2.5+ (flags: sse, sse2 only)
Server OS: Ubuntu 22.04, linux-x64
Server RAM: 2GB

The issue reproduces on two different servers and with both root and non-root users.

What Should Happen?

CLI binary should be compiled for baseline x86_64 (SSE2) to support all x86_64 servers, including QEMU virtual CPUs without AVX/SSE4 extensions. Remote SSH sessions should work as they did with v2.1.72.

Error Messages/Logs

# dmesg on remote server:
traps: ccd-cli[4888] trap invalid opcode ip:3263914 sp:7ffef4fb3d00 error:0 in ccd-cli[2d00000+3e3c000]

# Before swap was added, also OOM kills:
Out of memory: Killed process 4650 (ccd-cli) total-vm:85412984kB, anon-rss:1843176kB

# ssh.log from Claude Desktop (working v2.1.72):
2026-03-22 00:06:13 Spawn confirmed
2026-03-22 00:40:58 kill called with signal: SIGTERM  (ran 34 min, user-initiated)

# ssh.log (broken v2.1.78):
2026-03-22 01:51:05 Spawn confirmed
2026-03-22 01:51:17 Exited, code=-1, duration=12667ms

# CPU info:
model name : QEMU Virtual CPU version 2.5+
flags: sse sse2 (no sse4, avx, avx2)

Steps to Reproduce

  1. Set up a VPS with QEMU Virtual CPU (no AVX/SSE4 support), Ubuntu 22.04
  2. Connect to it via Claude Desktop SSH with CLI v2.1.72 — works fine
  3. Claude Desktop auto-updates, deploys CLI v2.1.78 to the server
  4. Every ccd-cli process now crashes with code=-1 after ~10 seconds
  5. dmesg shows: trap invalid opcode in ccd-cli binary
  6. UI shows: "RPC call to server.ping timed out"

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.72

Claude Code Version

2.1.78

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

Timeline:

  • Before 00:40 (Mar 22): CLI v2.1.72 on servers, sessions run 30-60+ min, no issues
  • ~00:40: Claude Desktop restarts/updates, deploys new claude-ssh binary and CLI v2.1.78
  • After 00:40: every ccd-cli process exits with code=-1 after ~10s

Also: the new version sometimes adds --allow-dangerously-skip-permissions flag to the spawn command, which is explicitly rejected when running as root:
stderr: --dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

Tested with non-root user — same invalid opcode crash.

The root cause is that v2.1.78 binary is compiled with CPU instructions beyond baseline x86_64 (SSE2), making it incompatible with QEMU virtual CPUs that don't expose modern instruction sets.

View original on GitHub ↗

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