v0.22.7

Hermes Agent v0.22.7


Overview

v0.22.7 — the patch roll-up. Released November 3, 2026. 581 non-merge commits · 554 changed files (+24,012 / −3,144) · 174 merged PRs · 29 closed issues, measured at commit b200f5bc60e.

This release tells no new story. It does one thing: turn the two-week merge queue since v0.22.6 into a stable point that can be installed, rolled back and pinned in a deploy manifest, shipped to the GitHub release (CLI and installers), the Microsoft Store app, Docker images and Hermes Cloud. The official note is explicit that the full curated write-up for this window — highlights, feature areas, complete contributor credits — lands with v0.23.0, and that nothing in the window is skipped.

It is a tenth of the previous roll-up: v0.22.6 packaged 776 PRs and 3,448 commits. So this page covers only what is already in the tag, and marks separately what sits on main and ships with the next release, so a merged PR is not mistaken for a shipped one.


Highlights

1. Web Access Start names the step it is on

Clicking Start in the desktop Web Access pane makes Hermes build the webapp, register Nous sign-in and restart the gateway in one request. The pane used to show a single “Starting” for the whole ride — minutes on a first build, which looked stuck — and reopening the pane mid-build handed back another Start button as if the click had vanished.

The pane now names the step (building, setting up sign-in, restarting) and counts how long Start has been running. Progress is tracked by the backend per gateway as start_progress on /api/webapp-access/status, so a reopened pane or a second window sees the same state; the pane polls once a second only while its Start request is pending and the window is in view. An older backend without the field is not polled and shows a general message.

2. Scheduled jobs can post into a Group Chat

Bot Mode group rooms are a real delivery target now. A cron job’s deliver accepts:

deliver: room:<room_id>@<profile>

Output arrives as one message labelled with the job name and a Scheduled tag. The wake rule is the important part: only the bots you @mention take a turn. A scheduled post that names nobody stays a message in the room and starts no model call; @all addresses everyone. Failure notices are posted too, and never start a round.

Rooms also gained two fields, edited under Room settings and rendered at the top of every member’s turn:

  • Purpose — what the room is for, up to 500 characters
  • Shared notes — up to 4 KB

Room settings also shows the copyable room:<id>@<profile> target.

3. Opt-in lead routing for Group Chats

Off by default, enabled per room: when a message names nobody, a lead bot decides who should take it and the room shows a quiet line such as ada gave this to linus, so the pick is visible and correctable.

Nothing else changes. Rooms without a lead keep the serial round-robin where every member answers; @someone, @all and @everyone resolve exactly as before; scheduled posts and in-thread replies never route through the lead. A routing answer can never broadcast.

4. Group rooms look like the native chat

Group rooms adopted the single-column native chat layout with each member’s live state in the roster, and rooms seating bots from different machines work again.

5. The Hermes Cloud Telegram card points at a path that works

On a Team Gateway, the Telegram card used to route into a single-machine setup flow that dead-ended on permissions. It now points at Portal account linking, which works under Team Gateway.

Also in this window

The official note lists a set of deliberately undocumented changes, all inside the window: the Lead badge and room purpose/shared notes for desktop group chats, pinned Kanban boards as quick-switch tabs, $$TeX$$ diagram labels and mermaid diagrams rendered through Pele, a desktop update error box that shows the failed update’s output with a report link, an opt-in Slack thread_followup_silence for unaddressed thread replies, a Daybreak switch for catalog-listed ChatGPT subscription models, and a batch of new plugin-catalog entries.

Not in this release (already on main)

These merged after the v0.22.7 tag and ship with the next release — do not read them as shipped:

  • A smaller skill library: seven built-in optional skills retired, with the Notion, Airtable and Shopify vendor skill repos becoming default trusted sources
  • The skill-scan cache now keys on the current trust level, so a trust change no longer keeps serving the old policy
  • Less streaming work and throttled idle previews for minimized desktop windows

Two further incident fixes have open PRs and are merged in neither this release nor any shipped one: #148253 (an exported SSL_CERT_FILE CA bundle trusted on top of the platform store again) and #148628 (post-update state.db verification using only the snapshot recorded for the current update, and leaving the live database alone when it is missing). Until they land, hermes backup --quick remains the practical protection.

Upgrade

hermes update          # CLI install
  • Microsoft Store app: updates through the Store.
  • Desktop app installed from the installer (.exe / .dmg): no change in this release; it updates with the next bundled release.
  • Docker / Hermes Cloud: nousresearch/hermes-agent:stable (or :latest).

No new required configuration in this release; existing config carries over. Running hermes backup --quick first is a cheap safety net.

← Hermes Agent Changelog