[BUG] Bun binaries crash on ARM Neoverse-V2 (Python SDK + native installer)

Resolved 💬 11 comments Opened Dec 10, 2025 by xwang233 Closed Mar 26, 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?

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

  1. 🔴 URGENT: Update GCS bucket binaries
  2. 🔴 Release new Python SDK with V2-compatible binary
  3. 🟡 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

View original on GitHub ↗

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