[BUG] SSH remote: ccd-cli v2.1.78 crashes with `invalid opcode` on QEMU virtual CPUs (regression from v2.1.72)
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
- Set up a VPS with QEMU Virtual CPU (no AVX/SSE4 support), Ubuntu 22.04
- Connect to it via Claude Desktop SSH with CLI v2.1.72 — works fine
- Claude Desktop auto-updates, deploys CLI v2.1.78 to the server
- Every ccd-cli process now crashes with code=-1 after ~10 seconds
- dmesg shows:
trap invalid opcodein ccd-cli binary - 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.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗