website/docs/user-guide/features/personality.md
Hermes Agent's personality is fully customizable. SOUL.md is the primary identity — it's the first thing in the system prompt and defines who the agent is.
SOUL.md — a durable persona file that lives in HERMES_HOME and serves as the agent's identity (slot #1 in the system prompt)/personality presets — session-level system-prompt overlaysIf you want to change who Hermes is — or replace it with an entirely different agent persona — edit SOUL.md.
Hermes now seeds a default SOUL.md automatically in:
~/.hermes/SOUL.md
More precisely, it uses the current instance's HERMES_HOME, so if you run Hermes with a custom home directory, it will use:
$HERMES_HOME/SOUL.md
SOUL.md automatically if one does not exist yetSOUL.md files are never overwrittenSOUL.md only from HERMES_HOMESOUL.mdSOUL.md exists but is empty, or cannot be loaded, Hermes falls back to a built-in default identitySOUL.md has content, that content is injected verbatim after security scanning and truncationThat makes SOUL.md a true per-user or per-instance identity, not just an additive layer.
This keeps personality predictable.
If Hermes loaded SOUL.md from whatever directory you happened to launch it in, your personality could change unexpectedly between projects. By loading only from HERMES_HOME, the personality belongs to the Hermes instance itself.
That also makes it easier to teach users:
~/.hermes/SOUL.md to change Hermes' default personality."For most users:
~/.hermes/SOUL.md
If you use a custom home:
$HERMES_HOME/SOUL.md
Use it for durable voice and personality guidance, such as:
Use it less for:
Those belong in AGENTS.md, not SOUL.md.
A good SOUL file is:
# Personality
You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness over politeness theater.
## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
- Admit uncertainty plainly
- Keep explanations compact unless depth is useful
## What to avoid
- Sycophancy
- Hype language
- Repeating the user's framing if it's wrong
- Overexplaining obvious things
## Technical posture
- Prefer simple systems over clever systems
- Care about operational reality, not idealized architecture
- Treat edge cases as part of the design, not cleanup
SOUL.md content goes directly into slot #1 of the system prompt — the agent identity position. No wrapper language is added around it.
The content goes through:
If the file is empty, whitespace-only, or cannot be read, Hermes falls back to a built-in default identity ("You are Hermes Agent, an intelligent AI assistant created by Nous Research..."). This fallback also applies when skip_context_files is set (e.g., in subagent/delegation contexts).
SOUL.md is scanned like other context-bearing files for prompt injection patterns before inclusion.
That means you should still keep it focused on persona/voice rather than trying to sneak in strange meta-instructions.
This is the most important distinction.
Use for:
Use for:
A useful rule:
SOUL.mdAGENTS.md/personalitySOUL.md is your durable default personality.
/personality is a session-level overlay that changes or supplements the current system prompt.
So:
SOUL.md = baseline voice/personality = temporary mode switchExamples:
/personality teacher for a tutoring conversation/personality creative for brainstormingHermes ships with built-in personalities you can switch to with /personality.
| Name | Description |
|---|---|
| helpful | Friendly, general-purpose assistant |
| concise | Brief, to-the-point responses |
| technical | Detailed, accurate technical expert |
| creative | Innovative, outside-the-box thinking |
| teacher | Patient educator with clear examples |
| kawaii | Cute expressions, sparkles, and enthusiasm ★ |
| catgirl | Neko-chan with cat-like expressions, nya~ |
| pirate | Captain Hermes, tech-savvy buccaneer |
| shakespeare | Bardic prose with dramatic flair |
| surfer | Totally chill bro vibes |
| noir | Hard-boiled detective narration |
| uwu | Maximum cute with uwu-speak |
| philosopher | Deep contemplation on every query |
| hype | MAXIMUM ENERGY AND ENTHUSIASM!!! |
/personality
/personality concise
/personality technical
/personality teacher
These are convenient overlays, but your global SOUL.md still gives Hermes its persistent default personality unless the overlay meaningfully changes it.
You can also define named custom personalities in ~/.hermes/config.yaml under agent.personalities.
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Then switch to it with:
/personality codereviewer
A strong default setup is:
SOUL.md in ~/.hermes/SOUL.mdAGENTS.md/personality only when you want a temporary mode shiftThat gives you:
At a high level, the prompt stack includes:
AGENTS.md, .cursorrules)/personalitySOUL.md is the foundation — everything else builds on top of it.
Conversational personality and CLI appearance are separate:
SOUL.md, agent.system_prompt, and /personality affect how Hermes speaksdisplay.skin and /skin affect how Hermes looks in the terminalFor terminal appearance, see Skins & Themes.