v2.1.113+ broken on Termux/Android: native binary requires glibc, no JS fallback
## Summary Starting with **v2.1.113**, Claude Code switched from a JavaScript entry point (`cli.js`) to a native glibc Linux binary (`bin/claude.exe`). This completely breaks Claude Code on **Termux (Android)**, where: - `process.platform` reports `android`, not `linux` - Android's kernel rejects `ET_EXEC` glibc ELF binaries (`unexpected e_type: 2`) - There is no glibc on Android/Termux (it uses Bionic libc) **v2.1.112** (last JS-based version) works perfectly. ## Environment - **Device:** Pixel 9, Android 14 (non-rooted) - **Termux:** latest from F-Droid - **Node.js:** v22 (Termux arm64) - **Claude Code:** v2.1.113 / v2.1.114 broken, v2.1.112 works ## Steps to reproduce ```bash # On Termux npm install -g @anthropic-ai/claude-code@latest claude --version ``` **Expected:** Version output **Actual:** ``` Error: claude native binary not installed. Either postinstall did not run (--ignore-scripts, some pnpm configs) or the platform-native optional dependency was not downloaded (--omit=optional). ``` ## Root cause 1. **`install.cjs`** calls `process.platform` → returns `android` → not in `PLATFORMS` map → skips binary install 2. Even force-installing `@anthropic-ai/claude-code-linux-arm64` and copying the binary fails because Android's kernel rejects glibc executables: ``` error: "bin/claude.exe" has unexpected e_type: 2 ``` 3. Running via `patchelf` or the glibc `ld-linux-aarch64.so.1` loader also fails (`Could not find a PHDR: broken executable?`) 4. Running
Posted by tpdhd on Apr 18, 2026, 4:38 AM
Tags
Related issues
- ⚠️ PHP CVEs. Update required!
- I think RTS could continue to work if someone made a massive leap of faith and put all the modern infra around it that a AAA extraction s...
- RFC: Pluggable SessionDB Provider — PostgreSQL, MySQL, and Beyond
- I’m firmly anti-Tahoe and haven’t updated, and I’ve started to find Apple despicable.
- [FEATURE] Link a source control repo as the source for organization skills
- Feature Request: Option to disable paste text collapse in input field
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
reliability (Sysadmin)
⚠️ PHP CVEs. Update required!
I think RTS could continue to work if someone made a massive leap of faith and put all the modern infra around it that a AAA extraction s...
RFC: Pluggable SessionDB Provider — PostgreSQL, MySQL, and Beyond
v2.1.113+ broken on Termux/Android: native binary requires glibc, no JS fallback
I’m firmly anti-Tahoe and haven’t updated, and I’ve started to find Apple despicable.
[FEATURE] Link a source control repo as the source for organization skills
Feature Request: Option to disable paste text collapse in input field
We went down the WASM sandboxing rabbit hole at Gobii when building our agent infra.
v2.1.113+ broken on Termux/Android: native binary requires glibc, no JS fallback
## Summary Starting with **v2.1.113**, Claude Code switched from a JavaScript entry point (`cli.js`) to a native glibc Linux binary (`bin/claude.exe`). This completely breaks Claude Code on **Termux (Android)**, where: - `process.platform` reports `android`, not `linux` - Android's kernel rejects `ET_EXEC` glibc ELF binaries (`unexpected e_type: 2`) - There is no glibc on Android/Termux (it uses Bionic libc) **v2.1.112** (last JS-based version) works perfectly. ## Environment - **Device:** Pixel 9, Android 14 (non-rooted) - **Termux:** latest from F-Droid - **Node.js:** v22 (Termux arm64) - **Claude Code:** v2.1.113 / v2.1.114 broken, v2.1.112 works ## Steps to reproduce ```bash # On Termux npm install -g @anthropic-ai/claude-code@latest claude --version ``` **Expected:** Version output **Actual:** ``` Error: claude native binary not installed. Either postinstall did not run (--ignore-scripts, some pnpm configs) or the platform-native optional dependency was not downloaded (--omit=optional). ``` ## Root cause 1. **`install.cjs`** calls `process.platform` → returns `android` → not in `PLATFORMS` map → skips binary install 2. Even force-installing `@anthropic-ai/claude-code-linux-arm64` and copying the binary fails because Android's kernel rejects glibc executables: ``` error: "bin/claude.exe" has unexpected e_type: 2 ``` 3. Running via `patchelf` or the glibc `ld-linux-aarch64.so.1` loader also fails (`Could not find a PHDR: broken executable?`) 4. Running
Comments (0)
No comments yet. Start the discussion.