[BUG] Bun binaries crash on ARM Neoverse-V2 (Python SDK + native installer)
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?
Summary
All Bun 1.2.8 binaries crash with SIGABRT on ARM Neoverse-V2 processors. Affects:
- Python SDK bundled binary (v2.0.62)
- Native installer from GCS (v2.0.64)
Root cause: Binary compiled for Neoverse-N1, incompatible with V2.
Reproduction
# Python SDK
pip install claude-agent-sdk==0.1.14
/usr/local/lib/python3.12/dist-packages/claude_agent_sdk/_bundled/claude --version
# Result: Aborted (core dumped)
# Native installer
curl -fsSL <bootstrap.sh URL> | bash
~/.claude/downloads/claude-2.0.64-linux-arm64 --version
# Result: Aborted (core dumped)
Confirmed on 2 different V2 machines (CPU part 0xd4f, different variants/kernels).
Root Cause
Binary compiled for Neoverse-N1 (CPU part 0xd0c, 15 features) but V2 has 30+ additional features:
bti(Branch Target Identification)paca/pacg(Pointer Authentication)sve/sve2(Scalable Vector Extensions)- Plus
i8mm,bf16, enhanced crypto, etc.
Binary's startup validation detects unexpected V2 features → calls abort().
Analysis confirms:
- ✅ 0 LSE atomic instructions (not LSE issue)
- ✅ Minimal SVE code (not SVE issue)
- ✅ No runtime CPU detection
- ✅ Intentional abort, not illegal instruction
The Fix
Recompile Bun with generic ARM flags:
# Current (broken on V2)
-march=neoverse-n1
# Fix (works N1/N2/V1/V2)
CFLAGS="-march=armv8-a+crc"
CXXFLAGS="-march=armv8-a+crc"
RUSTFLAGS="-C target-cpu=generic"
Workaround
NPM package works (uses Node.js v18, not Bun):
npm install -g @anthropic-ai/claude-code
Impact
- Severity: CRITICAL
- Official installer broken on all V2 hardware (Graviton4, Ampere Altra Max)
- 100% reproducible
- Both distribution methods affected (pip + GCS bucket)
Action Items
- 🔴 URGENT: Update GCS bucket binaries
- 🔴 Release new Python SDK with V2-compatible binary
- 🟡 Add V2 to CI/CD testing
Full technical analysis available if needed.
What Should Happen?
Nvidia Grace CPU (GH200, GB200) uses Neoverse-V2. We should let the binary work there.
While I don't have concrete evidence, our CI started seeing such failures around 12/3 2:30 pm PT
Error Messages/Logs
see above
Steps to Reproduce
claude
the binary itself crashes on Neoverse-V2 ARM
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
While I don't have concrete evidence, our CI started seeing such failures around 12/3 2:30 pm PT
Claude Code Version
2.0.64
Platform
Other
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
Nvidia Grace CPU (GH200, GB200) uses Neoverse-V2. We should let the binary work there.
While I don't have concrete evidence, our CI started seeing such failures around 12/3 2:30 pm PT
This issue has 11 comments on GitHub. Read the full discussion on GitHub ↗