Guide
Hermes Agent Profiles: Run Multiple Isolated Agents on One Machine
A profile is a fully independent Hermes instance — its own config, environment, memory, sessions, skills, cron jobs, logs, and personality file. One laptop or one server can host a “coder” agent, a “research” agent, and a “personal” agent side by side, with zero crossover between them.
What a Profile Actually Is
Each Hermes profile is a separate HERMES_HOME directory. By default profiles live under ~/.hermes/profiles/<name>/, and the special default profile is just ~/.hermes itself. Inside each profile directory Hermes keeps an independent copy of everything:
config.yaml— model, providers, channels for that agent.env— secrets and API keys scoped to that profile- memory store, session history, and workspace files
- installed skills and MCP servers
- gateway, cron schedule, and logs
SOUL.md— the persona / system instructions for that agent
Because the directories don't share state, a skill you install in coder never appears in personal, and a conversation in one profile is invisible to the others.
Create and Switch Profiles (CLI)
# Create a new isolated profile
hermes profile create coder
# Run a one-off chat in a specific profile
hermes -p coder chat
# Make a profile the active default for this shell
hermes profile use coder
# List profiles
hermes profile list
# Remove a profile (deletes its HERMES_HOME)
hermes profile delete coderThe -p / --profile flag works on any Hermes command, so you can target a profile without changing your global default. Anything you don't pass -p for runs against the default profile (~/.hermes).
Profiles in the Desktop App
The Hermes desktop app exposes a profile switcher in the sidebar. Each profile gets its own chat history, model selection, skills list, and SOUL editor, and you switch between them without restarting Hermes. This is the easiest way to keep a work agent and a personal agent visually separated.
Why Use Profiles
- Separation of concerns. Different SOUL.md, different model, different skills per role.
- Secret isolation. Work API keys never leak into your personal agent's
.env. - Clean memory. Each profile only remembers its own conversations — no cross-contamination.
- Multi-agent collaboration. Worker profiles spawned with
hermes -p <name>can join the same Kanban board as a dispatcher, each claiming tasks independently. Kanban even supports per-profile task caps.
Profiles vs Model Settings (Common Confusion)
“Profiles” in Hermes are not model presets and not provider auth files. Switching the model is just a line in config.yaml; a profile is the whole isolated home directory around it. If you only want to change which model answers, edit config.yaml — you don't need a new profile.
Hosted Hermes on OpenClaw Launch
On OpenClaw Launch, each deployed Hermes instance is already its own isolated environment with a dedicated container, config, and storage — effectively a managed profile. If you need several independent agents, deploy several instances; if you self-host, use the hermes profilecommands above to get the same isolation on one box.
What's Next?
- Hermes Agent Kanban — multi-profile task board
- Hermes Agent Skills — per-profile skills
- Hermes Agent Memory — how each profile remembers
- Hermes Desktop App — the profile switcher UI