Claude Code CLI setup for Termux/Android - scripts, workarounds and docs
Go to file
Andrés Eduardo García Márquez f7ad71bd3c docs: añadir guías paso a paso (01-05) y scripts faltantes
Cubre el flujo completo desde Termux limpio (F-Droid/GitHub) hasta
personalizaciones de Claude Code, con base en la restauración de
2026-06-15 y el handoff curado del 2026-06-10.

- bin/: añade mdns-publish.py y ssh-fallback
- config/: añade smb.conf.example y aliases samba/mDNS en bashrc.snippet
- docs/: nuevos 01-termux-fresh-install, 02-base-packages,
  03-ssh-mdns-tailscale, 04-samba, 05-claude-code
- install.sh: copia los 7 scripts e instala zeroconf vía pip
- README.md: índice de docs y sanitización de identificadores personales

Gotchas documentados:
- Samba msg.lock 0755 tras tar restore
- zeroconf no viaja en backup tar
- fallos silenciosos por 2>/dev/null en .bashrc

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-16 07:58:57 -05:00
bin docs: añadir guías paso a paso (01-05) y scripts faltantes 2026-06-16 07:58:57 -05:00
config docs: añadir guías paso a paso (01-05) y scripts faltantes 2026-06-16 07:58:57 -05:00
docs docs: añadir guías paso a paso (01-05) y scripts faltantes 2026-06-16 07:58:57 -05:00
.gitignore feat: setup inicial para Claude Code en Termux 2026-04-26 17:30:25 -05:00
README.md docs: añadir guías paso a paso (01-05) y scripts faltantes 2026-06-16 07:58:57 -05:00
install.sh docs: añadir guías paso a paso (01-05) y scripts faltantes 2026-06-16 07:58:57 -05:00

README.md

Claude Code for Termux

Run Claude Code CLI on Android via Termux.

Why

Claude Code v2.1.113+ switched to native binaries, breaking Termux/Android compatibility. This repo provides:

  • v2.1.112 (last pure Node.js release) with auto-update protection
  • termux-chroot wrapper that fixes the /tmp permission issue
  • mDNS resolver for SSH without hardcoded IPs
  • Safe updater that respects the version ceiling

Requirements

  • Termux (F-Droid recommended)
  • Android 10+ (ARM64)
  • ~500MB free storage
  • An Anthropic API key or Claude subscription

Quick Install

git clone <your-git-host>/<your-user>/claude-code-termux.git
cd claude-code-termux
bash install.sh

Or dry-run first:

bash install.sh --dry-run

What Gets Installed

Component Location Purpose
Claude Code v2.1.112 npm global The CLI itself
clauded ~/.local/bin/ Wrapper with termux-chroot for /tmp
claude-check-env ~/.local/bin/ Environment validator
claude-update ~/.local/bin/ Safe updater (ceiling-aware)
mdns-resolve ~/.local/bin/ Pure Python mDNS resolver
mdns-publish.py ~/.local/bin/ Publish this device as movil.local (needs zeroconf)
ssh-mdns-proxy ~/.local/bin/ SSH ProxyCommand: mDNS → Tailscale
ssh-fallback ~/.local/bin/ SSH ProxyCommand: Tailscale → LAN fallback
settings.json ~/.claude/ Disables auto-updater

Usage

# Start Claude Code (always use this, not `claude` directly)
clauded

# Check environment
claude-check-env

# Update (safe, respects version ceiling)
claude-update

SSH with Dynamic Resolution

The included ssh-mdns-proxy resolves hostnames via mDNS first, then Tailscale DNS, then cache. See config/ssh_config.example for setup.

# Set your Tailscale domain (optional, has a default)
export TAILSCALE_DOMAIN="your-tailnet.ts.net"

Version Ceiling

v2.1.112 is the last compatible version. Starting v2.1.113, Claude Code ships native binaries requiring glibc/musl linkers that don't exist on Android (Bionic libc).

claude-update enforces this automatically. See docs/TROUBLESHOOTING.md for details.

Docs

Step-by-step guides for each piece of the stack:

# Doc Covers
01 docs/01-termux-fresh-install.md Clean Termux install (F-Droid / GitHub Releases, not Play)
02 docs/02-base-packages.md Required pkg / pip / npm packages
03 docs/03-ssh-mdns-tailscale.md SSH, .local resolution, Tailscale
04 docs/04-samba.md Samba server on port 4450 + msg.lock gotcha
05 docs/05-claude-code.md Claude Code internals (version ceiling, clauded, settings)
docs/TROUBLESHOOTING.md Common errors and fixes

Troubleshooting

See docs/TROUBLESHOOTING.md for:

  • /tmp permission errors
  • Native binary errors
  • Auto-updater issues
  • SSH resolution problems

License

MIT