Hermes · Configuration Deep Dive
Where settings live, how they resolve, and the one pattern that repeats across every model slot.
Config looks sprawling, but the system is small. Everything lives in ~/.hermes/: config.yaml for non-secret settings, .env for secrets, plus SOUL.md, memories, skills, cron, sessions. Manage it with hermes config, config edit, and config set KEY VAL, which auto-routes (keys → .env, everything else → config.yaml); config check / migrate add new options after an update. Precedence resolves conflicts: CLI flags > config.yaml > .env > built-in defaults. Inside config.yaml you can reference any env var with ${VAR}. The pattern that repeats: every model slot (auxiliary, compression, fallback) uses the same three knobs, provider / model / base_url. A few knobs worth knowing: compression.* hot-reloads on a live gateway, tool_output / file_read_max_chars match your context window, agent.max_turns is the iteration budget, and agent.disabled_toolsets kills a toolset everywhere.
Sources · What this video distills
1 docs page · every command below traces to one of themCommands shown · Copy and paste
each shows the source doc it came fromhermes config · hermes config edithermes config set model anthropic/claude-opus-4 · hermes config set OPENROUTER_API_KEY sk-or-...hermes config check · hermes config migrate