Spokes.wiki Search About
Tech Article T1 volatile source ↗ source url
Created
Updated

Hermes Agent on Android / Termux

Nous Research's own installation guide for running hermes-agent on a phone, read 2026-08-22. T1 for what it is: a first-party statement of the artifact's platform support, its dependency set and the parts of itself that do not work there. The one claim it makes that is not artifact fact — that a third party's package repository is unaudited — is a disclaimer against interest and is treated as such below.

It is the first source in this wiki where a framework says which of its own features it cannot ship on a platform, by name, with the reason.

Tier 2, stated as a support level

"The installer script and documentation here are maintained on a best-effort basis only. Commits to main may break these packages at any point in time."

A tier system for platforms is ordinary in compilers and language runtimes and rare in agent frameworks, which usually present a feature list without saying where it holds. Hermes publishes a Tier 2 label and then enumerates both sides of it.

Works on Android: the CLI, cron, PTY and background terminals, the Telegram gateway, MCP, Honcho memory, and ACP. One command covers it — pip install -e '.[termux]' -c constraints-termux.txt.

Does not:

  • Voice transcription. "The voice extra is blocked by faster-whisper -> ctranslate2, and ctranslate2 does not publish Android wheels." A missing binary wheel, three levels down the dependency graph, removes a whole modality.
  • Automatic browser/Playwright bootstrap — the installer skips it; local automation needs npm install -g agent-browser by hand, and the docs say to "treat browser / WhatsApp tooling on Android as experimental."
  • Docker-based terminal isolation. The container sandbox is one of the framework's stated security controls (hermes-agent lists "command approval, container isolation"), and on Android only the approval half survives.
  • The .[all] bundle, which is the "No solution found" error the troubleshooting section opens with.

And a limit that belongs to the OS rather than the project: "Android may still suspend Termux background jobs, so gateway persistence is best-effort rather than a normal managed service." An always-on agent on a phone is not always on.

What the install list says about the framework

pkg install -y git python clang rust make pkg-config libffi openssl nodejs ripgrep ffmpeg

clang, rust, make, pkg-config, libffi and openssl are there to build Python dependencies from source, because the wheels do not exist for this architecture. So a phone install of an agent framework is a compiler toolchain install first. The docs even name the failure that forces it: jiter, a Rust/maturin package, needs ANDROID_API_LEVEL exported from getprop ro.build.version.sdk or it will not build.

Two more of the packages are the agent's tools rather than its runtime — ripgrep for file search and ffmpeg for media conversion. The harness anatomy openclaw-hermes-control-layer describes (runtime + gateway + memory + tools + identity + policy) is visible in an apt line: two entries of that list are shelling out to standard Unix binaries.

The docs also tell you to use the stdlib venv and pip, not uv, which fails here — a small reminder that the fast-tooling consensus in Python is x86-and-ARM64-Linux-shaped.

The community package, disclaimed

A contributor repository offers pkg install hermes-agent after piping a setup script from a personal GitHub account. The docs carry it and repudiate it in the same breath:

"community-maintained by @adybag14-cyber and is not an official NousResearch distribution. NousResearch does not build, sign, host, or audit these packages."

Worth recording precisely because the disclaimer is unusually complete — build, sign, host, audit, all four denied. The page still publishes the curl | bash line above it. That is a documented, first-party instance of the pattern ../defensive-security-wiki owns: the convenient install path runs code from a party the vendor names as outside its trust boundary, and the user is told so in the sentence after the command.

Why it matters here

A feature list is not a capability claim until a platform is attached. hermes-agent's page here is built from README claims — gateways, isolation, voice, browser automation — and this source is the first to say that on one supported platform, four of those are absent and one is best-effort. The caveat already on that page ("the feature list is README claims") now has a worked example from the vendor itself.

It also sharpens the memory-first reading. openclaw-hermes-control-layer frames Hermes as the pole that runs on infrastructure you own against openclaw's gateway breadth. A phone is the extreme case of infrastructure you own, and what survives the move is precisely the memory-and-CLI core: Honcho memory, cron, MCP, one gateway. What falls away is the breadth. The positioning holds under the most hostile deployment target the project supports, which is better evidence for it than a README.

Cross-spoke context

Routed here because the subject is the agent framework's platform support; the Android substrate is paged elsewhere and not duplicated. termux itself lives in ../osint-wiki with its filesystem layout and command surface; ../foss-applications-wiki owns the who-controls-the-machine question and holds proot-distro, the rootless-container route onto the same hardware. The curl | bash-from-an-unaudited-repo pattern is ../defensive-security-wiki's supply-chain territory.

Re-read 2026-09-22: unchanged. Still Tier 2 and best-effort; the same features work and the same four do not. The guide now leads with the one-line install.sh installer.

hermes-agent · nous-research · openclaw · openclaw-hermes-control-layer · model-context-protocol · agent-memory · termux