Hermes v0.21.0: Bot Mode Built In, Agents That Message Each Other, and Cron Jobs That Remember

You have a research agent and a coding agent, and they never talk — when one finds the answer, you copy the text out of one chat window, paste it into the other, and hope you got the formatting right. v0.21.0 (tag v2026.8.31, released August 31, 2026) attacks exactly that wall: “The Pantheon Release” makes Bot Mode a built-in part of the desktop app where your agents get names, faces, and group chats, adds the hermes peer command so any agent can DM any other agent across profiles and machines, and gives cron jobs a memory so your 9am briefing actually knows what it told you yesterday.
The window is big even by this project’s standards: roughly 5,800 commits, ~2,475 merged PRs, and ~5,680 files changed since v0.20.0, with 760+ contributors and about 2,100 issues closed. It also rolls up the v0.20.1–v0.20.6 patch windows, which we covered as they landed (v0.20.6 steady roll, v0.20.5 housekeeping). Here is what matters in the new release.
A society of agents, built into the desktop
Bot Mode stops being a plugin and becomes the desktop’s default-on way to run multiple agents. Every profile gets a name, a deterministic avatar face (with randomize/lock controls), and a place in a shared roster. You can create Discord-style group chats where several bots and you talk in one room, @-mention any bot from the composer, and give rooms names and pictures. The multi-agent story used to be plumbing — wiring APIs together by hand; now it looks like a chat app full of coworkers. If you’ve been following the Bot Mode guides since the plugin era, the built-in version is the same idea, packaged and default-on.
hermes peer: agents DM each other
The headline CLI of the release is hermes peer — bot-to-bot direct messages across profiles and gateways, from the terminal or from inside a conversation. Register another Hermes gateway as a peer, then message its agents by handle:
hermes peer add spark --url http://spark.lan:8377 --key <API_SERVER_KEY>
hermes peer dm spark "disk status on the homelab?"
hermes peer run spark "analyze this long log" --idempotency-key ticket-123
hermes peer status spark run_abc123
Replies land in each agent’s canonical Bot Chat, so agent-to-agent conversations are durable and inspectable instead of fire-and-forget. Long tasks can run asynchronously (hermes peer run) with an idempotency key, and exit codes stay script-friendly (0 ok, 1 delivery/peer error, 2 usage error). We wrote a full walkthrough in the hermes peer guide.
Cron jobs that remember
Scheduled jobs stopped being goldfish. Cron agents now load and update persistent memory like any other agent (MEMORY.md is in the system prompt), and a new continuity=true flag carries each run’s output into the next run — so a monitor can dedupe against what it already reported instead of re-pinging you. Every job gets a durable notepad scratchpad (hermes cron notepad <job_id> get|set|delete|list), monitor-mode jobs can skip the LLM entirely when nothing changed, and cron output can land in a bot’s canonical Bot Chat where the bot actually responds. Your 9am briefing now knows what it told you yesterday. More in our cron memory guide.
Steer subagents while they run
delegate_task grew live orchestration: list running children, steer one mid-flight with a course correction, or stop it early and keep the partial result. Child outputs can be validated against an optional JSON schema, per-delegation cost surfaces in the results, and defaults rose to 250 iterations / 10 concurrent children. Delegation went from fire-and-pray to actually managed parallel work — see our live orchestration guide for the tool surface.
The MCP command center
MCP servers and the catalog merged into one coherent desktop page: drag-in “paste anything” import, background health checks that nudge you to re-auth before a tool call fails, a fleet cost/usage overlay (schema token estimates + 30-day usage per server), and hermes:// deep links that install an MCP server with explicit confirmation. Managing twenty servers used to be config-file archaeology; now it’s a dashboard. Related reading: the official remote MCP catalog.
A CLI power wave
Ctrl+P opens a fuzzy command palette, the /model picker filters as you type, /status shows reasoning mode, pending approvals, and context usage, and the status bar can display live cache-hit %, latency, and tokens/sec with per-field toggles (we covered those in the status bar metrics post). Session pin/unpin from the CLI keeps important threads, rotating task-oriented composer placeholders keep the input box useful, and — because a companion should have a companion — terminal pets (Ghostty-style animated mascots, managed with hermes pets). The command palette guide has the full tour.
The agent drives the desktop’s browser
The in-app browser stopped being a window the agent could only look at: Hermes now navigates, clicks, and reads it directly, and pages can be popped out to your system browser with full link context menus. Ask it to walk a docs site or debug a web app and watch it happen inside your own app. This complements the real-profile browsing work from v0.20.6 — same browser, now with hands.
Six new providers and a model wave
The provider roster jumps: Meta Model API (Muse Spark) ships as a built-in provider, joined by CommandCode, Tencent TokenPlan, Nebius Token Factory, Ramp Router, and Actual Computer. The catalogs picked up GLM-5.3-Flash, qwen3.8-max/flash, Gemini 3.7 Flash, MiniMax M3 free, and Nemotron 3.5 Lightning — and model_overrides keeps letting you patch any model’s context window or pricing yourself (see our model overrides guide). We covered the Ramp/Nebius/Tencent trio in the new providers guide.
Security hardening across the board
- Protected instruction files: writes to AGENTS.md, skills, and memory stores now always require approval (
security.protected_instruction_files: trueby default), so a prompt-injected agent can’t quietly rewrite its own standing orders. - Redaction sweep: secret-leak gaps closed across terminal errors,
.envreads, checkpoints, and ACP logs. - Windows approvals: destructive Windows commands and paths now trip the approval system, closing the platform gap.
- macOS TCC identity: permission grants survive every update via
hermes desktop --setup-tcc-identity.
Reverted (not shipping)
Three things landed and were pulled back during the window: Model Council mode (/council), the DCP context engine, and the WS-only gateway server. None of them are in this release — if you saw them discussed, that’s why they’re absent.
Upgrade
hermes update
After upgrading, hermes doctor verifies the install and you may want to restart the gateway (hermes gateway) so messaging-platform changes take effect. The release page for v0.21.0 lives at /releases/v0-21-0/ with the full categorized changelog.