Persistent Shells
Idea
A background shell session that survives across separate Hermes turns/requests, instead of spawning and tearing down a fresh shell each time — so state (working directory, exported variables, long-running processes) carries over.
How this install implements it
- Verified (
~/.hermes/config.yaml):terminal.persistent_shell: true - Backend: local (not containerized separately from the agent process)
- Working directory:
/home/hermes/workspace - Timeout: 180s
- Home mode: auto
- Container CPU: 1
Why it matters here
Enables multi-step CLI workflows (e.g. a long git operation, a build, a watch process) to be resumed across turns without Hermes re-establishing context each time. The tradeoff is a shell can be left in a bad state (stuck process, wrong directory) that silently affects the next turn — see troubleshoot-tool-loop for the related tool-loop guardrails that catch some of this.