"command not found: hermes" after install
Last checked
Hermes runs from a virtualenv (PR #6526), so a shell that skips the entrypoint may not have it on PATH. Current Docker images (v0.21.6+) ship a /opt/hermes/bin/hermes shim that is first on PATH, so docker exec -it hermes hermes doctor works; on older images call /opt/hermes/venv/bin/hermes directly. On a host, run source ~/.bashrc, then verify with hermes doctor.
Likely cause
After the virtualenv migration (PR #6526) Hermes lives in a virtualenv, so shells that skip the entrypoint may not have it on PATH. Current Docker images (v0.21.6+) install to /opt/hermes/.venv and add a /opt/hermes/bin/hermes shim that sits first on PATH; older images used /opt/hermes/venv/ with no shim. On bare metal the installer adds ~/.local/bin to your shell rc file, but the current shell hasn't reloaded it.
The fix
- 1 In Docker, pull a current image (nousresearch/hermes-agent:stable): its /opt/hermes/bin/hermes shim is on PATH, so docker exec -it hermes hermes doctor works.
- 2 On an older image, call the binary by absolute path: /opt/hermes/venv/bin/hermes.
- 3 On a host, reload your shell: source ~/.bashrc (or ~/.zshrc), then verify with hermes doctor.
docker exec -it hermes hermes doctorHit a different error?
Paste any agent error and get the cause and fix in seconds.
Frequently asked questions
It works inside the container's entrypoint but not via docker exec. Why?
docker exec starts a fresh shell that skips the entrypoint. Current images (v0.21.6+) put a /opt/hermes/bin/hermes shim first on PATH, so it resolves anyway; on older images the venv isn't on PATH, so call /opt/hermes/venv/bin/hermes by its absolute path, or update the image.
The installer said it added Hermes to PATH, but the command still isn't found.
It edited your shell rc file, but your current shell hasn't reloaded it. Run source ~/.bashrc (or ~/.zshrc), or open a new terminal, and the command will resolve.
Where exactly is the Hermes binary now?
In current Docker images (v0.21.6+) the real binary is in /opt/hermes/.venv and a /opt/hermes/bin/hermes shim on PATH re-execs it; older images used /opt/hermes/venv/bin/hermes. On a host install it is on ~/.local/bin via the installer. Pointing scripts and cron jobs at the absolute path for your setup avoids PATH issues.
Stop firefighting agent errors
Decoding errors one at a time is the manual version of what BetterClaw automates. Run your agents on a no-code AI agent platform with managed models, retries and config validation built in.
Free plan available · Pro $49/mo · BYOK · 7-day free trial
