Stop Following Outdated Tutorials: The Most Stable 10-Step Guide to Hermes AI Agent (v0.13.0)
Core question of this section: Why do so many Hermes tutorials fail to work? And what should a proper beginner’s guide for v0.13.0 look like?
Writing yet another “from scratch” tutorial for a tool that’s been around for a while feels like chasing old hype. But after reviewing several older guides and walking through the latest v0.13.0 release myself, I realised this article is necessary.
The biggest enemy of tools like Hermes isn’t complexity—it’s expired tutorials. An outdated guide is worse than no guide at all, because most of it still appears correct. The installation commands might work, providers can be configured, and the CLI might even chat with you. So you’re likely to blame yourself. But the new version has pushed many features toward production readiness: durable multi-agent Kanban, /goal, checkpoints v2, Gateway auto-resume sessions, no_agent cron, Google Chat, providers plugin, Curator for skill maintenance, and stricter security defaults.
The problem is subtle. Old tutorials focus on “getting it running”, while Hermes today needs to be nurtured. The former means installing, picking a model, and sending your first message. The latter means managing memory, skills, messaging channels, task scheduling, profile boundaries, and automation. Get the order wrong, and you’ll experience the classic beginner nightmare: the tool looks powerful, but you’re staring at a screen checking tokens, allowlists, base URLs, and profile statuses.
Especially dangerous are articles that promise a “24/7 agent army” on day one. They sound exciting—auto-reply, auto-write, auto-post, multi-platform orchestration, internal dashboard, task board, long-term memory—all laid out as if you could stuff an entire company into your computer tomorrow.
I strongly advise against doing this on your first day. One wrong bot token, one incorrect profile switch, one mistyped local model endpoint, and half your day is gone.
So this is still a beginner’s guide, but not the “copy-paste this command” kind. I want to present a slower, safer order: starting from zero, nurturing a single Hermes instance until it can talk reliably, use tools, resume sessions, and understand what to remember and what not to. Once that foundation is solid, then add Gateway, Memory, Skills, Profiles, Cron, and Kanban.
First, make one Hermes work steadily.
What Exactly Is Hermes? – More Than a Model, It’s an Agent Runtime
Core question of this section: How is Hermes different from ordinary chat AI or the “Hermes model”? What can it actually do for you?
First, don’t confuse Hermes Agent with the Hermes model. They share a name, but they are not the same thing.
In my view, Hermes is an Agent runtime. The model is just the brain; Hermes manages everything around that brain: tools, conversations, memory, Skills, automation, chat integrations, multi‑agent profiles, and task boards.
A typical chat tool is like calling a temporary assistant—once the conversation ends, everything resets. Hermes is more like giving that assistant a permanent desk, complete with a notebook, SOPs, message portals, and a task board. You don’t need such a heavyweight setup for a quick explanation. But for tasks like curating daily news, tracking project updates, preserving preferences, running scheduled low‑risk jobs—that’s where Hermes shines.
Reflection: I used to think that installing Hermes and getting an API key meant I “knew how to use it”. After three days, I hit problems: sessions wouldn’t resume, tool calls failed arbitrarily, and the same question gave different answers across profiles. I later realised I lacked a proper SOP for moving from “it runs” to “it’s cultivated”.
Three Things NOT to Do on Day One – Avoid the Most Common Beginner Traps
Core question of this section: Which “advanced features” should beginners absolutely avoid touching at first, to save hours of debugging?
Beginners are easily tempted by “advanced” features. I’m no exception—multi‑platform Gateway, multiple profiles, Kanban scheduling—they all look exciting. But enabling everything on day one inflates your troubleshooting surface enormously.
-
Do not connect multiple chat platforms at once
Telegram, Discord, Slack, WhatsApp, Feishu – all are supported, but if any bot token, allowlist, home channel, or platform permission is misconfigured, Hermes will appear broken. Pick one (e.g., Telegram) and make it work first. -
Do not create multiple Profiles (multi‑agent) immediately
Profiles are powerful, but each profile has its own config, secrets, memory, sessions, skills, cron jobs, gateway state, and database. Creatingcommander,coder,reviewer, andresearcherall at once will multiply your debugging surface. -
Do not attempt local models on day one
Local models are fun, but when you’re starting, base URLs, model names, OpenAI‑compatible endpoints, context length, and tool call stability will all hit you at once. First, use a stable cloud provider to establish a baseline, then connect Ollama or vLLM later. You’ll save yourself many wrong turns.
I follow this order:
Install Hermes
→ Choose a model provider
→ Get CLI / TUI conversations working
→ Verify session resume works
→ Configure SOUL / Memory
→ Use Skills
→ Connect Gateway
→ Create Profiles
→ Add Cron / Kanban / Docker
Step 1: Get the Version Up and Running – Installation & Basic Verification
Core question of this section: How do you correctly install Hermes on Windows, macOS, or Linux and confirm that the environment is ready?
Installation itself is straightforward. The official script works for macOS, Linux, and WSL2:
curl -fsSL https://get.hermes.org | bash
If you’re on Windows, you no longer need to go through WSL2 first. The official Windows Native Beta lets you install directly from PowerShell:
powershell -NoProfile -ExecutionPolicy Bypass -Command "iwr -useb https://get.hermes.org | iex"
To be clear: Windows native support is real, but it’s still beta. CLI, TUI, Gateway, Profiles, and Skills work natively on Windows. However, the Dashboard’s embedded terminal still leans toward WSL2 scenarios. If you just want to run Hermes on Windows, native installation is fine. For heavy development, long‑running automation, or complex local toolchains, WSL2 remains the more stable fallback.
After installation, reload your shell (or open a new PowerShell window):
source ~/.bashrc
# or
source ~/.zshrc
Immediately check the version:
hermes --version
Latest output looks like:
Hermes Agent v0.13.0 (2026.5.7)
Up to date
Don’t skip this. Hermes changes quickly; many “broken tutorials” aren’t wrong when they were written—they just aged.
If you plan to use it seriously, run doctor early:
hermes doctor
It’s not magic; it simply scans your environment, config, and dependencies. Way better than guessing from error messages.
I also run:
hermes --help
Not to memorise commands, but to get an overview. model, gateway, cron, kanban, skills, curator, memory, profile, dashboard, logs are all there. That list also tells you where Hermes’ focus lies today.
Step 2: Connect a Model – Choose a Stable Provider
Core question of this section: Since Hermes is not a model itself, how do you configure a model provider that works reliably?
Hermes needs a provider. The most stable entry point is:
hermes model
Officially supported providers include Nous Portal, OpenRouter, OpenAI Codex, Anthropic, Kimi, Qwen, DeepSeek, Hugging Face, AWS Bedrock, GitHub Copilot, Vercel AI Gateway, and custom OpenAI‑compatible endpoints.
For your first time, don’t aim for the fanciest setup. Just get something working. My priority order:
-
If you have a stable API key → use it. -
If you don’t know what to choose → OpenRouter or Nous Portal. -
If you prefer domestic (China) models → Kimi / Qwen for simple tasks. -
If you want local models → wait until CLI is working, then add Ollama / vLLM.
One hard requirement often overlooked: Hermes needs at least 64K context. Agents carry tools, history, memory, and task state. Small‑context models will lose track halfway.
After configuring the model, don’t jump to Telegram. First, confirm it can answer in the terminal:
hermes --tui
Or classic CLI:
hermes
For your first test, avoid philosophy or “write a big project.” Ask something that validates tool use:
Check the current directory and tell me the 5 files that look like the main project entry points, along with your reasoning.
Success criteria:
-
It knows its current provider and model. -
It replies properly. -
It can call file or terminal tools when needed. -
A second round of conversation does not break.
Once this works, Hermes has a pulse.
Step 3: Verify Session Resume – The Dividing Line Between Agent and Chat
Core question of this section: How does Hermes remember previous conversations? How do you test that session recovery works correctly?
One of the biggest differences between an agent workbench and ordinary chat is the ability to continue where you left off. After a short conversation, exit and try:
hermes --continue
Or:
hermes -c
If it returns to the previous context, session basics are healthy. This will be used by long‑running tasks, multi‑agent scenarios, Gateway, and Cron.
If resume fails, check:
hermes sessions list
Many people think “memory is broken” when actually they switched profiles or the session wasn’t saved.
Reflection: I’ve seen many confuse “session resume” with “long‑term memory”. Session resume simply lets you pick up a previous conversation without losing history. Memory (in Hermes) is about learning your preferences and environment. Together, they create real continuity.
Step 4: Understand Hermes’ Configuration Files – Don’t Misplace Things
Core question of this section: Hermes has several configuration files; what is each responsible for? How do you avoid chaos?
Hermes configuration isn’t hard, but it’s easy to put things in the wrong place.
| File path | Purpose | Example |
|---|---|---|
~/.hermes/.env |
Secrets | API keys, bot tokens, platform tokens |
~/.hermes/config.yaml |
General config | Default model, terminal backend, gateway, tool switches |
~/.hermes/SOUL.md |
Stable personality & hard rules | Verify before answering, warn about dangerous commands |
~/.hermes/memories/MEMORY.md |
Agent’s working notes | Environment facts, project habits, past pitfalls |
~/.hermes/memories/USER.md |
User preferences | Default language, conclusion‑first, avoid long rambling |
Project root AGENTS.md |
Project‑level rules | How to test, which directories not to touch, pre‑publish steps |
The most common mistake is putting everything into MEMORY.md. I did that myself, and things got messy fast. Fixed rules belong in SOUL.md, project norms in AGENTS.md, changing environmental facts and working notes in MEMORY.md, and user preferences in USER.md.
A first‑version SOUL.md doesn’t need to be a corporate handbook. A few lines are enough:
# Hermes behavior rules
For uncertain commands, paths, or configs, check before answering.
For tasks requiring more than three steps, first list a plan.
For high‑risk actions, state the risks clearly; do not execute directly.
After completing a task, tell me how to verify.
Do not write temporary guesses into long‑term memory.
Don’t write a 2000‑word persona at the start. If you over‑specify, you won’t know which rule is actually affecting behaviour, and neither will Hermes.
Step 5: Memory and Skill Are Not the Same – Facts vs. Workflows
Core question of this section: How do you distinguish between “make the agent remember my preference” and “teach the agent a repeatable workflow”?
What makes Hermes interesting isn’t that it can “remember me” – it’s that it separates memory from process.
-
Memory records facts and preferences.
Example: “In future AI tool roundups, keep product names, original links, and Markdown formatting.” This goes into Memory. -
Skill records a repeatable SOP (Standard Operating Procedure).
Example: “Each time you generate an AI tool daily brief: first fetch AI hot news, then scan X top tweets, then categorise into agent/coding/video/image/infra, and finally suggest 5 write‑worthy topics.” This becomes a Skill.
My rule of thumb: Memory = what it should know; Skill = how a class of tasks should be done.
When training Hermes, shouting “remember this” endlessly is limited. Once a task runs smoothly, ask it to save a Skill directly:
We will reuse this workflow in the future. Please save it as a Skill, including trigger conditions, steps, caveats, and validation methods.
Then inspect:
hermes skills list
You can also search external skills:
hermes skills search github
hermes skills inspect <skill-name>
hermes skills install <skill-name>
The latest version also includes Curator. I like this: it manages agent‑created skills – merging duplicates, archiving outdated ones, pruning low‑quality ones.
hermes curator status
hermes curator run
It’s not a skill executioner. Bundled and hub‑installed skills are not automatically touched, and archived skills can be restored. Treat it as a skill‑library housekeeper, not a grim reaper.
Step 6: Connect Gateway – Bring Hermes into Your Chat App
Core question of this section: How do you connect Hermes to Telegram, Feishu, or other chat platforms and turn it into a “ready‑when‑you‑need” assistant?
After CLI is working, connect Gateway.
hermes gateway setup
hermes gateway run
For long‑running operation:
hermes gateway install
hermes gateway start
hermes gateway status
If you’re just testing locally, gateway run is more transparent – it runs in the foreground and shows errors directly. Once stable, install it as a background service.
When connecting a platform, pick just one. For personal use, Telegram or Discord is usually fastest. For team collaboration, Feishu is smoother. Exact platform list depends on the current hermes gateway setup menu – don’t blindly follow old tutorials.
Gateway success is not measured by whether the service started. It’s measured by whether you can send a message to Hermes from your chat app and get a reply.
First message can be simple:
Reply with one sentence confirming you are now connected via this chat platform.
Then a second message:
Remember that from now on, when I ask you to compile materials through this chat channel, default to Markdown output and keep original links.
Next day, ask a similar task in a different wording and see if it respects the preference. That’s how you test Gateway + Memory together.
Step 7: Profiles Are the Right Starting Point for Multi‑Agent
Core question of this section: How do you create multiple agents with different roles (e.g., one for coding, one for review)? What’s the difference between a Profile and a sandbox?
When people say “multi‑agent”, they usually mean multiple profiles. A Profile is an independent Hermes home. Each profile has its own config.yaml, .env, SOUL.md, memories, sessions, skills, cron jobs, and state database.
Create a coding assistant:
hermes profile create coder --clone
coder setup
coder chat
Create a reviewer assistant:
hermes profile create reviewer --clone
reviewer setup
reviewer chat
--clone copies current configuration, secrets, and SOUL, but gives the new profile fresh sessions and memory. It’s perfect for creating similar agents with distinct responsibilities.
If you want a full copy (including memory, sessions, skills, cron):
hermes profile create backup --clone-all
Important pitfall: A Profile is NOT a sandbox. A Profile isolates state – config, memory, sessions, skills, cron. It does not isolate file system permissions. With the default local terminal backend, it still accesses the file system as your current user.
If you want it to work only inside a specific project directory, set terminal.cwd. To restrict command execution environments, use Docker, SSH, Modal, Singularity, or other backends.
Remember: Profile manages identity and state; Sandbox manages permissions and boundaries. Don’t confuse the two.
Step 8: What Problem Does Docker Solve? – Don’t Mix the Two Integration Modes
Core question of this section: What are the two ways Docker integrates with Hermes, and which scenario does each address?
Docker relates to Hermes in two ways:
-
Run Hermes itself inside Docker
Suitable for deploying a long‑lived service and for keeping host environment cleaner. -
Hermes runs on the host, but executes terminal commands inside a Docker sandbox
Suitable when you don’t want the agent to directly touch the host system.
These are not the same.
Running Hermes inside Docker, minimal form:
mkdir -p ~/.hermes
docker run -it --rm \
-v ~/.hermes:/opt/data \
nousresearch/hermes-agent setup
Background gateway:
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/opt/data \
-p 8642:8642 \
nousresearch/hermes-agent gateway run
The key is the mount: ~/.hermes:/opt/data. Because /opt/data is the container’s Hermes state directory – .env, config, sessions, memories, skills, cron, logs all live there. Without the mount, everything disappears after container recreation.
If you only want safer command execution, try:
hermes config set terminal.backend docker
Now Hermes itself still runs on the host; only the terminal tool enters Docker.
Step 9: Kanban – The Most Noteworthy New Capability in the Latest Release
Core question of this section: How can you use Kanban to make multiple Hermes Profiles collaborate like a small team?
If you only do personal chat, Kanban is not a day‑one feature. But if you want multiple Hermes profiles to work together like a small team, Kanban becomes essential.
In the latest version, check it directly:
hermes kanban --help
The description: a durable SQLite‑backed task board. Tasks can be atomically claimed, can set dependencies, and can be executed by named profiles in isolated workspaces.
The latest release pushes this further: heartbeat, reclaim, zombie detection, retry budget, incomplete exit auto‑block. Translated: previously, multi‑agent felt like “send them out and hope for the best”. Now it’s more like a task board with heartbeats, failure recovery, and handover logs.
For starters, just know these commands:
hermes kanban init
hermes kanban boards list
hermes kanban create --help
hermes kanban list
hermes kanban show <task-id>
hermes kanban dispatch --help
Don’t let it auto‑manage big projects on day one. A better training exercise:
Create a small task board: AI daily brief production.
Task A: Collect 10 AI hot items.
Task B: Filter to 5 write‑worthy topics.
Task C: For each topic, write a headline and reader pain point.
Let theresearcherprofile do A, and theeditorprofile do B and C.
These tasks have low failure cost, clear structure, and are great for testing Kanban.
Step 10: Cron Is for Scheduled Tasks, Not for Wishing
Core question of this section: How do you set up scheduled tasks for Hermes? Which tasks are suitable for automation and which are not?
Hermes has cron:
hermes cron list
hermes cron add
hermes cron status
hermes cron run <job>
The latest version also introduces no_agent cron – certain watchdog‑style tasks can run scripts without launching a full agent each time.
My first cron tasks are very conservative:
-
Morning AI tool brief -
Evening backup of a directory -
Weekly audit of Skills -
Daily check if a webpage has updated
If something goes wrong, it’s easy to handle. Auto‑publishing articles, auto‑deleting files, auto‑operating accounts – I don’t recommend handing those over on day one. Automation is not about being aggressive. Only when you can review, roll back, and explain it, can it run unattended for the long term.
Troubleshooting Sequence – Don’t Randomly Edit Configs
Core question of this section: When Hermes misbehaves, what is the logical order to debug?
When Hermes has problems, the worst reaction is randomly editing .env and config.yaml. I usually run this sequence first:
hermes doctor
hermes model
hermes setup
hermes sessions list
hermes --continue
hermes gateway status
hermes logs errors
Quick reference:
-
hermes: command not found→ shell not reloaded; dosource ~/.bashrcorsource ~/.zshrc(or restart terminal). -
Model not responding → check provider, API key, model name, base URL. -
Local model acting weird → check endpoint is OpenAI‑compatible, context length is sufficient, model name matches loaded model. -
Gateway started but no response in chat → don’t immediately reinstall; check token, allowlist, pairing, home channel, platform permissions step by step. -
Memory not working → verify same profile, session resumed, MEMORY.md/USER.mdwritten. -
Profile accesses external files → normal; Profile isolates state, not file permissions. Use sandbox for boundaries. -
Docker loses config after restart → likely ~/.hermesnot mounted to/opt/data. -
Skills messed up → run hermes skills listandhermes skills auditbefore manually deleting.
A First‑Week Exercise: AI Daily Brief Assistant
Core question of this section: How do you use a realistic, low‑cost task to progressively train Hermes from “able to talk” to “able to work”?
I think the AI daily brief is the best first‑week exercise. It’s realistic but low‑risk – the worst outcome is an ugly report, not a deleted project.
Day 1: Give this task in CLI:
Please generate today’s AI tool update brief.
Requirements:
For each item, keep product name, original link, and update time Categorise as agent / coding / video / image / infra Output Markdown At the end, note which preferences are worth keeping for next time
After it finishes, don’t just look at the content – correct the format. For example:
In future briefs, do not write vague praise. Keep only facts, links, and one sentence on “why it’s worth looking at”.
Save this preference into your memory.
Day 2: Change the requirement:
Continue yesterday’s AI tool update brief.
This time, keep only the 5 items most suitable for a full article.
For each, provide: headline angle, reader pain point, practical deliverable.
Three consecutive days of this, and you can probably save it as a Skill:
We have done the AI tool update brief three times in a row.
Save the stable workflow as a Skill namedai-daily-brief.
Include trigger conditions, information sources, filtering rules, output format, and validation methods.
This is far more practical than shouting “build me an AI empire” on day one. Small tasks are safe, low‑cost, and reviewable. Hermes will gradually remember preferences, solidify workflows, and then you can safely add chat integrations, cron, Profiles, and Kanban.
Wrapping Up – Continuity Is Hermes’ True Value
What I value most about Hermes is continuity. Many AI tools aren’t stupid – they’re just too easy to interrupt. You teach a format today, and tomorrow a new window forgets it. You fix a bug today, and the day after it makes the same mistake again.
Hermes puts memory, skills, sessions, gateway, profiles, and Kanban together to fight that fragmentation. But it’s not a maintenance‑free machine. You have to choose models, manage secrets, configure tools, check logs, audit permissions, clean Skills, and design task boundaries. It will grow, but how it grows depends largely on how you feed it tasks, give feedback, and allow it to retain processes.
My advice remains simple: first get one conversation working, then establish a workflow, then organise a team.
On day one, achieve just three things:
hermes model
hermes --tui
hermes doctor
It can talk, use tools, resume sessions, and self‑diagnose.
With that foundation, Hermes can become a long‑term AI workbench.
Practical Summary / Actionable Checklist (Can Be Done in One Week)
Day 1
-
[ ] Run curl -fsSL https://get.hermes.org | bashto install -
[ ] Run hermes doctorto check environment -
[ ] Configure one cloud model provider (e.g., OpenRouter) -
[ ] Test conversation and tool use with hermes --tui -
[ ] Test session resume with hermes --continue
Day 2
-
[ ] Write ~/.hermes/SOUL.md(5–10 lines of rules) -
[ ] Make Hermes remember a preference (write to USER.md) via conversation -
[ ] Learn hermes skills listandhermes skills search
Day 3
-
[ ] Set up Gateway (choose one chat platform, e.g., Telegram) -
[ ] Send the first message from the chat app and receive a reply -
[ ] Test Gateway + Memory: have Hermes remember a platform‑specific preference
Days 4–5
-
[ ] Create a second profile (e.g., coder) -
[ ] Understand the difference between Profile and sandbox -
[ ] Optional: try Docker sandbox execution
Days 6–7
-
[ ] Use the AI daily brief task to save a Skill -
[ ] Try cron for a low‑risk scheduled task -
[ ] Optional: use Kanban to create a small multi‑task board
One‑Page Summary
| Module | Core idea | Key commands |
|---|---|---|
| Installation | Use official script; Windows has native Beta | curl ... | bash |
| Model | Start with a cloud 64K+ model | hermes model |
| Sessions | Session resume = continuity | hermes --continue |
| Config | Separate .env, config.yaml, SOUL.md, MEMORY.md |
hermes doctor |
| Memory vs Skill | Memory = facts; Skill = workflows | hermes skills save |
| Gateway | Bring Hermes into chat apps | hermes gateway setup |
| Profile | Right start for multi‑agent, but not a sandbox | hermes profile create |
| Docker | Two modes: run Hermis inside, or sandbox terminal | terminal.backend docker |
| Kanban | Enable profiles to collaborate like a team | hermes kanban init |
| Cron | Scheduled tasks, start low‑risk | hermes cron add |
FAQ
Q1: What’s the difference between Hermes and ChatGPT?
Hermes is an Agent runtime, not just a model. It comes with session management, long‑term memory, reusable Skills, multi‑chat‑platform Gateway, multi‑identity Profiles, a task board (Kanban), and scheduled tasks (Cron). Think of it as giving an AI assistant a permanent desk and a full toolbelt.
Q2: Do I have to use cloud models? Can I run everything locally?
Yes – Hermes supports local OpenAI‑compatible endpoints like Ollama and vLLM. But beginners should start with a cloud provider to get the entire flow working first, then switch to local models to avoid extra variables when debugging.
Q3: Windows users – WSL2 or native Beta?
If you only need CLI, TUI, Gateway, Profiles, and Skills, the native Beta is fine. For heavy development, long‑running automation, or any feature that relies on the Dashboard’s embedded terminal, WSL2 is still the more stable choice.
Q4: My Hermes keeps “forgetting” – I taught it a preference, but next day it’s gone.
Two things to check: (1) Are you using the same profile every time? (2) Are you resuming sessions with --continue? Preferences are written to USER.md and only take effect for the same profile and either a resumed session or a new session that reads that file. Also avoid putting fixed rules into MEMORY.md.
Q5: Do multiple Profiles interfere with each other?
By default, they are isolated: each profile has its own config, memory, sessions, skills, and cron. However, file system permissions are not isolated – all profiles access the file system as your current host user. To restrict file access, use a terminal backend like Docker.
Q6: Is Kanban useful for a single user?
Yes. Even with one profile, Kanban helps you break complex tasks into ordered steps, preventing the agent from being overwhelmed by too much context at once. Create tasks with hermes kanban create and let the agent process them one by one.
Q7: What if a cron job fails?
First run hermes cron status to see the job’s state, then hermes logs errors for error details. In the first week, only let cron perform read‑only or low‑risk tasks (e.g., generating briefs, checking updates). Avoid auto‑write or auto‑delete operations.
Q8: Gateway starts successfully, but my chat app receives no reply.
Step‑by‑step: Is the bot token correct? Is your user ID in the allowlist? Is the home channel set? Have you triggered required platform permissions (e.g., /start on Telegram)? hermes gateway status and hermes logs errors will show most issues.

