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

Status Closed — not planned
Maintainer reply None cached
Activity 11 comments · opened Dec 10, 2025 · 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 ↗

11 Comments

github-actions[bot] · 8 months ago

Found 1 possible duplicate issue:

  1. https://github.com/anthropics/claude-code/issues/12160

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

github-actions[bot] · 7 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

kyujin-cho · 7 months ago

Any progress on this issue? We're expecting same crash on GH200 systems

apullin · 7 months ago
Any progress on this issue? We're expecting same crash on GH200 systems

The npm install appears to still work, and I had to use this on a GH200 to get running:
sudo npm install -g @anthropic-ai/claude-code@2.1.12

joanvelja · 7 months ago

Note: if you do not have sudo permissions on an HPC with Grace systems (GH200, GH300), you might want to load a module that has npm installed and then run npm install.

That said, if for some reason, your HPC doesn't have modules with npm installed, then a (hacky) solution is to do the following:

# install nvm; requires git
export NVM_DIR="$HOME/.nvm"
mkdir -p "$NVM_DIR"
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# Load into current shell
. "$NVM_DIR/nvm.sh"

# build/install node
nvm install 24 --build-from-source
nvm alias default 24
nvm use 24

node -v
npm -v

# install claude code via npm into $HOME
mkdir -p "$HOME/.npm-global"
npm config set prefix "$HOME/.npm-global"
export PATH="$HOME/.npm-global/bin:$PATH"

npm install -g @anthropic-ai/claude-code
"$HOME/.npm-global/bin/claude" --version

And, if you want it to be exposed to VSCode/cursor/antigravity extensions, create a wrapper that loads nvm + PATH:

cat > "$HOME/claude-wrapper.sh" <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

export NVM_DIR="$HOME/.nvm"
if [ -s "$NVM_DIR/nvm.sh" ]; then
  . "$NVM_DIR/nvm.sh"
  nvm use 24 >/dev/null
fi

export PATH="$HOME/.npm-global/bin:$PATH"
exec "$HOME/.npm-global/bin/claude" "$@"
EOF

chmod +x "$HOME/claude-wrapper.sh"

And set Remote VS Code settings (on the SSH target) to an absolute path:

"claudeCode.claudeProcessWrapper": "$YOUR_PATH_TO_CC"

Else CC will anyway be accessible via terminal.

achimnol · 7 months ago

Claude Code is now bugging me to use the native install, but I can't do so because of this issue..... 😞

alan-cooney-dsit · 6 months ago

It would be great to get a fix for this if possible, especially now fast mode requires the binary installation. To confirm, the core issue seems to be that the binary won't install for Neoverse-V2 processors.

bcumming · 6 months ago

Bump: this is an issue on the Grace-Hopper system I am using.

github-actions[bot] · 5 months ago

Closing for now — inactive for too long. Please open a new issue if this is still relevant.

bcumming · 5 months ago

The issue was innactive on your side, not ours.
We still can't use our Grace Hopper system.

Arm Neovers V2 with 64 K page size please.

github-actions[bot] · 4 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.