[BUG] SIGILL on ARM64 AVF (Android Virtualization Framework) VM — regression introduced in v2.1.113

Resolved 💬 2 comments Opened May 2, 2026 by matgianesini Closed May 2, 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?

Claude Code crashes with Illegal instruction (SIGILL) on ARM64 Linux running inside an Android Virtualization Framework (AVF) virtual machine. The AVF hypervisor filters certain CPU instructions from guests even when the host hardware supports them fully. A binary search confirmed this is a clean regression introduced between v2.1.112 (working) and v2.1.113 (broken).
This is not the 64K page size issue from #25713 — page size is confirmed 4K.

What Should Happen?

claude --version should print a version number.

Error Messages/Logs

============================================================
Bun v1.3.14 (0a466a11) Linux arm64
Linux Kernel v6.1.0 | glibc v2.36
CPU: neon fp aes crc32 atomics
Args: /usr/bin/bash: line 3: 1310 Illegal instruction    ( claude --version )

Steps to Reproduce

npm install -g @anthropic-ai/claude-code@2.1.113
claude --version  # → SIGILL crash

npm install -g @anthropic-ai/claude-code@2.1.112
claude --version  # → works correctly

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.112

Claude Code Version

2.1.113

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

Environment

| Field | Value |
|---|---|
| Last working version | v2.1.112 |
| First broken version | v2.1.113 |
| OS | Debian 12 (Bookworm) |
| Kernel | 6.1.0-34-avf-arm64 |
| Architecture | ARM64 (aarch64) |
| Hypervisor | Android Virtualization Framework (AVF / pKVM) |
| Host device | Samsung Galaxy Tab S11 Ultra (Snapdragon 8 Gen 1) |
| glibc | 2.36 |
| Page size | 4096 (4K — not the #25713 issue) |
| Node.js | v24.15.0 (via NVM) |
| Installation method | npm |

CPU Info

CPU parts present: 0xd81 (Cortex-A510) × 3, 0xd82 (Cortex-A710) × 3, 0xd85 (Cortex-X2) × 1 — a fully modern ARMv9 big.LITTLE configuration.

Full CPU features exposed by AVF guest kernel:

fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid
asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 asimdfhm
dit uscat ilrcpc flagm sb paca pacg dcpodp sve2 sveaes svepmull
svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh
bti ecv afp wfxt

Analysis

The host hardware (Snapdragon 8 Gen 1) fully supports ARMv9 including SVE2, LSE2, etc. However, the AVF hypervisor exposes a filtered subset of instructions to the guest VM. Something introduced in the Bun binary between v2.1.112 and v2.1.113 uses an instruction that falls outside what AVF permits.

Diffing the Bun version or compiler flags between these two Claude Code releases should identify the specific instruction.

Workaround

npm install -g @anthropic-ai/claude-code@2.1.112
echo 'export DISABLE_AUTOUPDATER=1' >> ~/.bashrc

View original on GitHub ↗

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