Illegal instruction crash on ARM64 Linux in Apple Virtualization Framework (AVF) — embedded Bun runtime incompatible
Status Open
Reported on v2.1.140
Maintainer reply None cached
Workaround ✓ Mentioned in description ↑
Activity 0 comments · opened Jul 20, 2026
Environment
- OS: Debian Linux, kernel
6.1.0-34-avf-arm64(Apple Virtualization Framework VM) - Architecture:
aarch64(ARM64) - CPU part:
0xd81(ARM Neoverse V2) - CPU features: SVE2, BTI, I8MM, BF16, FEAT_LRCPC, FEAT_PAC, and many more
- glibc: 2.36
- Node.js: v20.20.2
Problem
All Claude Code versions from 2.1.140 onward crash with Illegal instruction (exit code 132) on this system. These versions ship a native ARM64 binary that embeds Bun as its JavaScript runtime.
$ claude --version
============================================================
Bun v1.3.14 (d2989145) Linux arm64
Illegal instruction
Bun versions tested that crash: 1.3.14 (embedded in 2.1.140) and 1.4.0 (embedded in 2.1.181+).
Notably, Bun 1.3.14 installed via the official bun.sh installer works fine on the same system — suggesting the embedded Bun binary uses different compile flags (e.g., targeting ARM instructions not exposed by the AVF hypervisor).
Reproduction
npm install -g @anthropic-ai/claude-code # installs latest (2.1.215+)
claude --version # → Illegal instruction (exit 132)
Also reproduced with the official install script:
curl -fsSL https://claude.ai/install.sh | bash # → Illegal instruction (exit 132)
Workaround
Install the last Node.js-based version:
npm install -g @anthropic-ai/claude-code@2.1.112
This works because older versions use Node.js as the runtime instead of a bundled Bun binary.
Request
Please either:
- Investigate which ARM instruction the embedded Bun uses that the official
bun.shbuild avoids, or - Fall back to Node.js on systems where the native binary fails to execute.