Hermes Agent v0.22.6
Overview
v0.22.6 — the stable roll-up. Released November 2, 2026. 3,448 non-merge commits · 4,316 changed files (+248,579 / −94,077) · 776 merged PRs · 385 closed issues, measured at commit f0d94882e89.
This release has one job: turn the merge queue since v0.22.5 into a version you can tag and roll back, and ship it to the GitHub release (CLI and installers), the Microsoft Store app, Docker images, and Hermes Cloud. The official note states plainly that the curated write-up for this window — highlights, feature areas, contributor credits — ships with v0.23.0.
This page therefore describes what the tag actually contains, and nothing that is still pending.
Highlights
1. The webapp is served by the gateway’s own listener
hermes webapp opens a Desktop Web Access pane reachable on your own network, or behind your own URL with Nous sign-in. Desktop plugins can load in a browser tab as well.
2. Cron runs can be stopped
hermes cron cancel <job> stops the run that is currently executing (pause only suppresses future fires). Script jobs get SIGTERM to the whole process group, escalating to SIGKILL after a grace period; agent jobs are interrupted at their next checkpoint. The run books a cancelled row with its reason, sends no failure notice, and does not count toward the job’s failure streak.
Each job can also choose what happens when a scheduled time is missed (use the default, run once when back, skip) in the desktop editor, which now shows a Stop button in the job header.
3. Skills can be locked
A locked skill cannot be changed by the agent — in normal turns, cron jobs, subagents, the background self-improvement review, or the curator pass, even under --yolo. The lock is stored in the profile’s skills/.usage.json beside pinned, and the desktop exposes a switch in the Capabilities pane.
4. pre_llm_call can block a turn before inference
A hook returning {"action": "block", "message": "..."} vetoes the turn: no model request is made, the message is shown as the assistant reply, the result carries turn_exit_reason: blocked_by_plugin_pre_llm_call, and the original prompt is kept only as display metadata.
5. Prepared compaction (opt-in)
With compression.prepare_ahead, the next compaction summary is written in the background near the trigger, and compaction uses it (or waits for it) instead of leaving you watching a “compressing” spinner.
Also in this window
/model resetclears a session’s model pin without losing history./delegationchoices are saved for the next session.- The plugin catalog’s
requires_hermesis enforced at install and update. - The vault key can live in the OS keychain (opt-in).
text_to_speechlets the agent pick an ElevenLabs voice.hermes migrateand setup move Grok Bot and OpenBot users over.- Desktop: every profile gets its own sidebar section; group chat supports rename, disband, mentions and pasting attachments.
- Messaging: Telegram video notes; Slack thread emoji reactions enter thread context.
- Package manager: resumable downloads.
Fixes
The window carries a long list of install and update hardening: keeping existing profile directories when a forced install fails on Windows, refusing macOS update ZIPs with entries lacking owner write, dropping uv wheel links the prune left dangling, and desktop metadata files no longer hiding package payloads. The complete list lands with the v0.23.0 curated notes.
Upgrade
hermes update # CLI installs
- Microsoft Store app: updates through the Store.
- Desktop app from the installer (.exe / .dmg): unchanged here; it moves with the next bundled release.
- Docker / Hermes Cloud:
nousresearch/hermes-agent:stable(or:latest).
No new required config keys; existing config carries over.
← Hermes Agent Changelog