Native Installer Incorrectly Rejects aarch64 as "Unsupported architecture: arm"
Bug Report: Native Installer Incorrectly Rejects aarch64 as "Unsupported architecture: arm"
Environment
- Claude CLI version: 1.0.51
- Operating System: Raspberry Pi OS (64-bit) on Raspberry Pi
- Architecture: aarch64 (confirmed via
uname -m) - Node.js version: v22.17.0
- Installation method: npm global install
Bug Description
Claude Code version 1.0.51 crashes on startup with "Unsupported architecture: arm" error, despite running on a valid aarch64 (64-bit ARM) system that should be supported according to the code.
Steps to Reproduce
- Install Claude Code 1.0.51 on Raspberry Pi with 64-bit OS
- Verify architecture with
uname -m(showsaarch64) - Run
claude updateorclaudecommand - Observe crash with architecture error
Expected Behavior
Claude Code should start normally on aarch64 systems, as this architecture is listed as supported in the native installer code (arm64).
Actual Behavior
Claude Code crashes with the following error:
claude update
Current version: 1.0.51
Checking for updates...
file:///home/pi/.nvm/versions/node/v22.17.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:2408
[Error stack showing architecture detection failure]
Error: Unsupported architecture: arm
at T21 (file:///home/pi/.nvm/versions/node/v22.17.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:2408:15375)
Additional Context
- Previous versions worked: Claude Code was previously working on this same Raspberry Pi system before the 1.0.51 update
- Architecture verification:
uname -mreturnsaarch64- System is running 64-bit ARM, not 32-bit ARM
- Other users confirmed working: Issue #1101 shows version 0.2.114 working on aarch64 systems
- Regression: This appears to be a regression introduced by the new native installer in version 1.0.51
Root Cause Analysis
Looking at the error, the issue appears to be in the T21() function in the native installer code. The function seems to have logic for:
x64(Intel/AMD 64-bit)arm64(64-bit ARM)
But it's incorrectly detecting the aarch64 system as unsupported "arm" instead of recognizing it as the supported "arm64" architecture.
Suggested Fix
The architecture detection logic in the native installer needs to properly map aarch64 to arm64 or handle the aarch64 case explicitly.
Workaround
Downgrading to version 0.2.114 resolves the issue:
npm uninstall -g @anthropic-ai/claude-code
npm install -g @anthropic-ai/claude-code@0.2.114
Impact
This bug prevents Claude Code from working on Raspberry Pi systems running 64-bit OS, which were previously supported and are valid ARM64 systems that should work according to the documented architecture support.
System Details
pi@raspberrypi:~ $ uname -a
Linux raspberrypi [kernel_version] aarch64 GNU/Linux
pi@raspberrypi:~ $ uname -m
aarch64
pi@raspberrypi:~ $ node --version
v22.17.0This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗