changelogs.info
OpenClaw Claude Code Codex Gemini Kilo Code Hermes Models Dispatches
Hermes Agent

Hermes Agent

Hermes is the messenger — a terminal AI agent built around the idea that the hardest part of agentic coding isn't generating code, it's understanding what to generate and why. It takes a thoughtful, step-by-step approach to tasks: read the codebase, understand the architecture, plan the changes, then execute. Not the fastest tool in the drawer, but arguably the most reliable.

It's a project-scoped AI agent. You initialize it in your repo with hermes init, configure your model preference, and it creates a context file that helps it understand your project. From there, every task starts with codebase analysis — Hermes reads relevant files, understands relationships, and builds a mental model before writing a single line of code.

The dry-run habit is the most important thing to internalize early. Hermes is designed to show you what it plans to do before it does it. By default, changes are proposed, not applied. You review the plan, you approve it, then it executes. This deliberate approach means fewer "oh no what did it do" moments and more "yeah that's exactly what I wanted" outcomes.

Model flexibility is a first-class feature. Hermes works with Anthropic Claude, OpenAI, or any OpenAI-compatible API endpoint. Running local models? Point it at your Ollama instance. Want to use a specific fine-tuned model? Just configure the endpoint. The agent doesn't care what's generating the responses — it just needs something smart enough to follow its workflow.

The task decomposition is where Hermes differentiates. Complex tasks get broken into sub-tasks with clear dependencies. "Refactor the auth system" becomes: (1) map all auth-related files, (2) identify the current pattern, (3) propose the new pattern, (4) update core auth module, (5) update dependent modules, (6) add/update tests. Each step is visible and reviewable.

Project memory is persistent across sessions. Hermes maintains a memory file in your project that captures architectural decisions, coding patterns, and lessons learned from previous tasks. This means the second task in a project benefits from everything it learned doing the first task. The hundredth task has accumulated real understanding of your codebase.

The review mode is perfect for code review tasks. Feed it a PR diff, and Hermes analyzes the changes in context — checking for bugs, suggesting improvements, verifying test coverage, and flagging potential issues. It's like having a thorough senior engineer review every PR, except it doesn't get tired, doesn't miss things because it's reviewing its tenth PR of the day.

Error recovery is thoughtful. When something goes wrong — a test fails, a build breaks, a lint rule is violated — Hermes doesn't just retry blindly. It reads the error, understands what went wrong, adjusts its approach, and tries again. This iterative debugging loop is where you really see the value of the "understand first, act second" philosophy.

The documentation-first approach means Hermes is good at explaining what it's doing and why. Every change comes with context about the reasoning behind it. This isn't just nice for understanding — it's essential for trust. When an AI agent is making autonomous changes to your codebase, being able to understand its reasoning is the difference between trusting the process and babysitting the output.

Who's it for? Engineers who want a reliable, predictable AI agent they can trust with real tasks. Teams doing careful, methodical development where quality matters more than speed. Anyone who's been burned by aggressive AI tools that made messes they had to clean up. If you'd rather have an agent that takes an extra minute but gets it right the first time — Hermes is built for that.

vv2026.9.24 Hermes Agent v0.21.5 (v2026.9.24) Sep 24, 2026
# Hermes Agent v0.21.5 (v2026.9.24) **Release Date:** September 24, 2026 > Patch release. This tag rolls up the ~460 PRs merged since v0.21.4 into a stable tagged release for downstream consumers (Docker images, Hermes Cloud, hosted deployments). Full curated notes for this window are deferred to v0.22.0. ## About this release Measured at commit `f97608f178d1ffeca59860195ab7da295f7c8e5f`, the window since v0.21.4 contains **1,610 non-merge commits** across **4,828 changed files** (+164,132 / −149,440), **460 merged PRs** and **475 closed issues**. Also in the window, undocumented here on purpose: a Desktop plugin SDK wave (composer draft API, session-list and row-decoration slots, sidebar nav prefs, model-pill label providers, typed settings/skills/toolsets/profiles bridges, a sandboxed embed primitive, appearance-settings slot, and a public event bridge for plugin backends); a Simple/Advanced interface mode for Desktop; the Connectors page replacing the MCP tab, with "Connect now" for a freshly installed plugin's MCP servers and installed plugins' tools and skills going live in every open chat; onboarding that offers catalog plugins beside connectors; complete French, German and Spanish Desktop catalogs plus an RTL/LTR text direction setting; custom model entry from the composer and Settings pickers; function-key and dictation voice shortcuts; per-profile stop/start/restart under the host multiplexer and `gateway.standalone` to opt a profile out; the live dock showing the standing `/goal` and queued prompts in the CLI and TUI; a kanban design pass with a two-column ticket modal and markdown task text; webhook deliveries mirrored into the target chat session; Bot Screen on hosted `-desktop` images; GPT-6 Sol/Terra/Luna and Claude Opus 5.5 in the Nous and OpenRouter catalogs; an official Blender Lab integration and NVIDIA app/Broadcast plugins; a long run of hot-path performance work across config loading, the tool registry, gateway message handling and the model picker; and dozens of new community plugins in the catalog. **Full curated release notes for this window ship with v0.22.0**, which will document everything from v0.21.0 onward — highlights, feature areas, and complete contributor credits. Nothing in this window is skipped. ## Updating - `hermes update` (git installs), or re-run the installer one-liner. - Docker / Hermes Cloud: images build from this tag (`nousresearch/hermes-agent:v2026.9.24`). **Full changelog:** https://github.com/NousResearch/hermes-agent/compare/v2026.9.21...v2026.9.24
View on GitHub ↗
02 ⚡

Power Tips

Task descriptions, plans, checkpoints
⚡

Quick Wins

01
hermes init first, always

Without hermes.config.json, Hermes uses defaults that probably don't match your stack. The init wizard takes 2 minutes and makes every subsequent task dramatically more accurate.

02
--dry-run before you execute

Hermes is autonomous. See the full plan before any files are touched. This is especially important for refactors, migrations, and anything involving multiple files.

hermes "your task" --dry-run
03
Specific descriptions = better plans

Vague: "improve auth." Specific: "Add rate limiting to POST /api/auth/login — max 5 requests per minute per IP, return 429 with Retry-After header." Specificity is everything.

04
Read the execution log when things go wrong

Hermes logs every step of its execution. When a task doesn't go as expected, the log tells you exactly what happened and where it diverged from the plan.

hermes log
05
Checkpoint saves mid-task state

For long-running operations, checkpoint at meaningful milestones. If something goes wrong later, you can resume from the checkpoint instead of starting over.

hermes checkpoint
06
--model swaps the underlying model

Use a cheaper model for exploration and planning tasks, a smarter one for actual implementation. You're not locked into one model for the whole workflow.

hermes --model claude-opus-4-6 "your task"
🔍

Hidden Features

📋
YAML workflow plans for repeatable tasks

Write a .hermes/workflow.yaml that describes a multi-step process. Hermes executes it deterministically every time — great for deployment pipelines, onboarding scripts, and anything you'd otherwise document as a manual runbook.

🔌
Tool plugins extend what Hermes can do

Hermes has a plugin system for tools. Add plugins for your database CLI, cloud provider, test framework, or any other tool you use. Hermes can then invoke them directly as part of its execution plans.

🔁
Resume from checkpoint after interruption

Long tasks get interrupted — network drops, rate limits, system sleep. Checkpoints let Hermes resume exactly where it left off without re-running everything from the start.

hermes resume --checkpoint latest
💀

Common Mistakes

☠️
Skipping --dry-run on first tasks

Hermes is autonomous and will make real changes immediately. Running without --dry-run on a task you haven't validated means you're discovering the plan by watching it execute.

Always --dry-run on any task that modifies files. No exceptions until you know the tool well.
☠️
Vague task descriptions

Vague input = vague plan = vague output. Hermes is only as good as the task description you give it. Ambiguous tasks produce generic results.

Include: what to change, where (file/function), the expected behaviour, and any constraints.
☠️
No checkpoint on long tasks

A 15-minute task that gets interrupted at minute 12 has to start over. That's avoidable.

Run hermes checkpoint at logical milestones during long operations.
03 📋

Command Reference

Flags and commands
CLI Flags
--dry-run Show the execution plan without modifying any files.
--interactive Start an interactive session with back-and-forth conversation.
--scope Restrict file access to a specific path. Hermes cannot read or edit outside this path.
--task Read the task description from a file (markdown or plain text).
--max-steps Maximum number of agent iterations before stopping.
--model Override the model for this task.
--output-json Ask Hermes to return structured JSON output.
--parallel Run multiple task files concurrently.
Daily Workflows
One-shot task execution hermes 'fix all TypeScript errors in src/'
Interactive mode hermes --interactive
Dry run — see the plan without executing hermes --dry-run 'refactor auth module'
Run from a task file hermes --task tasks/migrate-db.md
Limit scope to specific paths hermes --scope src/lib/ 'refactor the utilities'
Check what Hermes did cat hermes.log or hermes log --last
⚡ Power Moves
Chain tasks with a pipeline file hermes --pipeline pipeline.yaml
Use hermes.context.md for persistent instructions Create hermes.context.md at project root
Capture structured output hermes --output-json 'list all API endpoints as JSON'
Parallel task execution hermes --parallel tasks/a.md tasks/b.md tasks/c.md