[BUG] "Out of memory" false positive on Raspberry Pi 5 (aarch64) since v2.1.72 — caused by numa=fake=8 kernel parameter

Resolved 💬 2 comments Opened Mar 13, 2026 by habe358 Closed Apr 11, 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?

What's wrong
The native installer fails with Out of memory on Raspberry Pi 5 (8GB RAM, aarch64) since v2.1.72. The error occurs despite ~6.7 GB being available, and --force does not bypass the check. v2.1.71 installed successfully on the same hardware.
The root cause is the Pi 5's default kernel parameter numa=fake=8, which splits 8 GB physical RAM into 8 fake NUMA nodes of ~1 GB each. The memory check introduced in v2.1.72 appears to evaluate per-node memory rather than total system memory, incorrectly flagging the system as insufficient.
✘ Installation failed
Out of memory
Try running with --force to override checks
System memory at time of failure:
MemTotal: 8252352 kB
MemAvailable: 6890544 kB
NUMA topology (fake, not real hardware):
available: 8 nodes (0-7)
node 0 size: 988 MB free: 460 MB
node 1 size: 1019 MB free: 532 MB
...all nodes share identical CPUs, uniform distance=10

What Should Happen?

What should happen
Installation succeeds. The memory check should read MemAvailable from /proc/meminfo rather than per-NUMA-node figures, or aggregate across all nodes before applying the threshold. The --force flag should bypass the check as a fallback.

Error Messages/Logs

Steps to reproduce

Use a Raspberry Pi 5 (8GB) running Raspberry Pi OS (kernel 6.12.62+rpt-rpi-2712, aarch64)
Confirm numa=fake=8 is active: cat /proc/cmdline | grep numa
Run curl -fsSL https://claude.ai/install.sh | bash
Observe Out of memory failure despite sufficient RAM

Note: numa=fake=8 is set by the official Raspberry Pi kernel and cannot be disabled without rebuilding the kernel. This affects all Pi 5 users.

Steps to Reproduce

Steps to reproduce

Use a Raspberry Pi 5 (8GB) running Raspberry Pi OS (kernel 6.12.62+rpt-rpi-2712, aarch64)
Confirm numa=fake=8 is active: cat /proc/cmdline | grep numa
Run curl -fsSL https://claude.ai/install.sh | bash
Observe Out of memory failure despite sufficient RAM

Note: numa=fake=8 is set by the official Raspberry Pi kernel and cannot be disabled without rebuilding the kernel. This affects all Pi 5 users.

Claude Model

Other

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.71

Claude Code Version

2.1.74 (current) — reproduced also with 2.1.72 and 2.1.73 binaries downloaded directly from GCS

Platform

Anthropic API

Operating System

Other Linux

Terminal/Shell

Other

Additional Information

OS: Raspberry Pi OS (Debian 13 Trixie), kernel 6.12.62+rpt-rpi-2712 #1 SMP PREEMPT aarch64
The Raspberry Pi 5's official kernel boots with numa=fake=8 by default (visible in /proc/cmdline). This splits 8 GB physical RAM into 8 fake NUMA nodes of ~1 GB each. All nodes share identical CPUs and have uniform inter-node distance (10), confirming this is not real NUMA hardware.
The memory check introduced in v2.1.72 appears to evaluate per-node memory rather than total system memory. The smallest node has ~460 MB free, which likely triggers the threshold. Reading MemAvailable from /proc/meminfo (6.7 GB) would correctly pass the check.
numa=fake=8 is set by the official Raspberry Pi kernel and is not user-configurable without rebuilding the kernel. This affects all Pi 5 users attempting native installation.

View original on GitHub ↗

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