Claude Code for Android

Run the real Claude Code CLI natively on an Android phone through Termux or AVF, with no desktop, SSH, or root.

Stars
★ 303
Last updated
3d ago
License
MIT
Primary language
Shell

At a glance

How it runs
CLI
Works with
Platform-specificClaude Code · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Termux from F-Droid or GitHub (not Google Play)64-bit Android phone (aarch64) with Android 8+Claude subscription or Console/API accountShell / CLINetwork accessLocal filesystem
Typical use
A developer whose only device at hand is an Android phone and who needs a coding agent that can read and edit project files.
Not a fit if
  • Users unwilling to give an AI agent access to phone photos, messages and accounts
  • Owners of 32-bit Android phones or anyone refusing to install Termux
  • Teams that need official Anthropic support and endorsement
Source review
69/100 · Some gaps

What does this agent do, and when should you use it?

This is a community-maintained installer and compatibility layer that gets Anthropic's official Claude Code CLI running on-device on Android. It offers three routes: Path A runs the official Linux binary through a small Termux compatibility layer, with a repo-provided launcher that checks for updates daily, verifies downloads, keeps a backup version, and rolls back on startup crashes; Path B installs Ubuntu inside Termux via proot-distro and hands off to Anthropic's own installer at a cost of about 2 GB of storage; Path C uses Android's built-in Linux development environment (AVF) to run a real Debian VM. The repository is at version 2.9.5 under the MIT license, maintained solo by Ferrum_Flux_Fenice (Erin), and states it is not affiliated with or endorsed by Anthropic, Google, or OpenAI. Alongside the scripts it ships device-compatibility evidence, a security model, troubleshooting, and an FAQ, and notes that the installer turns on no extra permissions by itself.

The center of the repo is install.sh: after being fetched from GitHub raw it asks two yes/no questions, configures Termux, installs Node.js and Claude Code, and replaces the claude command with the repo's launcher. That launcher checks once a day for a new Claude Code, smoke-tests it for startup crashes, keeps a previous version as backup where available, and falls back to a saved version if the startup check fails; claude --update-now forces an immediate check. On Android 8/9/10, install-pinned.sh instead installs a pinned Claude Code 2.1.112, and Path B builds a proot-distro Ubuntu rootfs where Anthropic's installer runs untouched. Path A also points Claude Code's own DNS resolver at 8.8.8.8 and 8.8.4.4 to avoid a known connection hang. Once installed, claude is a normal interactive CLI agent that reads files, runs commands, and goes online from the phone; combined with Termux:API and wireless ADB it can reach the microphone, location, SMS, notifications, and other apps — the maintainer used exactly that to fix voice mode recording silence on Android 16, and even compiled C/C++ audio code on the device.

  1. A developer whose only device at hand is an Android phone and who needs a coding agent that can read and edit project files.
  2. Someone who wants to keep Claude Code sessions going during a commute without running the work on a remote computer.
  3. Heavy users who want several concurrent Claude Code sessions, multi-agent workflows, or even on-device C/C++ compilation.
  4. Owners of AVF-capable phones like the Pixel 6 or Pixel 10 Pro who prefer an isolated Debian VM over touching the host Android system.
  5. People on older handsets such as the Moto G7 Power (Android 10) or Galaxy S7 (Android 8) who accept the pinned 2.1.112 build or Path B.
  6. Tinkerers who want to wire Claude Code to Termux:API and ADB for geofence alerts, voice chat, or notification triage.

How do you install or deploy this agent?

Prerequisites: install Termux from F-Droid or GitHub (not Google Play), use a 64-bit phone (uname -m inside Termux should print aarch64), and have a Claude subscription or Console/API account ready.

In Termux run:

curl -fsSL https://raw.githubusercontent.com/ferrumclaudepilgrim/claude-code-android/main/install.sh -o install.sh
bash install.sh

The script asks two yes/no questions and then runs unattended; expect roughly 5 to 10 minutes on a good connection. On Android 8, 9, or 10 use the pinned script instead:

curl -fsSL https://raw.githubusercontent.com/ferrumclaudepilgrim/claude-code-android/main/install-pinned.sh -o install-pinned.sh
bash install-pinned.sh

Path B (proot-distro Ubuntu inside Termux, about 2 GB of storage) and Path C (enable Developer options, find "Linux development environment" under Settings → System → Developer options, then follow the AVF guide on supported devices) are the documented alternatives.

How do you use this agent?

Open a new Termux session (or close and reopen Termux) after the installer finishes, then start the agent:

claude

Force an update check without waiting for the daily one:

claude --update-now

To upgrade an existing Path A install, rerun the install commands; the launcher is refreshed and your login and settings persist. If you are migrating from the old npm-based pinned 2.1.112 install, follow the migration steps in docs/install.md rather than installing over it. For launch crashes, the "Checking connectivity" hang, or sign-in trouble, start with docs/troubleshooting.md. Grant microphone, location, SMS, notification, or cross-app access only when a task needs it, by adding Termux:API and wireless ADB per the security model.

What are this agent's strengths and limitations?

Pros
  • Genuinely on-device: Claude Code runs on the phone itself with no desktop, SSH, cloud VM, or root.
  • The bundled launcher adds daily update checks, download integrity verification, a retained backup version, and startup-crash fallback rather than just swapping a binary.
  • Three distinct paths — native Termux, proot-distro Ubuntu, and an AVF Debian VM — span current flagships down to Android 8 handsets.
  • The security tradeoffs are stated plainly: default Google DNS for Claude Code's lookups, the exposure surface of Termux:API and ADB permissions, and prompt-injection risk, with an explicit note that nothing is enabled by default.
  • Compatibility claims rest on real-device evidence (Pixel 6, Pixel 10 Pro, Galaxy S26 Ultra, Moto G7 Power, Galaxy S7) rather than Android version numbers.
Limitations
  • Locked to a single vendor: it requires Claude Code plus a Claude subscription or API account, with no path to other model providers.
  • Requires Termux from F-Droid or GitHub and an aarch64 device; 32-bit phones and the Play Store Termux build are out.
  • Path B costs about 2 GB of storage and noticeably more memory and disk use; Path C is still experimental and limited to specific devices on Android 17.
  • Path A redirects Claude Code's DNS lookups to 8.8.8.8/8.8.4.4 by default, so those lookups skip your VPN's or Pi-hole's resolver.
  • Path A trusts the repo's launcher to download and patch every new Claude Code; it verifies integrity but cannot prove the source was not tampered with, and older devices are frozen at 2.1.112.
  • Maintained by one person who states they are not a security professional, so the docs are presented as evidence-backed guidance rather than a guarantee.

How does this agent compare with similar options?

The README names real alternatives. gtbuchanan/claude-code-termux packages the same patched-binary approach as an apt .deb, and this project's method started from that work; Ishabdullah/claude-code-termux covers the older npm route, the same family as this repo's pinned fallback. If you already have a computer running Claude Code, Anthropic's official Remote Control lets the work run there with the phone as a screen — the maintainer began looking for a local route largely because of that option's limits. The repo also cites google/artemis and openai/codex as ecosystem references rather than substitutes.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Claude Code for Android This agent 69 · Some gaps CLIFree + model costs ★ 303 3d ago Shell Claude Code · Claude API
OpenClaw on Android 46 · Major gaps CLIFree + model costs ★ 1.8k 15d ago Kotlin —
Harness Remote 69 · Some gaps Desktop app ★ 429 today JavaScript Codex · Claude Code
TermFold Debian Coding Terminal 51 · Major gaps Desktop appFree + model costs ★ 26 28d ago Kotlin Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Some gaps
69/ 100 5-point scale 3.5 / 5
Trust 17/29
Reliability 9/14
Adaptability 14/18
Convention 15/18
Effectiveness 9/13
Verifiability 5/8
Why each dimension lost points
Trust17 / 29 · 2.9/5

The security model states the installer grants no Android permissions and does not enable storage/ADB/MCP, advising least-privilege grants (2). However the recommended bundle includes termux-api by default and Path A defaults Claude's resolver to Google 8.8.8.8/8.8.4.4, a default external data flow (data_flow_transparency 2, external_effects 1). Dependency security is only described via glibc-runner/patchelf and checksum verification, with no pinned versions or vulnerability review (1). Rollback exists via cached versions, .blocklist, migration backup and restore.sh, but is explicitly not guaranteed (2). Source attribution to Anthropic/Termux/gtbuchanan and non-affiliation is clear (2).

Reliability9 / 14 · 3.2/5

Docs consistently distinguish repo version 2.9.x from Claude 2.1.x and repeatedly self-qualify claims (2). Dependency availability rests on Termux mirrors, glibc-runner, upstream binaries and npm registry, all external and mutable, with only estimates and mirror-switch advice (1). Failure messages are exceptionally detailed with exact error text, cause and fix (3).

Adaptability14 / 18 · 3.9/5

Targets Android 8+ ARM64 users with three install paths and device evidence, covering scenarios well (3). Capability boundaries are thorough: no OS sandbox, hooks are not enforcement, Bash still reaches network (3). Trigger precision is not applicable: this is an installer/wrapper, not an agent manifest with trigger rules (1). Environment fit covers Termux/proot/AVF, but AVF is experimental and older devices need a pinned build (2).

Convention15 / 18 · 4.2/5

README and docs are well structured with anchors and cross-links (3). Install notes are thorough: prerequisites, disk estimates, uninstall and migration (3). Naming stability is moderate: dual version numbers are confusing though explained (2). FAQ and examples are rich (3). Known limitations are extensive (3). MIT license is complete (3). No CHANGELOG file exists, only referenced in a workflow comment (1). Maintenance responsibility is declared by a single maintainer who states they are not a security professional (2).

Effectiveness9 / 13 · 3.5/5

Output usability depends on external binaries and network; verification steps are given but no runnable artifact is provided (2). Marginal value is real (native Claude Code on Android) but it is a community workaround (2). Cost/benefit: ~280MB install, auto-updates and cache overhead, honestly disclosed (2).

Verifiability5 / 8 · 3.1/5

Most claims carry dates, upstream issue links and device-evidence references (2). Cross-source corroboration is limited: device results are largely maintainer self-tests and Path B explicitly lacks saved transcripts (1). Fact/inference separation is strong, with explicit 'not verified', 'not guaranteed', 'estimates not benchmarks' labels (3).

Risks and how to mitigate them
  • Path A defaults Claude's runtime DNS to Google 8.8.8.8/8.8.4.4, bypassing private/VPN resolvers; review or edit setdns.js.
  • The recommended bundle includes termux-api by default; if the companion app is already granted permissions, any Termux process may use them.
  • The installer and launcher download and patch upstream binaries; checksums only catch transfer corruption, not a compromised source.
  • Auto-updates cannot be disabled and retain prior binaries, consuming hundreds of MB; rollback depends on a usable cached version.
  • Device compatibility evidence is largely maintainer self-testing; Path B lacks saved transcripts and AVF is experimental.
  • Publisher identity is unverified by the FollowAgents registry — unknown, not suspicious — so update path and maintenance responsibility should be independently confirmed.
Evidence confidence: Low Reviewed Oct 29, 2026 Reviewed revision a0477923457b
See the full review method →

FAQ

Do I need root or a computer?
No. Path A runs the official Linux binary through a Termux compatibility layer and Path C runs a Debian VM via Android's built-in AVF; the README states no root, no desktop, no SSH, and no cloud VM.
Why can't I install Termux from Google Play?
The README requires Termux from F-Droid or GitHub and does not support the Play Store build. The phone must also be 64-bit, i.e. uname -m prints aarch64.
How much extra data exposure does this create?
Claude Code is an agent, so anything Termux can reach it can reach. The installer enables nothing extra, but once you grant storage, Termux:API SMS/location/microphone, or ADB, it can read and potentially upload that data; Path A also sends Claude Code's own DNS lookups to Google. Grant per task, revoke after, and leave wireless debugging off.
Does it work on older Android 8, 9, or 10 phones?
Yes, but not the current build. Use install-pinned.sh or Path B; the pinned script installs a fixed older Claude Code (2.1.112) that no longer tracks upstream releases.
What happens if an update breaks the install?
Check docs/troubleshooting.md first. The Path A launcher keeps a previous version as backup and tries saved versions when a startup check detects a crash, and claude --update-now triggers a check manually; as a last resort rerun install.sh, which keeps your login and settings.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents