Configuration
All settings are stored in the directory for easy access. TIP — Easiest path to a working Run — one OAuth gets you a model provider and all four Tool Gateway to
All settings are stored in the directory for easy access. Settings are resolved in this order (highest priority first): 1. CLI arguments — e.g., (per-invocation override) 2. — the primary config file for all non-secret settings 3. — fallback for env vars; required for secrets (API keys, tokens, passwords) 4. …
What this page covers
- Directory Structure
- Managing Configuration
- Configuration Precedence
- Environment Variable Substitution
- Provider Timeouts
- Update Behavior
- Terminal Backend Configuration
- Backend Overview
- Local Backend
- Docker Backend
- SSH Backend
- Modal Backend
- Daytona Backend
- Singularity/Apptainer Backend
- Common Terminal Backend Issues
- Remote-to-Host File Sync on Teardown
- Docker Volume Mounts
- Docker Credential Forwarding
- Running the Container as Your Host User
- Optional: Mount the Launch Directory into /workspace
- Persistent Shell
- Skill Settings
- Guard on agent-created skill writes
- Write approval for skill writes
- Memory Configuration
- Context File Truncation
- File Read Safety
- Tool Output Truncation Limits
- Global Toolset Disable
- Git Worktree Isolation
- Context Compression
- Full reference
- Common setups
- How the three knobs interact
- Context Engine
- Iteration Budget Pressure
- API Timeouts
- Context Pressure Warnings
- Credential Pool Strategies
- Prompt caching
- Auxiliary Models
- Configuring auxiliary models interactively
- Video Tutorial
- The universal config pattern
- Full auxiliary config reference
- OpenRouter routing & Pareto Code for auxiliary tasks
- Changing the Vision Model
- Provider Options
- Common Setups
- Environment Variables (legacy)
- Reasoning Effort
- Tool-Use Enforcement
- What it injects
- When to turn it on
- TTS Configuration
- Display Settings
- File-mutation verifier
- UI language for static messages
- Runtime-metadata footer (gateway only)
- Per-platform progress overrides
- Privacy
- Speech-to-Text (STT)
- Voice Mode (CLI)
- Streaming
- CLI Streaming
- Gateway Streaming (Telegram, Discord, Slack)
- Group Chat Session Isolation
- Unauthorized DM Behavior
- Quick Commands
- Human Delay
- Code Execution
- Web Search Backends
- Browser
- Timezone
- Discord
- Security
- Website Blocklist
- Smart Approvals
- Checkpoints
- Delegation
- Clarify
- Context Files (SOUL.md, AGENTS.md)
- Working Directory
Section outline mirrored from the official Hermes Agent documentation. Follow any heading to read the complete text on the source site.
More in Using Hermes
CLI Interface
Hermes Agent's CLI is a full terminal user interface (TUI) — not a web UI. It features multiline editing, slash command autocomplete, conversation history, inte
TUI
The TUI is the modern front end for Hermes — a terminal UI backed by the same Python runtime as the Classic CLI. Same agent, same sessions, same slash commands;
Configuring Models
Configuring Models Hermes uses two kinds of model slots: Main model — what the agent thinks with. Every user message, every tool call loop, every streamed respo
Sessions
Hermes Agent automatically saves every conversation as a session. Sessions enable conversation resume, cross session search, and full conversation history manag
Profiles: Running Multiple Agents
Profiles: Running Multiple Agents Run multiple independent Hermes agents on the same machine — each with its own config, API keys, memory, sessions, skills, and
Git Worktrees
Hermes Agent is often used on large, long‑lived repositories. When you want to: Run multiple agents in parallel on the same project, or Keep experimental refact