🤖HermesBlog
Hermes Feature Guides · Part 118/9/2026

Hermes on Your Android Phone? Yes, It’s Possible!

Scheduled Tasks (Cron) — Let AI Work Automatically — easy-to-understand guide based on official docs

Cron jobs: the assistant’s schedule

Hermes on Your Android Phone? Yes, It’s Possible!

So you want to run Hermes Agent on your Android phone? Good news: it’s totally doable, thanks to Termux. Termux is a terminal emulator for Android that lets you run a Linux-like environment right on your device. With it, you can get a working Hermes CLI running locally on your phone, plus a bunch of core extras that install cleanly on Android.

Before we dive in, a quick heads-up: Android/Termux is what we call a Tier 2 platform. That means the installer and docs here are maintained on a best-effort basis. Things might break occasionally, but for most use cases, it works great.

What Works on Android?

The tested Termux bundle gives you:

  • The Hermes CLI
  • Cron support (scheduled tasks)
  • PTY/background terminal support
  • Telegram gateway support (manual, best-effort background runs)
  • MCP support
  • Honcho memory support
  • ACP support

In plain terms, that means you can run Hermes as a phone-native CLI agent and do most of the core stuff you’d expect.

What Doesn’t Work (Yet)

A few things still need desktop/server-style dependencies that aren’t available for Android:

  • The full .[all] extra is not supported
  • Voice features are blocked because ctranslate2 doesn’t publish Android wheels
  • Automatic browser/Playwright setup is skipped
  • Docker-based terminal isolation isn’t available
  • Android may suspend background jobs, so gateway persistence is best-effort

Don’t let that discourage you though. Hermes works really well as a phone-native CLI agent — it’s just intentionally narrower than the desktop install.


Option 1: One-Line Installer (Easiest)

Hermes now ships a Termux-aware installer that handles everything for you:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

On Termux, the installer automatically:

  • Uses pkg for system packages
  • Creates a virtual environment with python -m venv
  • Tries the broad .[termux-all] extra first, then falls back to .[termux]
  • Links hermes into $PREFIX/bin so it stays on your PATH
  • Skips the untested browser/WhatsApp bootstrap

If you want more control or need to debug something, use the manual path below.


Option 2: Manual Install (Fully Explicit)

1. Update Termux and install system packages

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

Here’s why you need these:

  • python — runtime + venv support

:::warning Supported Python range Hermes requires Python >=3.11,<3.14. Current Termux ships python 3.14.x, which is outside that range — the installer detects this, and will automatically try the Termux User Repository (TUR) for a supported interpreter. For a manual install, get one yourself:

pkg install tur-repo
pkg install python3.13

Then use python3.13 in place of python in the commands below (e.g. python3.13 -m venv venv). :::

  • git — clone/update the repo
  • clang, rust, make, pkg-config, libffi, openssl — needed to build Python dependencies on Android
  • nodejs — optional, for experiments
  • ripgrep — fast file search
  • ffmpeg — media/TTS conversions

2. Clone Hermes

git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent

3. Create a virtual environment

python -m venv venv
source venv/bin/activate
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install --upgrade pip setuptools wheel

The ANDROID_API_LEVEL line is important for Rust/maturin-based packages like jiter.

4. Install the tested Termux bundle

python -m pip install -e '.[termux]' -c constraints-termux.txt

Want just the minimal core agent? This works too:

python -m pip install -e '.' -c constraints-termux.txt

5. Put hermes on your PATH

ln -sf "$PWD/venv/bin/hermes" "$PREFIX/bin/hermes"

This makes the hermes command available in every new shell without re-activating the venv.

6. Verify the install

hermes --version
hermes doctor

7. Start Hermes

hermes

Community-Maintained APT Option

Prefer a native package-manager install? A community-maintained APT repository is available. Note: this is not an official NousResearch distribution — it’s operated by @adybag14-cyber. Use it at your own trust level.

Install it with:

curl -fsSL https://raw.githubusercontent.com/adybag14-cyber/termux-python/main/scripts/setup_apt_repo.sh | bash
pkg install hermes-agent

The signing key fingerprint is:

EAD24A2124EFA7393A78B7B14699F966313F7A6B

With APT-managed installs, use the package manager to update:

pkg update
pkg upgrade hermes-agent

Configure a model

hermes model

Or set keys directly in ~/.hermes/.env.

Re-run the full setup wizard later

hermes setup

Install optional Node dependencies manually

The tested Termux path skips Node/browser bootstrap on purpose. If you want to experiment with browser tooling later, what you need depends on which backend you use:

  • Cloud browser providers (Browserbase, Browser Use, Firecrawl) host their own Chromium, so Node.js alone is enough — agent-browser resolves lazily via npx agent-browser on first use:

    pkg install nodejs-lts
  • Local browser automation on Termux needs a real agent-browser install — the bare npx fallback is deliberately rejected in local mode as too fragile to advertise as ready:

    pkg install nodejs-lts
    npm install -g agent-browser && agent-browser install

The browser tool automatically includes Termux directories (/data/data/com.termux/files/usr/bin) in its PATH search, so agent-browser and npx are discovered without any extra PATH configuration.

Treat browser / WhatsApp tooling on Android as experimental until documented otherwise.


Troubleshooting

No solution found when installing .[all]

Use the tested Termux bundle instead:

python -m pip install -e '.[termux]' -c constraints-termux.txt

The blocker is currently the voice extra:

  • voice pulls faster-whisper
  • faster-whisper depends on ctranslate2
  • ctranslate2 does not publish Android wheels

uv pip install fails on Android

Use the Termux path with the stdlib venv + pip instead:

python -m venv venv
source venv/bin/activate
export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install --upgrade pip setuptools wheel
python -m pip install -e '.[termux]' -c constraints-termux.txt

jiter / maturin complains about ANDROID_API_LEVEL

Set the API level explicitly before installing:

export ANDROID_API_LEVEL="$(getprop ro.build.version.sdk)"
python -m pip install -e '.[termux]' -c constraints-termux.txt

hermes doctor says ripgrep or Node is missing

Install them with Termux packages:

pkg install ripgrep nodejs

Build failures while installing Python packages

Make sure the build toolchain is installed:

pkg install clang rust make pkg-config libffi openssl

Then retry:

python -m pip install -e '.[termux]' -c constraints-termux.txt

Known Limitations on Phones

  • Docker backend is unavailable
  • local voice transcription via faster-whisper is unavailable in the tested path
  • browser automation setup is intentionally skipped by the installer
  • some optional extras may work, but only .[termux] and .[termux-all] are currently documented as the tested Android bundles

If you hit a new Android-specific issue, please open a GitHub issue with:

  • your Android version
  • termux-info
  • python --version
  • hermes doctor
  • the exact install command and full error output

Final Thoughts

Running Hermes on your Android phone is a great way to have a capable CLI agent in your pocket. Start with the one-line installer, and if you hit any snags, the manual path gives you full visibility into what’s happening. Happy hacking!


Keep reading: Hermes heartbeat — For polling a task every few minutes inside one session, a Hermes heartbeat is the lighter fit.

📖 Official Docs

This article is based on the official Hermes Agent documentation:Official docs › getting-started/termux