Stack Signal.
Technical news & guides across AI, programming and the open-source world
FRIDAY, OCTOBER 09, 2026 · 73 articles · RSS

Hermes AgentOct 09, 2026534 words

Hermes Agent v0.21.6: The First Release Cut From the Stable Pipeline

Hermes Agent v0.21.6 landed on October 8, 2026, and it is a quiet release with an outsize job: roll the roughly two thousand PRs merged since v0.21.5 into one tested, tagged, stable build. Despite the patch-level version number, this is the first release cut by our new stable release pipeline, and it matters as much for how it was built as for what is inside.

A release pipeline that finally holds still

The new pipeline makes a stable release a single, reproducible event: one attempt ref, a Docker image that is tested before publish, and a receipt tag recorded at publish time. Everything behind the scenes is designed so that the image you pull is the image that was verified. The desktop app, the Termux packages, and the Microsoft Store build are deliberately left on their current release and will roll forward together at the next bundled release.

The window is enormous. Measured at commit 818c13be, the span since v0.21.5 contains 8,867 non-merge commits across 8,342 changed files (+772,490 / −225,600), 2,106 merged PRs, and 3,027 closed issues. The full curated release notes ship with v0.22.0; here are a few highlights that make sense to single out now.

Speaking, and being heard

The most visible additions are around voice. stt.streaming gives you live transcription while you are actually speaking, on the CLI, TUI, and Desktop. Spoken voice turns can be routed to their own model with auxiliary.voice_chat, which keeps reasoning off by default so a quick voice command does not burn a thinking budget.

Third-party plugins now run in an isolated per-profile plugin host (plugins.isolation: host), so an add-on that goes wrong is contained instead of taking the whole profile down with it.

Models, status, and the small things

Across the board, friction got squeezed. The Desktop model picker puts favorite and pinned models at the top, shows a usage chip before any subscription wall, and rate-limited providers now say which provider hit its limit and when it resets. Local models show up directly in hermes model, with llama.cpp CUDA support added for Linux on both x64 and arm64.

hermes status got a summary-first rewrite with --short and --full modes, so a quick glance tells you what you need without a wall of output.

The security work deserves top billing

Tenable Research reported four dashboard-authentication hardening issues, tracked as TRA-725 through TRA-728. Spoofed X-Forwarded-For headers could reset the password-login rate limit. Unauthenticated login requests could write unbounded values into the auth audit log. The public /auth/ routes had no request-body size limit. And native sign-in could send login codes to a non-loopback redirect, allowing session takeover. All four are fixed.

Two more tighten the edges: repository git-filter hardening prevents untrusted repos from running clean, smudge, or process filters before the first prompt, and email-gateway sender hardening stops a quoted display name in the From header from bypassing the allowlist.

Updating

Docker and Hermes Cloud users pull nousresearch/hermes-agent:stable (or :latest). CLI installs from git run hermes update. As with the pipeline it came from, the point of v0.21.6 is trust: a build you can reproduce, a receipt you can check, and a faster path from merged code to your machine.