Files

33 lines
1.3 KiB
Markdown

---
title: Persistent Shells
type: concept
status: active
created: 2026-07-22
updated: 2026-07-22
verified_on: 2026-07-22
confidence: high
tags: [concept, terminal]
sources: [raw/configs/hermes-config-sanitized.txt]
---
# 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 [[runbooks/troubleshoot-tool-loop]] for the related tool-loop guardrails that catch some of this.
## Related
- [[systems/terminal-backend]]
- [[systems/hermes-agent]]
- [[concepts/tool-calling]]