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.

vv0.21.7 Hermes Agent v0.21.7 Oct 12, 2026
# Hermes Agent v0.21.7 **Release Date:** October 11, 2026 > Patch release. This tag rolls up the ~204 PRs merged since v0.21.6 into a stable release for the desktop app (macOS Apple silicon, Windows), the Microsoft Store and MSIX, the installer, Docker and Hermes Cloud. Full curated notes for this window ship with v0.22.0. <!-- HERMES_BUILDS_TABLE --> **What this patch ships for source installs (`hermes update` and the desktop app's updater on a git checkout):** - **Updates now follow tagged releases.** A source install of the official repository updates to the latest published `vX.Y.Z` release instead of every commit on `main`. An install already newer than the latest release stays where it is and waits for the next one; nothing is moved back. To keep following every commit: `hermes update --set-channel main`. Forks and mirrors keep following `main`. Store, MSIX and bundled desktop installs are unchanged. - **Choose the channel in the desktop app.** Settings ▸ About ▸ Updates has an *Update channel* switch (Stable releases / Every commit) for source installs, and the update dialog now shows which channel you are on. - **Reasoning survives resume.** Signed thinking replays after `hermes chat --resume` and on the next gateway turn, and Bedrock Converse reasoning models no longer get rejected on resumed sessions. - **Updates no longer fail behind some firewalls.** Installs on `main` no longer fetch a release record that regional firewalls could answer with 403. The stable check uses your GitHub token when one is set (`GITHUB_TOKEN` or `gh auth login`) and reports a GitHub rate limit as a rate limit. ## About this release Measured at commit `1fd18277267152893a8a24792b79213e7ca3f899`, the window since v0.21.6 contains **740 non-merge commits** across **4,156 changed files** (+86,775 / −26,980), **204 merged PRs** and **69 closed issues**. Also in the window, undocumented here on purpose: plugins running built-in Desktop app actions (`ctx.runAction`) and a plugin SDK pet bubble (`ctx.pet.say`); core-made Codex requests so plugins never hold the token; skills installed mid-session reaching the model without a prompt rebuild; Krea 2 Medium Turbo as the default image lane for new paid subscribers, with a FAL fallback when managed Krea refuses a request; faster desktop updates (the React Compiler pass cached by content, the compiled renderer reused when only the install stamp changed, unchanged native inputs left in place); pinned installs that check out only the pin; compaction marks emitted to Relay; and new community plugins including memory-shield, command-ledger, Memoria, Model Router, wyoming-voice-bridge, codex-account-switch and redline. **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 - Desktop app: updates itself. Microsoft Store installs update through the Store. - CLI: `hermes update`, or re-run the installer one-liner. - Docker / Hermes Cloud: `nousresearch/hermes-agent:stable` (or `:latest`). **Full Changelog**: [v0.21.6...v0.21.7](https://github.com/NousResearch/hermes-agent/compare/v0.21.6...v0.21.7)
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