Run Claude Code natively on Android via Termux or AVF (Android Virtualization Framework) -- no desktop, no SSH, no root required.
# Add to your Claude Code skills
git clone https://github.com/ferrumclaudepilgrim/claude-code-androidGuides for using ai agents skills like claude-code-android.
Last scanned: 6/19/2026
{
"issues": [
{
"file": "README.md",
"line": 122,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://claude.ai/install.sh | bash\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-06-19T09:05:55.403Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}claude-code-android is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ferrumclaudepilgrim. Run Claude Code natively on Android via Termux or AVF (Android Virtualization Framework) -- no desktop, no SSH, no root required. It has 101 GitHub stars.
Yes. claude-code-android passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/ferrumclaudepilgrim/claude-code-android" and add it to your Claude Code skills directory (see the Installation section above).
claude-code-android is primarily written in Shell. It is open-source under ferrumclaudepilgrim on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh claude-code-android against similar tools.
No comments yet. Be the first to share your thoughts!
[!WARNING] Claude crashing the moment you run
claude? (You seeBad system call,Segmentation fault, oroh no: Bun has crashed.) Claude Code checks for a new version once a day and installs it on its own. Since version 2.1.113, when upstream switched from an npm JavaScript package to a single native binary, keeping it running on Android takes ongoing work: Android is not a true native Linux system, so the binary is run through a Termux compatibility layer (glibc-runner) that lets Linux programs run on Android. A new release of Claude Code, of the Bun runtime it is built with (which bundles its own JavaScript engine and networking layer), or ofglibc-runnercan each begin using a low-level system call that Android blocks, and that crashes it on launch. It is not only old phones: older Android versions block more of these calls, but recent breaks have hit current devices too.install.shnow adds fallback protection: the launcher tests each version before running it and rolls back to the last one that worked. If you are already crashing, re-runinstall.shto get that protection. Full steps: Claude crashes immediately on launch.
[!NOTE] Already on an older pinned install? If you set Path A up with a previous version of this repo (Claude Code
2.1.112, pinned with the auto-updater off), you can move to the current auto-updating architecture without losing your sessions, login, or settings.See Upgrading from a pinned install for the steps.
Installing fresh instead? Skip ahead to Quick Install.
What you need in place before any command in this guide can succeed:
armv7l / armv8l if uname -m returns those once you have a terminal open.If you have never used F-Droid or Termux before, the upstream maintainers already cover the install steps better than this repo can:
Once Termux is open you will see a prompt that looks like ~ $. That is where the commands in Quick Install go. (Long-press to paste, or tap the on-screen Ctrl key then press V.)
Full prerequisites including the Termux:API source-matching rule: docs/install.md#prerequisites.
The repo documents three install paths. Pick one before pasting commands:
process.platform (the runtime identifier of the host operating system, which some tools branch on) reports linux and standard Linux conventions all apply.[!TIP] From the maintainer: Native Termux (Path A) works and is great for those who need it, especially with hardware or storage limitations. I highly recommend running it in proot-Ubuntu (Path B) though: it is the most native way I could get it running since the 2.1.112 regression. Until that changes, it is up to the community to keep Claude Code alive and updating on Termux.
For a side-by-side comparison: docs/install.md#choose-your-path.
curl -fsSL https://raw.githubusercontent.com/ferrumclaudepilgrim/claude-code-android/main/install.sh -o install.sh
bash install.sh
The installer asks two yes/no questions, then runs unattended. When it finishes, type:
claude
install.sh installs Termux's glibc-runner and patchelf-glibc, downloads the official linux-arm64 claude binary from Anthropic's CDN, verifies the checksum against the published manifest, patches the binary's ELF interpreter (ELF is the Executable and Linkable Format used by Linux binaries; the interpreter is the dynamic linker the kernel invokes to load the binary, and patching it points the binary at the Termux-provided one) so Android can run it, and drops a wrapper at $PREFIX/bin/claude (where $PREFIX is Termux's prefix directory, typically /data/data/com.termux/files/usr) that auto-checks for new claude releases once per day on launch. The wrapper accepts a --update-now flag to force an immediate check; this is a Path A wrapper feature, not a built-in Claude Code flag. Want to read it first? View install.sh on GitHub before running.
Full walkthrough: docs/install.md.
Prefer the smallest, simplest install and do not need current claude? install-pinned.sh pins Claude Code 2.1.112 (the last version with a JS entry point) with no binary patching and no auto-updating wrapper. It stays at that version; install.sh above is the default for current claude.
[!IMPORTANT] Path A runs on a compatibility workaround. Anthropic ships Claude Code as a glibc-linked Linux binary, with no Android build. Termux runs on Android's Bionic C library, so any version past the old pinned
2.1.112runs here only becauseinstall.shpatches the official linux-arm64 binary to load through Termux's glibc-runner. It works and stays current, but it is a shim, not native support.The real fix is upstream. Anthropic has said they may add Android support, which would need either a
bunandroid-arm64target or a static musl build. Until that ships, Path A depends on this patching step. Tracked at anthropics/claude-code#50270.
Latest Claude Code inside a full Ubuntu environment.
pkg install proot-distro -y
proot-distro install ubuntu && proot-distro login ubuntu
This may take a few minutes depending on connection speed.
Upon completion the prompt changes to something like:
root@localhost:~#
That means you are now inside Ubuntu rather than Termux. Inside Ubuntu:
apt update && apt upgrade -y
curl -fsSL https://claude.ai/install.sh | bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.ba