Repository navigation
π Termux Claude Code Installer v2.0.0
π₯ Run Claude Code natively on Termux β 100% WORKING, 0% PROOT, DNS FIXED, one command and you're in! π
π Major update β DNS now works!
This release fixes the #1 issue from v1.0.0: DNS resolution failures inside Claude Code.
If you had EAI_AGAIN, getaddrinfo failed, or network errors on v1.0.0, v2.0.0 fixes it.
β‘ Install in 10 seconds
curl -fsSL https://raw.githubusercontent.com/Ryovx/Termux-Claude-Code/main/install.sh | bashThen run:
claudeThat's it. π―
Upgrading from v1.0.0? Just re-run the command above. The installer detects and replaces the old Alpine musl runtime automatically.
π What was broken in v1.0.0
Claude Code needs network access. The stock Alpine musl loader reads /etc/resolv.conf, which is not readable inside Termux. Android routes DNS through the netd system service, so musl-based lookups were failing with:
EAI_AGAIN
getaddrinfo failed
Result: claude would launch, but every API call to Anthropic would fail with a network error.
β¨ What's new in v2.0.0
π DNS fixed β patched musl loader
We now ship a patched musl loader built from Ryovx/Musl-on-Termux that adds:
| Addition | Behavior |
|---|---|
MUSL_ON_TERMUX=1 env var |
Read DNS configuration from $PREFIX/etc/resolv.conf |
| Deterministic fallback | If no nameserver found β 1.1.1.1 β 8.8.8.8 β 127.0.0.1 |
The launcher sets MUSL_ON_TERMUX=1 unconditionally, so DNS works with zero user configuration.
π SHA256-verified runtime
The musl runtime is now downloaded from a signed release archive and verified against a pinned SHA256 before extraction. Installation aborts on any mismatch.
MUSL_ZIP_SHA256 = e4f456187a54f6fbbcda31026354728262b5acfce11642eaca2df88722c9870b
π Automatic resolv.conf setup
The installer creates $PREFIX/etc/resolv.conf with sane defaults if it doesn't exist:
nameserver 1.1.1.1
nameserver 8.8.8.8
If you already have a resolv.conf, it is preserved β never overwritten.
π‘οΈ Safer installer
- Atomic swap β the old package is only removed after the new one is validated (size + executability)
--forcewipes musl runtime β clean re-download when neededclaude-uninstallsafety guard β refuses to run outside a Termux$PREFIXreadelfinstead offileβ more reliable ELF inspection across Termux versions- Minimum free space raised to 800 MB (peak during atomic swap)
π¦ What gets installed
| Path | Purpose |
|---|---|
$PREFIX/bin/claude |
Launcher (6 lines of bash) |
$PREFIX/bin/claude-fix |
Restores launcher from template |
$PREFIX/bin/claude-update |
Updates to latest npm release |
$PREFIX/bin/claude-uninstall |
Removes everything |
$PREFIX/lib/claude-musl/ |
Patched musl loader + libc + headers |
$PREFIX/lib/node_modules/@anthropic-ai/claude-code-linux-arm64-musl/claude |
The official 280 MB binary |
$PREFIX/etc/resolv.conf |
DNS servers (created if missing) |
Nothing is written outside $PREFIX.
π₯ Breaking changes
If you're upgrading from v1.0.0:
β οΈ The Alpine musl runtime is removed. The installer downloads the patched musl fromRyovx/Musl-on-Termuxinstead.β οΈ MUSL_ON_TERMUX=1is now mandatory. The launcher sets it automatically β no action needed from you.β οΈ Minimum free space raised from 700 MB β 800 MB.β οΈ Minimum installer version is now 2.0.0. Older v1.0.0 launchers will not be upgraded by the new installer'sclaude-fixβ re-runinstall.shinstead.
Migration:
curl -fsSL https://raw.githubusercontent.com/Ryovx/Termux-Claude-Code/main/install.sh | bashThat's it. The installer handles everything.
π Requirements
| Requirement | Details |
|---|---|
| Termux | From F-Droid or GitHub Releases β NOT Play Store |
| Architecture | aarch64 (ARM64) only |
| Free space | ~800 MB |
| Internet | Required during install and update |
| Root | β Not required |
π Documentation
Full documentation in three languages:
| Language | README | Contributing | Security | Support | Code of Conduct |
|---|---|---|---|---|---|
| π¬π§ English | README.md | CONTRIBUTING.md | SECURITY.md | SUPPORT.md | CODE_OF_CONDUCT.md |
| πΈπ¦ Ψ§ΩΨΉΨ±Ψ¨ΩΨ© | README.ar.md | CONTRIBUTING.ar.md | SECURITY.ar.md | SUPPORT.ar.md | CODE_OF_CONDUCT.ar.md |
| π¨π³ δΈζ | README.zh.md | CONTRIBUTING.zh.md | SECURITY.zh.md | SUPPORT.zh.md | CODE_OF_CONDUCT.zh.md |
π Known limitations
- β x86_64 and armv7 not supported (only
aarch64) - β Play Store Termux not supported (use F-Droid or GitHub Releases)
β οΈ OAuth login may be unreliable on some Termux setups β use API key instead:
export ANTHROPIC_API_KEY=sk-ant-...
claudeπ License
Licensed under the GNU General Public License v3.0 or later (SPDX: GPL-3.0-or-later). See LICENSE for full text.
π€ Open Invention Network (OIN)
Ryovx is a proud member of the Open Invention Network (OIN). In line with OIN's mission and our commitment to the Termux community, most of Ryovx's service products are released under GNU GPLv3.
The patched musl runtime bundled by this installer is distributed under the MIT License by Ryovx/Musl-on-Termux. The musl sources it is based on are released under the MIT License by the musl project.
π Ethical Request β Not a Legal Restriction
Just as we provide this tool completely free of charge, we kindly ask that you do the same: please keep it free.
This is a friendly request, not a legal prohibition. Under GPLv3, you retain the full right to redistribute this software, including commercially. We simply hope you'll choose to honor the spirit in which it was shared.
π Full Changelog
Full Changelog: v1.0.0...v2.0.0
See CHANGELOG.md for the complete changelog.