Hermes multiple profiles let you run several independent Hermes agents on one machine, each with its own config, API keys, memory, sessions, skills, cron jobs and bots. Since Hermes Agent v0.22.0, one messaging gateway and one desktop backend per machine serve every profile, and a new profile's bots go live without a restart.
📺 Watch: NEW Hermes Profile Builder Update is INSANE!
🔥 Get the Agent OS as a free bonus: AI Profit Boardroom members get the full Agent OS zip, prompt libraries, daily tutorials and weekly live coaching calls. → Get inside
I run Hermes every day inside my Agent OS with a profile per model, so this is the feature I lean on most. Here's what a profile really is, how to create and switch between them, what changed in v0.22, and the setups worth copying.
What a Hermes profile is
The docs define a profile as a separate Hermes home directory. Each one gets its own config.yaml, .env, SOUL.md, memories, sessions, skills, cron jobs and state database. The default profile is just ~/.hermes itself. Named profiles live under ~/.hermes/profiles/.
Think of each profile as a different employee. Your coding agent doesn't need your personal calendar notes. Your support bot doesn't need your GitHub keys. Profiles keep them apart.
Two rules from the docs worth knowing early:
- One agent per profile. Never point two agent processes at the same profile. Both write memory, and each loads the other's writes, so state compounds until it stops being anything you configured. If agents need shared memory, use an external memory provider.
- Profiles aren't a sandbox. On the default local terminal, the agent still has your user account's file access. If you want a profile to start in a project folder, set terminal.cwd in that profile's config.
Want my exact profile setup, ready to copy? It's inside the AI Profit Boardroom ($69/mo): the Agent OS, a 30-day AI agent roadmap, daily tutorials as new tools drop, 4 coaching calls a week and the prompt library. 3,400+ members are in there.
📺 Watch: Hermes Agent 0.6.0 Multi-Agent Profiles Update!
What v0.22 changed: one gateway for every profile
Before v0.22, every profile ran its own gateway process. Three bots meant three processes, three services and three things to babysit. The v0.22.0 notes, published on GitHub on 14 October 2026, replaced that:
- One messaging gateway and one desktop backend per machine now serve all your profiles.
- Creating a profile makes its bots live without a restart. The host gateway rescans your profiles and brings the new one up.
- Each profile keeps its own credentials, allowlists, cron jobs and sessions. The docs say each turn resolves the routed profile's config, skills, memory, SOUL and keys, and credentials are never shared across profiles.
- hermes update folds per-profile gateways into the default one when nothing conflicts.
Nous Research's summary: fewer processes, no token clashes, one thing to start and stop. A multiplexed gateway also runs each profile's cron jobs with that profile's own environment and secrets.
If something blocks the fold, like two profiles holding the same bot token, hermes gateway status explains why. To move an old per-profile fleet by hand, run hermes gateway migrate --multiplex.
Webhook platforms serve each profile at its own path, /p/<profile>/. And in the desktop app, profiles can open in their own window or be set as the startup default.
📺 Watch: Hermes3D Is INSANE: AI Agents Now Have a 3D Office
How to create Hermes multiple profiles
The quick start from the docs:
- hermes profile create coder creates the profile and a coder command.
- coder setup configures its API keys and model.
- coder chat starts chatting.
That alias works with every hermes subcommand. It's just hermes -p coder under the hood. Planning to route Kanban work to the profile? Add a role at creation with --description, like hermes profile create researcher --description "Reads source code and external docs, writes findings."
Clone options
You don't have to start from blank. The docs list these flags:
| Command | What the new profile gets | What it leaves behind |
|---|---|---|
| hermes profile create mybot | A fresh profile with bundled skills seeded | Everything else |
| hermes profile create work --clone | Your current config.yaml, .env, SOUL.md, skills, MEMORY.md, USER.md and plugins | Sessions, state database, cron jobs, bot tokens |
| hermes profile create backup --clone-all | Config, keys, personality, all memories, skills and plugins | Session history, state database, cron jobs, bot tokens |
| hermes profile create work --clone-from coder | A config, skills and SOUL clone of the coder profile instead of the current one | Same as --clone |
| hermes profile create twin --clone --clone-channels | A clone that keeps the source's bots | Nothing, but it is refused while a running multiplexed gateway serves the source |
Why are bots stripped by default? A bot can belong to only one profile. Two profiles on one token fight over it. Give each new profile its own bots with hermes -p <name> setup.
One login detail: Anthropic, OpenAI Codex and xAI OAuth logins are shared from the root auth file rather than copied, so every profile stays signed in. Want a separate login for one profile? Run hermes -p <name> auth add <provider> inside it.
Switching between profiles
Three ways, all from the profiles docs:
- The alias: coder chat, coder doctor, coder skills list.
- The -p flag: hermes -p coder chat works with any command, in any position.
- A sticky default: hermes profile use coder makes plain hermes commands target coder. hermes profile use default switches back.
You always know where you are. The prompt shows coder ❯, the startup banner names the profile, and hermes profile shows the current name, path, model and gateway status.
In the desktop app, once you have two or more profiles, the settings pages show an Applies to chip row so you choose which profile you're editing.
For managing the set, use hermes profile list, hermes profile show coder, hermes profile rename, and hermes profile delete coder, which asks you to type the name to confirm. You can't delete the default profile.
Taking one profile offline
With one host gateway, you don't stop a whole process to pause a bot. hermes -p coder gateway stop parks just that profile while the others keep running. hermes -p coder gateway start brings it back. Parking keeps the profile, its sessions and its scheduled jobs.
Building a workspace around several profiles? My guide to Hermes Workspace shows how it fits together. Or book a free AI strategy session and we'll plan your profiles with you.
Use cases that work
The multi-gateway docs list the common reasons people run several profiles at once:
- A personal assistant on one Telegram bot and a coding agent on another.
- One agent per family member, or one per Slack workspace.
- Sandbox and production versions of the same configuration.
- A research agent, a writing agent and a cron-driven bot, each with its own memory and skills.
My own setup is a profile per model, so each agent keeps the model it does best with and I switch with one flag. Want a profile on a model that runs on your own hardware? See my Hermes llama.cpp guide. On a Windows PC? Profiles work the same, and my Hermes Agent Windows guide covers the install.
Profiles also power smarter subagents. The official advanced-delegation plugin can route each subagent to one of your profiles, with its own model, skills and SOUL.md. That's covered in Hermes advanced delegation.
Picking a model for each profile? Goldie Bench shows which models handle real agent work. The Agent OS guide shows how the profiles connect into one system. And if you'd like a hand with the plan, grab a free AI strategy session.
FAQ
Do I still need a gateway for each profile?
No. Since v0.22, one host gateway serves every profile. The docs say a named profile's own gateway install or start is refused without --force. Install the host gateway from the default profile with hermes gateway install.
Do profiles share memory?
No. Each profile has its own memory, sessions and skills. A --clone copies the curated memory files once, then the two profiles go their own way.
Will hermes update break my old per-profile gateways?
The v0.22.0 notes say hermes update folds per-profile gateways into the default one when nothing conflicts. If something blocks it, hermes gateway status tells you what.
Can I move a profile to another machine?
Yes. hermes profile export coder packs it into a coder.tar.gz with API keys stripped, and hermes profile import installs it on the other machine.
Ready to run a whole team of agents from one machine? Join the AI Profit Boardroom for the Agent OS and step-by-step tutorials, or book a free AI strategy session and we'll map out your profiles together.











