Remote Host install fails on Termux/Android (aarch64): "Couldn't install the Claude CLI on the remote (cli archive)" — no Android release channel

Status Open
Reported on v2.1.220
Maintainer reply None cached
Activity 0 comments · opened Jul 28, 2026

Title

Remote Host install fails on Termux/Android (aarch64): "Couldn't install the Claude CLI on the remote (cli archive)" — no Android release channel

Environment

  • Device: Samsung Galaxy S24 Ultra, Android 14, Termux (aarch64)
  • Node.js in Termux: v26.4.0 (via pkg install nodejs)
  • @anthropic-ai/claude-code: 2.1.220
  • Client: Claude Desktop (Windows), "Remote Hosts" (SSH) feature
  • Connecting via SSH (key-based) from Windows to Termux's sshd on port 8022

Summary

Adding a Termux/Android host as a Remote Host in the Claude Desktop app always fails with:

Couldn't install the Claude CLI on the remote (cli archive)

Root cause: @anthropic-ai/claude-code has no published native binary for the Android target. The remote-host SSH connector itself (a small Go binary, claude-ssh) installs and runs fine on Termux — the failure is specific to installing the claude CLI binary.

Steps to reproduce

  1. Set up Termux with sshd, generate an SSH key, confirm ssh user@phone -p 8022 "echo ok" works.
  2. In Claude Desktop (Windows) → Remote Hosts → Add host → point it at the Termux SSH endpoint.
  3. Installer connects successfully (the connector/server binary installs and runs — confirmed working, statically-linked Go binary for aarch64), but the CLI-archive install step fails with the error above.

Root cause (confirmed by manual reproduction)

Manually running the npm package's postinstall on the same device:

npm install -g @anthropic-ai/claude-code
node $(npm root -g)/@anthropic-ai/claude-code/install.cjs

produces:

[@anthropic-ai/claude-code postinstall] Native binaries for linux-arm64-android are not available on this release channel.
  Available: darwin-arm64, darwin-x64, linux-x64, linux-arm64, linux-x64-musl, linux-arm64-musl, win32-x64, win32-arm64

So platform detection correctly identifies Termux as linux-arm64-android, but no archive is published for that target, and there's no fallback. This is very likely the exact same platform-detection/install code path used by the Remote Host feature's "cli archive" install step in Claude Desktop, which is why it fails identically and immediately (not a network/download error).

I also tried manually forcing the linux-arm64-musl optional-dependency package (@anthropic-ai/claude-code-linux-arm64-musl) as a workaround: the binary downloads fine, but fails to execute (no such file or directory) because its ELF interpreter (/lib/ld-musl-aarch64.so.1) doesn't exist under Termux's Bionic-based filesystem layout — same for the plain linux-arm64 (glibc) variant, which expects /lib/ld-linux-aarch64.so.1 / /lib64/.... Neither can run directly under stock (non-rooted) Termux without a chroot/proot-style environment providing a standard FHS layout.

Impact

The Remote Host feature is currently unusable for any Termux/Android target, even when:

  • The connector daemon (Go binary) installs and runs fine.
  • A working, authenticated claude CLI already exists and is reachable on the remote's $PATH (e.g. installed manually inside a proot/chroot Linux userland running on the same device) — the installer does not appear to check for or fall back to an existing claude before attempting (and failing) its own install.

Suggested fixes (any of these would help)

  1. Publish an Android-compatible native build (Termux commonly ships apps built against Bionic; alternatively a statically-linked musl build with a Termux-relative interpreter path, or distribute via the Termux pkg/apt repo).
  2. Before attempting to install, have the Remote Host installer check whether claude is already present and working on the remote $PATH (command -v claude && claude --version), and use it instead of failing.
  3. Surface a clearer error than "cli archive" when the platform simply isn't supported yet (e.g. "Android/Termux isn't supported for the CLI archive install; if claude is already installed and on PATH, we'll use that" vs. a hard failure).

Workaround currently in use

Installed a full Ubuntu 24.04 (aarch64, glibc) userland via proot inside Termux, installed @anthropic-ai/claude-code there natively (works fine — normal glibc userland), and authenticated it. Then replaced Termux's claude shim with a small wrapper script that execs into the proot environment and runs the real claude binary, forwarding all arguments and stdio. This makes claude fully usable over plain SSH (ssh user@phone -p 8022 claude ...) from any terminal, but the Remote Host GUI feature in Claude Desktop still fails at its install step regardless, since that step doesn't check for an existing working claude first.

Happy to provide more logs/details if useful.

View original on GitHub ↗