Academy → Getting StartedOfficial documentation · Arabic guidance

Android / Termux

تشغيل Hermes على أندرويد عبر Termux

Beginner6 min readLesson 63 questions✓ 2026-08-18
Before you read

What this page is, and what it holds.

This page covers Android / Termux. It carries a source warning and takes about 6 minutes to read. Read what the installer does before running it, then run hermes doctor to see what is missing.

8sections
23code examples
0tables
4commands
1,101source words
The official one-line description

Run Hermes Agent directly on an Android phone with Termux

What you will be able to do

Outcomes taken from this page, not a template.

  • Understand what التثبيت is and when you need it.
  • Run hermes model and hermes setup and understand what happens next.
  • Set ANDROID_API_LEVEL in the right place.
  • Avoid the mistake the source warns about.
Identifiers you will meet

Exactly as they appear in Hermes.

Commands
  • hermes model
  • hermes setup
  • hermes doctor
  • hermes version hermes doctor
Environment variables
  • ANDROID_API_LEVEL
Page map

Jump to the part you need.

  1. 01What is supported in the tested path?
  2. 02What is not part of the tested path yet?
  3. 03Community-maintained native `pkg` option
  4. 04Option 1: One-line installer
  5. 05Option 2: Manual install (fully explicit)
  6. 06Recommended follow-up setup
  7. 07Troubleshooting
  8. 08Known limitations on phones
The full official page

Nothing summarised away.

The documentation body below is reproduced from the official source so commands and identifiers stay exact. Each section carries a short note describing what it contains.

Hermes Agent can run directly on an Android phone through Termux ↗.

It gives you a working local CLI on the phone, plus the core extras that are currently known to install cleanly on Android.

What is supported in the tested path?

Explains the idea itself. Read it slowly; the later sections build on it.

The tested Termux bundle installs:

  • the Hermes CLI
  • cron support
  • PTY/background terminal support
  • Telegram gateway support (manual / best-effort background runs)
  • MCP support
  • Honcho memory support
  • ACP support

Concretely, it maps to:

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

What is not part of the tested path yet?

Explains the idea itself. Read it slowly; the later sections build on it.

A few features still need desktop/server-style dependencies that are not published for Android, or have not been validated on phones yet:

  • .[all] is not supported on Android today
  • the voice extra is blocked by faster-whisper -> ctranslate2, and ctranslate2 does not publish Android wheels
  • automatic browser / Playwright bootstrap is skipped in the Termux installer
  • Docker-based terminal isolation is not available inside Termux
  • Android may still suspend Termux background jobs, so gateway persistence is best-effort rather than a normal managed service

That does not stop Hermes from working well as a phone-native CLI agent — it just means the recommended mobile install is intentionally narrower than the desktop/server install.

---

Community-maintained native `pkg` option

Carries a warning. Read it before running anything here. The upstream warning appears below.

For users who prefer a native package-manager install rather than building Python/Rust dependencies on the phone, a community-maintained APT repository is available. The repository bootstrap and packaging sources are published in adybag14-cyber/termux-python ↗, with the Hermes package build in adybag14-cyber/termux-hermes ↗.

Install the repository key/source and Hermes with:

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

The repository signing-key fingerprint currently documented by the community distribution is:

Text1 line
EAD24A2124EFA7393A78B7B14699F966313F7A6B

APT-managed Hermes installs are marked with install method apt. Hermes therefore does not run its Git self-updater against package-owned files; use the package manager instead:

Shell2 lines
pkg update
pkg upgrade hermes-agent

Packaging/repository/signing problems for this option should be reported to the community packaging repositories above. Hermes runtime bugs can still be reported here, keeping in mind that Android/Termux support is best-effort.

---

Option 1: One-line installer

Ordered, practical steps. Run one and confirm it worked before moving on.

Hermes now ships a Termux-aware installer path:

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

On Termux, the installer automatically:

  • uses pkg for system packages
  • creates the venv with python -m venv
  • attempts the broad .[termux-all] extra first and falls back to the smaller .[termux] extra (then a base install) — the curl installer matches this order automatically
  • links hermes into $PREFIX/bin so it stays on your Termux PATH
  • skips the untested browser / WhatsApp bootstrap

If you want the explicit commands or need to debug a failed install, use the manual path below.

---

Option 2: Manual install (fully explicit)

Ordered, practical steps. Run one and confirm it worked before moving on. Commands here: hermes version hermes doctor.

1. Update Termux and install system packages

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

Why these packages?

  • python — runtime + venv support
  • git — clone/update the repo
  • clang, rust, make, pkg-config, libffi, openssl — needed to build a few Python dependencies on Android
  • nodejs — optional Node runtime for experiments beyond the tested core path
  • ripgrep — fast file search
  • ffmpeg — media / TTS conversions

2. Clone Hermes

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

3. Create a virtual environment

Shell4 lines
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

ANDROID_API_LEVEL is important for Rust / maturin-based packages such as jiter.

4. Install the tested Termux bundle

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

If you only want the minimal core agent, this also works:

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

5. Put hermes on your Termux PATH

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

$PREFIX/bin is already on PATH in Termux, so this makes the hermes command persist across new shells without re-activating the venv every time.

6. Verify the install

Shell2 lines
hermes version
hermes doctor

7. Start Hermes

Shell1 line
hermes

---

Troubleshooting

A troubleshooting section. Find the symptom that matches yours rather than reading it end to end.

No solution found when installing .[all]

Use the tested Termux bundle instead:

Shell1 line
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:

Shell5 lines
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 ANDROIDAPILEVEL

Set the API level explicitly before installing:

Shell2 lines
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:

Shell1 line
pkg install ripgrep nodejs

Build failures while installing Python packages

Make sure the build toolchain is installed:

Shell1 line
pkg install clang rust make pkg-config libffi openssl

Then retry:

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

---

Known limitations on phones

Commands you type in a terminal. Understand what one does before copying it. Commands here: hermes doctor.

  • 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
Knowledge check

3 questions answered by this page alone.

Every option is a real identifier from the Hermes documentation. The wrong ones are real too, just from other pages.

1. Which of these environment variables actually appears in this lesson?
2. Which warning does the source state in this lesson?
3. Which of these headings does not appear in this lesson?