Run Claude Code directly on Android ARM64 with Termux. No Ubuntu, no proot distro, no cloud VM. Choose shell, npm, or a Rust wrapper.
A normal install fails because Android is not a standard glibc Linux environment.
The official Anthropic binary is built for glibc Linux. Android uses Bionic libc, so the binary cannot be executed directly.
Android and Termux use different filesystem paths and runtime behavior than a normal Linux distribution.
Pinning old JavaScript-only versions avoids the native binary problem, but it leaves users behind official Claude Code releases.
This project combines the official Linux ARM64 binary with Termux-specific launchers.
Run the official glibc binary on Android through grun, without a full Linux container, proot distro, or Ubuntu install.
The npm wrapper detects Android, installs the Linux ARM64 native package with the right flags, and launches it through grun.
Use the latest official ARM64 binary from @anthropic-ai/claude-code-linux-arm64, with update support from the wrapper.
The launcher stays small: Termux calls grun, and grun starts the official Linux ARM64 binary.
Native ARM64. No VM and no Linux container. The official binary runs through the Termux glibc bridge.
Shell is best for beginners. NPM is best for npm-managed updates. Rust is for developers who want a compiled launcher.
$ curl -fsSL https://raw.githubusercontent.com/DamnSit/claude-code-termux/main/install-secure.sh | bash
claude launcher.
$ pkg update && pkg install nodejs-lts
$ npm install -g @xurxuo/claude-code-termux@latest
grun on Android.
$ pkg update && pkg install git rust
$ git clone https://github.com/DamnSit/claude-code-termux.git
$ cd claude-code-termux/rust-wrapper && cargo build --release
target/release/claude-termux to $PREFIX/bin/claude after the build finishes.
{
"env": {
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen",
"ANTHROPIC_MODEL": "claude-sonnet-4-5",
"ANTHROPIC_API_KEY": "sk-ant-..."
},
"autoUpdatesChannel": "latest"
}
Why this is different from old pinned installs or a full proot Ubuntu environment.
| Aspect | This project ✦ | Pin v2.1.112 | proot Ubuntu |
|---|---|---|---|
| Binary | 🔥 Native ARM64 | JS (cli.js via node) | x86_64 emulated |
| Version | Latest | Frozen old version | Latest |
| Performance | 🔥 Native | ⚠ Node.js | 🐢 Emulated/containerized |
| Needs Ubuntu | ✗ No | ✗ No | ✓ Yes |
| Setup | 1 command | Manual multi-step | Large manual setup (1GB+) |
| Custom endpoint | ✓ Built-in | ✗ — | Manual |
| Startup time | Fast (native) | Slow (Node init) | Very slow (proot) |
Android ARM64 · No root · No emulator · No Ubuntu
$ curl -fsSL https://raw.githubusercontent.com/DamnSit/claude-code-termux/main/install-secure.sh | bash