Releases: NousResearch/hermes-agent
Hermes Agent v0.16.0 (2026.6.5) — The Surface Release
Hermes Agent v0.16.0 (v2026.6.5)
Release Date: June 5, 2026
Since v0.15.2: 874 commits · 542 merged PRs · 1,962 files changed · 205,216 insertions · 46,217 deletions · 399 issues closed (2 P0, 62 P1, 16 security-tagged) · 170 community contributors (including co-authors)
The Surface Release. Hermes meets you wherever you work. A brand-new native desktop app — built across 100 PRs and 159 commits in a single week — gives you Hermes as a real macOS/Linux/Windows application: one-click install, in-app self-update, drag-and-drop files into chat, an inline model picker in the status bar, concurrent multi-profile sessions, a full Simplified Chinese translation, and the ability to connect to a remote Hermes gateway over OAuth or username/password. Alongside it, the web dashboard grew a full browser-based administration panel (MCP catalog, messaging channels, credentials, webhooks, memory, pluggable OIDC / username-password login), and first-time setup got a "Quick Setup via Nous Portal" path that gets you from install to first message in seconds. The default skill set was trimmed to what you actually need, NVIDIA/skills joined the trusted Skills Hub taps, the model picker is now fuzzy-searchable everywhere (desktop, web, TUI, CLI), and
/undofinally lets you take back the last N turns. 2 P0 and 62 P1 closures ride along, plus a security round (CVE-2026-48710 Starlette pin, SSRF off-loop hardening, subprocess credential stripping).
✨ Highlights
-
Hermes Desktop — a real native app, not a terminal wrapper — This is the headline. There's now a
apps/desktop/Electron application that installs like any other desktop app on macOS, Linux, and Windows, updates itself in place from inside the app, and gives you a polished GUI for everything Hermes does. You get a proper chat window with streaming, a session list you can archive and search, drag-and-drop files anywhere in the chat area, clipboard image paste, a Cmd+K command palette, and a model picker right in the status bar. If you've been telling friends "it's a CLI agent" and watching their eyes glaze over — now you can just send them an installer. None of this existed a week ago. (#20059, #35607, #37099, #37379, #38631 — @OutThisLife, @jquesnelle, @ethernet8023, @austinpickett, @benbarclay) -
Run the desktop app against a remote Hermes — sign in with OAuth or username/password — The desktop app doesn't have to run Hermes locally. Point it at a remote Hermes gateway (your homelab, a hosted box, a teammate's server) and it connects over a secure WebSocket, authenticating with OAuth or a username/password login — no fiddling with
--insecureflags or hand-copied session tokens. Each profile can target its own remote host, and you can run concurrent sessions across multiple profiles in one window with cross-profile@sessionlinks. The practical version: your laptop runs a thin GUI, the heavy agent runs wherever your API keys and compute live. (#37888, #38851, #39330, #39778 — @benbarclay, @OutThisLife, @teknium1) -
The web dashboard is now a full admin panel — configure everything from the browser — The dashboard grew from "view your sessions" into a complete administration surface. There's a Channels page that sets up every gateway messaging platform (Telegram, Discord, Slack, etc.) from the browser, an admin panel for the MCP catalog with enable/disable toggles, credential management, webhook and hook creation, memory configuration, gateway controls, and a System page with check-before-update and one-click Debug Share. You no longer have to SSH in and edit
config.yamlto wire up a new messaging channel or MCP server — it's all point-and-click now. (#36704, #36736, #37211, #38205, #38600 — @teknium1) -
Hermes Desktop speaks Simplified Chinese — full 简体中文 in the chat GUI — The desktop app now ships a complete Simplified Chinese (简体中文) translation across every UI surface — the chat window itself, sidebar, settings, command center, cron, messaging, profiles, skills, agents, the lot. English stays the default; switch language in Appearance settings and the choice persists to your config (
display.language). It's built on a proper typed i18n layer, so adding more languages from here is straightforward. (#38241 — @JimLiu) -
Leaner default skill set — Hermes ships only what you actually need — The bundled skill set got a deliberate trim. Skills that were redundant or dead are gone (
spotify— superseded by the native Spotify plugin's 7 tools;linear— superseded byhermes mcp install linear;kanban-codex-lane,debugging-hermes-tui-commands, a staledomainorphan, and several empty category markers). Heavier or niche skills moved from bundled to optional (the Baoyu creative set,dspy,subagent-driven-development,minecraft-modpack-server,pokemon-player,hermes-s6-container-supervision) — still onehermes skills installaway, just not loaded by default. And a newenvironments:relevance gate keeps context-specific skills (kanban, docker/s6) out of the skills index for users who'll never use them, while still loading them on explicit request. The result: a smaller, sharper default skill list, less noise in the picker, and a lighter prompt. The curator can now prune unused built-in skills too (not just agent-created ones), with usage tracked for every skill. (#39028, #36701, #36228 — @teknium1) -
NVIDIA/skills is now a built-in trusted skills tap —
NVIDIA/skillsjoins OpenAI, Anthropic, and HuggingFace as a default trusted tap in the Skills Hub — discoverable, browsable, searchable, and auto-updating through the same pipeline. NVIDIA's verified skills for CUDA-X, AIQ, cuOpt and the rest of their product stack are one install away, with real category labels from the repo'sskills.sh.jsonsidecar. (#34333 — @teknium1) -
Quick Setup via Nous Portal — from install to first message in seconds — First-time setup was thinned down to two clear paths: Quick Setup (sign in with Nous Portal, get a model picker, start chatting immediately) or Full Setup (the detailed wizard for power users).
hermes portalis now the human-readable alias that runs the full quick-setup Nous flow. The first-run menu explains the difference inline so newcomers aren't guessing. The goal: a brand-new user shouldn't need to read docs to send their first message. (#35723, #36227, #38449, #38465 — @teknium1, @kshitijk4poor) -
Fuzzy model picker, everywhere — type a few letters, find your model — The model picker now does fuzzy search across the desktop app, web dashboard, TUI, and CLI. Type "v4fl" and
deepseek-v4-flashsurfaces; multi-endpoint providers are grouped under one row instead of cluttering the list with duplicates, and each row carries a description so you know what you're picking. The catalog refreshes hourly instead of daily, so new models show up the same day they launch. New this window:deepseek-v4-flash,MiniMax-M3with 1M context,qwen3.7-plus. (#36928, #35227, #35756, #35659, #36214 — @kshitijk4poor, @teknium1) -
/undo [N]— take back the last N turns — Said the wrong thing, or sent the agent down a bad path?/undobacks up N user turns, prefills your last message so you can edit and resend, and soft-deletes the turns in between. It works in the CLI, the TUI, and across messaging platforms (Telegram, Discord, etc.) with full parity. Closes a long-standing request (#21910). (#36229, #36699 — @teknium1) -
Choose your default interface —
cliortui— You can now set whetherhermes chatdrops you into the classic CLI or the Ink TUI by default, with a--cliflag to override per-invocation. The TUI also got a single unified/modelcommand and a Sessions overlay for switching between live sessions. Use the interface you actually like. (#37782, #37112 — @OutThisLife)
🖥️ Hermes Desktop App (NEW)
Install & lifecycle
- macOS desktop install + in-app self-update; rebuild-and-relaunch cleanly on macOS ([#35607](https://github.com/NousResearch/her...
Hermes Agent v0.15.2 (2026.5.29.2)
Hermes Agent v0.15.2 (v2026.5.29.2)
Release Date: May 29, 2026
🐛 Bug Fixes
- Packaging): ship bundled plugin.yaml manifests in wheel and sdist (
827f7f07)
👥 Contributors
Thank you to everyone who contributed to this release!
- @outsourc-e (1 commit)
- @dparikh79 (1 commit)
- @ousiaresearch (1 commit)
- @libre-7 (1 commit)
Full Changelog: v2026.5.29...v2026.5.29.2
Hermes Agent v0.15.1 (2026.5.29) — The Patch Release
Hermes Agent v0.15.1 (v2026.5.29)
Release Date: May 29, 2026
Since v0.15.0: 28 commits · 21 merged PRs · hotfix release · 9 contributors
The Patch Release. A same-day hotfix for v0.15.0. Headline fix: the dashboard infinite-reload loop that hit anyone running v0.15.0 in loopback mode (Docker, hosted Hermes, fresh installs). A handful of other v0.15.0 follow-ups go along for the ride — kanban worker SIGTERM,
/modelpicker unification,/yolosession bypass, the full 19,932-entry skills.sh catalog,.mdmedia delivery restoration, gateway probe-stepdown safety, web-URL redaction passthrough, kanban worker vision on referenced images, hindsight observation-default. Docker users get an explicit--insecureopt-in env var (no more bind-host inference), MCP server bare-command PATH resolution, and arm64 PR-build cache fixes.
✨ Highlights
-
Dashboard 401 reload loop fixed — In loopback mode the dashboard's identity probe (
/api/auth/me) returns 401 by design, but v0.15.0's stale-token reload guard treated every 401 as a rotated session token and full-page-reloaded to pick up a fresh one. Every successful sibling call cleared the one-shot reload guard, so the page reload-looped forever (Firefox: "Navigated to /sessions" storm; Chrome: React re-render storm). Fix adds anallowUnauthorizedopt-out tofetchJSONthat skips only the loopback stale-token reload — 401 still throws soAuthWidgetswallows it, gated-modelogin_urlredirects are unaffected. Closes #34206, #34202. (#30698 — @austinpickett) -
Docker dashboard
--insecureis now an explicit env opt-in, never derived from bind host — Previously the Docker entrypoint inferred--insecurewhen the dashboard bound to a non-loopback host. That conflated "I want LAN access" with "I want to disable the same-origin guard." The fix splits them: bind host is bind host, and disabling the dashboard's loopback auth requires an explicitHERMES_DASHBOARD_INSECURE=1. Existing setups that genuinely wanted insecure binding must now set the env var. (#34188, #34204 — @benbarclay) -
MCP bare command resolution under Docker — MCP servers configured with bare commands (
npx,npm,node) now resolve against/usr/local/binso they actually launch inside the Docker image where those binaries live. v0.15.0 left these failing silently in containers when the agent's effective PATH didn't include the Node toolchain location. (#34186 — @benbarclay) -
Skills page sidebar / source pills restored — A stale
useMemodependency in the new dashboard skills page collapsed the source pills and category sidebar to "All" only. Fixed; both surfaces now reflect the live catalog state. (#34194) -
Kanban worker can be killed again —
SIGTERMon a kanban worker was being absorbed by an intermediate process and the worker stayed running. Closes #28181. (#34045) -
Full skills.sh catalog (858 → 19,932 entries) — The skills hub page was pulling a partial paginated catalog. The fetch now walks the sitemap, so all 19,932 skills.sh entries surface in the picker instead of just the first 858. (#34025)
🐛 Bug Fixes
Dashboard / Web
/api/auth/me401 no longer triggers reload loop in loopback mode — (#30698 — @austinpickett)- Skills page source pills + category sidebar restored — stale
useMemodep (#34194)
Docker
--insecureis now explicit opt-in via env var, not derived from bind host (#34188 — @benbarclay)- Dashboard test suite repaired to match the insecure-opt-in fix (#34204 — @benbarclay)
- arm64 PR builds skip the GHA cache to avoid cache-thrash on cross-arch builders (#33704 — @BROCCOLO1D)
MCP
- Bare
npx/npm/noderesolve against/usr/local/binfor Docker compatibility (#34186 — @benbarclay)
Kanban
- Worker SIGTERM actually terminates the process (#34045)
- Workers receive images referenced in task bodies for vision-capable models (#34210)
Gateway
.mdfiles deliver again — media-delivery validation defaults to denylist-only instead of an overly-narrow allowlist (#34022)- Probe stepdown safety — on a context-overflow without an explicit provider context limit, the agent no longer steps down to a smaller model based on an unknown ceiling (salvage of #33673) (#33826)
CLI
/yolomid-session enables the per-session bypass instead of just toggling the env var (which the running agent had already snapshotted) (#33931 — @kshitijk4poor)/modelandhermes modelshow the same list, plus disk cache for picker startup (#33867)
Skills
- Full skills.sh catalog via sitemap — 858 → 19,932 entries (#34025)
Redaction
- Web URLs pass through unchanged — the redactor was eating query parameters that looked credential-shaped (#34029)
✨ Small Features
- Hindsight default narrowed to observation-only for
recall_types— tool path is also narrowed (#34079 — @nicoloboschi, follow-up #34091 — @kshitijk4poor) - Memory providers receive completed-turn message context — salvage of #28065 (#34097 — @kshitijk4poor, credit to @devwdave)
📚 Documentation
--no-supervise/HERMES_GATEWAY_NO_SUPERVISEdocumented in the reference docs (follow-up to #33583) (#33751 — @r266-tech)
🛠️ Infrastructure
- Vercel deploy workflow accepts
workflow_dispatchso docs deploys can be manually triggered (#34081) @nous-research/uibumped to 0.18.2 (NixnpmDepsHashalso updated to match) (#34193 follow-ups — @austinpickett)
👥 Contributors
Core
Community
- @austinpickett — dashboard 401 reload-loop fix (the headline),
@nous-research/uibump, NixnpmDepsHashupdates - @benbarclay — Docker
--insecureopt-in, MCP bare-command resolution, dashboard test repair - @kshitijk4poor —
/yolosession bypass, completed-turn memory context salvage, hindsight follow-up docs - @nicoloboschi — hindsight
recall_typesobservation default - @BROCCOLO1D — arm64 PR build cache fix
- @r266-tech —
--no-supervisereference docs - @yangguangjin — probe stepdown safety (salvage of @yanghd's #33673)
- @devwdave — completed-turn memory context (credited via salvage)
- @andrewhosf — co-author
Issue Reporters (the 401 loop)
Full Changelog: v2026.5.28...v2026.5.29
Hermes Agent v0.15.0 (2026.5.28) — The Velocity Release
Hermes Agent v0.15.0 (v2026.5.28)
Release Date: May 28, 2026
Since v0.14.0: 1,302 commits · 747 merged PRs · 1,746 files changed · 282,712 insertions · 36,699 deletions · 560+ issues closed (15 P0, 65 P1, 19 security-tagged) · 321 community contributors (including co-authors)
The Velocity Release. Hermes gets dramatically faster — to start, to run, to ship work, and to grow. The 16,083-line
run_agent.pycollapses to 3,821 (-76%) across 14 cohesiveagent/*modules. Kanban grew into a real multi-agent platform across 104 PRs — orchestrator auto-decomposition, swarm topology, scheduled tasks, worktree-per-task, per-task model overrides. The cold-start perf wave keeps going: another second shaved off launch, 47% fewer per-conversation function calls,hermes --versionflipping the head-to-head benchmark against Codex CLI.session_searchis 4,500× faster and free now. Promptware defense lands against Brainworm-class attacks. Bitwarden Secrets Manager replaces N per-provider API keys with one bootstrap token. Skill bundles let one slash command load a whole workflow. The Ink TUI gets a multi-session orchestrator. Two new image_gen providers (Krea 2 Medium + Large, FAL ported to plugin), the Nous-approved MCP catalog with an interactive picker, an OpenHands orchestration skill, ntfy as the 23rd messaging platform, and a deep xAI integration round (Web Search plugin, xai-oauthhermes proxyupstream, retired-May-15 model detection +hermes migrate xai, natural TTS speech-tag pauses, base_url leak guard, OpenAI-style execution guidance for Grok). 15 P0 + 65 P1 closures alongside.
✨ Highlights
-
The Big Refactor —
run_agent.pyis no longer 16,000 lines — The file at the heart of Hermes — the agent conversation loop — has been reduced from 16,083 lines to 3,821 (-76%), with the extracted code redistributed across 14 cohesive modules underagent/. Behavior is unchanged: every extraction keeps a thin forwarder onAIAgent, every test patch path still works, every external caller is compatible. The reason you care: future Hermes development moves faster, plugin authors can finally grep the codebase, and the file that took 90 seconds to load in your editor opens in a blink. (#27248) -
Kanban grew into a real multi-agent platform — 104 PRs end to end — Triage auto-decomposes one task into a tree of sub-tasks.
hermes kanban swarmcreates a full Swarm v1 graph in one command — root, parallel workers, gated verifier, gated synthesizer, shared blackboard. Tasks support per-task model overrides (cheap models for boilerplate, expensive ones for hard sub-tasks), board-level default workdirs, per-task worktree paths and branches, scheduled start times, configurable claim TTL, retry fingerprinting, stale-task detection, respawn guards, and a drag-to-delete trash zone. Workers report through/workers/active,/runs/{id}, and/inspectendpoints. (#27572, #28443, #28364, #28394, #28462, #28384, #28467, #28455, #28452, #28432, #28468, #28420) -
Cold-start perf wave keeps going — another second saved, 47% fewer per-turn function calls — Three new optimization rounds: defer
openai._base_clientimport (-240ms / -17MB on every CLI invocation), hot-path optimizations cut 47% of per-conversation function calls (399k → 213k for 31-turn chat), defer compression-feasibility check (-170 to -290ms on every agent construction), adaptive subprocess polling (-195ms per tool call, 1+ second per turn). Termux cold start drops from 2.9s to 0.8s.hermes --versioncold drops 63% (701ms → 258ms), flipping the head-to-head benchmark against Codex CLI from 5/11 wins to 6/11. (#28864, #28866, #28957, #29006, #29419, #30121, #30609, #31968) -
session_searchrebuilt — no LLM, no cost, 4,500× faster — The oldsession_searchwas an aux-LLM-powered tool that cost ~$0.30/call and took ~30 seconds to summarize three sessions, sometimes confabulating when the right session wasn't even in the FTS5 hit list. The new shape is one tool with three modes (discovery, scroll, browse) inferred from which args are set — nomodeparameter, no aux-LLM, no config knob, no companion skill. Discovery is ~20ms instead of ~90s; scroll is ~1ms. Searching your past sessions for context is now free and instant. (#27590) -
Promptware defense — Brainworm-class attacks blocked at three chokepoints — Inspired by recent Brainworm / Promptware Kill Chain research (Origin HQ, arxiv 2601.09625), Hermes now defends the context window against prompt-injection attacks that try to hijack the agent via tool output, recalled memory, or stored skills. Single source of truth (
tools/threat_patterns.py) with ~15 new Brainworm/C2 patterns; recalled memory is scanned at load time; tool results get delimiter markers so a malicious file or remote service can't impersonate Hermes' own system content. Paired with a newsecurity-guidanceplugin that pattern-matches dangerous code writes. (#32269, #33131, #9151) -
Bitwarden Secrets Manager — one bootstrap token replaces every per-provider API key — Stop keeping plaintext API keys in
~/.hermes/.env. Install Bitwarden Secrets Manager (bwsauto-installs lazily on first use), point Hermes at it with one bootstrap token (BWS_ACCESS_TOKEN), and every credential you need comes from Bitwarden at startup. Rotate a key in the Bitwarden web app and the rotation actually takes effect — Bitwarden defaults to source-of-truth so its values overwrite matching env vars on startup. Flipsecrets.bitwarden.override_existing: falseto invert. EU Cloud and self-hosted Bitwarden server URLs supported. Detected credentials are now labeled with their source so you can see at a glance which keys came from Bitwarden vs. the local env. (#30035, #31378, #30364) -
ntfy as the 23rd messaging platform — push notifications without an account — ntfy is the self-hostable push-notification service with no signup, no API key, just a topic URL. Hermes now adapts to it as a platform plugin (zero edits to core), so your agent can send you push notifications from any cron job, kanban task completion, or chat
send_message— to your phone, your watch, your desktop, your homelab. (salvages #30625 → originally #4043) (#30867) -
Skill bundles —
/<name>loads multiple skills at once — A skill bundle is a named group of skills that loads them all together with one slash command. Set up your "writing day" bundle (humanizer + ideation + obsidian + youtube-content) and/writing-dayactivates all four for the session. Skills Hub now has health checks, a freshness badge, and a watchdog cron. Three new optional skills land:code-wiki(Karpathy's LLM-Wiki, persistent indexed dev wiki),openhands(delegate to OpenHands for parallel coding agents), andweb-pentest(OWASP-style web pentest recipes). (#28373, #32345, #32240, #32261, #32265) -
TUI session orchestrator — multiple live sessions in one TUI window — The Ink TUI gained an active-session switcher overlay. List, switch between, refresh, and close multiple live process-local sessions without leaving the TUI; dispatch a new session with a session-scoped model picker. Plus a wave of TUI polish — mouse-tracking DEC mode presets, scrollback preservation across branches and termux, slash-dropdown fixes, x.com link rendering, and CJK / IME input rendering improvements. (salvages #27642) (#32980, #30084)
-
Two new image_gen providers — Krea 2 Medium + Large, FAL ported to plugin — Krea joins the image_gen lineup as a built-in plugin:
Krea 2 Medium($0.03) andKrea 2 Large($0.06), auto-discovered, selectable viahermes tools→ Image Generation → Krea. Available through both th...
Hermes Agent v0.14.0 (2026.5.16)
Hermes Agent v0.14.0 (v2026.5.16)
Release Date: May 16, 2026
Since v0.13.0: 808 commits · 633 merged PRs · 1393 files changed · 165,061 insertions · 545 issues closed (12 P0, 50 P1) · 215 community contributors (including co-authors)
The Foundation Release — Hermes installs and runs anywhere, ships with the things you actually want to use, and stops shipping the things you don't. xAI Grok lands as a SuperGrok OAuth provider with grok-4.3 bumped to a 1M context window. A new OpenAI-compatible local proxy turns any OAuth-authed Hermes provider — Claude Pro, ChatGPT Pro, SuperGrok — into an endpoint that Codex / Aider / Cline / Continue can hit.
x_searchlands as a first-class X (Twitter) search tool with OAuth-or-API-key auth. The Microsoft Teams stack is wired end-to-end (Graph auth + webhook listener + pipeline runtime + outbound delivery). A debloating wave makes installs dramatically lighter — heavyweight backends now lazy-install on first use, the[all]extras drop everything covered by lazy-deps, and a tiered install falls back when a wheel rejects on your platform.pip install hermes-agentworks from PyPI. The cold-start wave shaves ~19 seconds offhermeslaunch. Browser CDP calls are 180x faster. Two new messaging platforms (LINE + SimpleX Chat) bring the total to 22. Cross-session 1-hour Claude prompt caching,/handoffthat actually transfers sessions live, native button UI forclarifyon Telegram and Discord, Discord channel history backfill, LSP semantic diagnostics on every write, a unified pluggablevideo_generate, acomputer_usecua-driver backend that finally works with non-Anthropic providers, clickable URLs in any terminal, Zed ACP Registry integration viauvx, native Windows beta, 9 new optional skills, OpenRouter Pareto Code router, huggingface/skills as a trusted default tap. 12 P0 + 50 P1 closures.
✨ Highlights
-
xAI Grok via SuperGrok OAuth — and grok-4.3 jumps to a 1M context window — If you pay for SuperGrok, you can now use Grok inside Hermes by signing in with your xAI account — no API key, no separate billing. The wire-through also bumps grok-4.3 to a 1M token context window, so you can drop whole codebases or research corpora into a single prompt. Includes proper handling for entitlement errors and an SSH-to-tunnel docs page for when you're SSH'd into a remote box and need to complete the OAuth flow. (#26534, #26664, #26644, #26592)
-
OpenAI-compatible local proxy for OAuth providers — Run
hermes proxyand you get ahttp://localhost:portendpoint that speaks the OpenAI API but is backed by whichever OAuth provider you're signed into — Claude Pro, ChatGPT Pro, SuperGrok. Now any tool that expects an OpenAI-compatible endpoint (Codex CLI, Aider, Cline, Continue, your custom scripts) just works with your existing subscription, no API key required. One subscription, every tool. (#25969) -
x_search— first-class X (Twitter) search tool — The agent can now search X directly without installing a skill or wiring up a custom integration. Search the timeline, find threads, surface specific posts — straight from the chat. Auth with either your X OAuth login or an API key, whichever you have. (#26763) -
Microsoft Teams — end-to-end — Hermes can now read messages from Teams and post back. The full Microsoft Graph stack lands together: auth + client foundation, a webhook listener that receives Teams events, a pipeline plugin runtime, and outbound delivery. Wire up the bot once, then chat to your agent from any Teams channel, DM, or group. (salvages of #21408–#21411) (#21922, #21969, #22007, #22024)
-
Debloating wave — lighter installs, less you don't use — A clean
pip install hermes-agentused to pull down everything: every messaging adapter SDK, every image-gen SDK, every voice/TTS provider, whether you used them or not. Now those heavy backends (Slack / Matrix / Feishu / DingTalk adapters, hindsight client, codex app-server, Pixverse / Camofox / image-gen SDKs, voice/TTS providers) install automatically the first time you actually use them. The[all]extras drop everything covered by lazy-deps, the installer falls back through tiers when a wheel doesn't fit your platform, and a supply-chain advisory checker scans every install for unsafe versions. Faster installs, smaller disk footprint, fewer transitive vulnerabilities. (#24220, #24515, #25014, #25038, #25766, #21818) -
pip install hermes-agent && hermes— Hermes Agent is now a real PyPI package. No more cloning the repo or running shell installers — one pip command and you're running. The wheel ships with the Ink TUI bundle and the shell launcher, so the full experience comes out of the box. (salvage of #26350) (#26593, #26148) -
Cross-session 1h Claude prompt cache — When you use Claude through Anthropic, OpenRouter, or Nous Portal, the prompt prefix (system prompt, skills, memory) now caches for an hour across sessions. Start a
/newsession and the first response comes back faster and cheaper because the cache is still warm from your last session. Background memory review hits the cache too, so it's not paying full price every turn. (#23828, #25434, #24778) -
180x faster
browser_consoleevaluations — When the agent uses the browser tool to inspect a page or run JavaScript, those calls now share one persistent connection to Chrome instead of spinning up a new DevTools session every time. The difference is huge: things that used to take a couple of seconds per call return in milliseconds. Real-world page interactions feel instant. (#23226) -
Cold-start performance wave — ~19 seconds off
hermeslaunch — Runninghermesused to make you wait through a chunk of import overhead and network calls before you saw a prompt. Now the launch path is mostly deferred: heavy adapters only load when you use them, model catalogs come from disk cache first, doctor checks run in parallel, andchat -qskips the welcome banner entirely. Thehermes toolsAll-Platforms screen alone dropped from 14 seconds to under 1.5 seconds. (#22138, #22120, #22681, #22790, #22808, #22831, #22859, #22904, #22766, #25341) -
Two new messaging platforms — LINE + SimpleX Chat — LINE is huge in Japan, Korea, and Taiwan, and now Hermes runs natively on the LINE Messaging API. SimpleX Chat is the privacy-focused decentralized messenger with no user IDs — also wired up as a first-class platform. That brings Hermes to 22 messaging platforms total, so wherever you and your team chat, the agent can be there. (#23197, #26232)
-
/handoffactually transfers the session live — Switching models or personalities mid-conversation used to mean losing context or starting over. Now/handoffmoves your active session — every message, every tool call, every piece of context — to the target model, persona, or profile, live, without dropping anything. Mid-debugging hand off from a fast model to a deep-reasoning one, or pass a session between profiles for different parts of a task. (#23395) -
Native button UI for
clarifyon Telegram and Discord — When the agent uses theclarifytool to ask you a multiple-choice question, it now shows real platform-native buttons on Telegram and Discord instead of asking you to type back the option number. Tap the button, the agent gets your answer. Especially nice on mobile. (#24199, #25485) -
Discord channel history backfill (default on) — When Hermes joins a Discord channel or thread for the first time, it now reads the recent message history so it knows what's been said before it responds. No more "what are we talking about?" — the agent has the context that's already on screen for everyone else. ([#25984](https://github.com/NousRese...
Hermes Agent v0.13.0 (2026.5.7) — The Tenacity Release
Hermes Agent v0.13.0 (v2026.5.7)
Release Date: May 7, 2026
Since v0.12.0: 864 commits · 588 merged PRs · 829 files changed · 128,366 insertions · 282 issues closed (13 P0, 36 P1) · 295 community contributors (including co-authors)
The Tenacity Release — Hermes Agent now finishes what it starts. Kanban ships as a durable multi-agent board (heartbeat, reclaim, zombie detection, auto-block on incomplete exit, per-task retries, hallucination recovery).
/goalkeeps the agent locked on a target across turns (Ralph loop). Checkpoints v2 rewrites state persistence with real pruning. Gateway auto-resumes interrupted sessions after restart. Cron grows ano_agentwatchdog mode. A security wave closes 8 P0s — redaction is now ON by default, Discord role-allowlists are guild-scoped, WhatsApp rejects strangers by default, and TOCTOU windows close across auth.json and MCP OAuth. Google Chat becomes the 20th platform. Providers become a pluggable surface. Seven i18n locales ship.
✨ Highlights
-
Multi-agent Kanban — delegate to an AI team that actually finishes — Spin up a durable board, drop tasks on it, and let multiple Hermes workers pick them up, hand off, and close them out. Heartbeats, reclaim, zombie detection, retry budgets, and a hallucination gate keep the team honest. One install, many kanbans. (#17805, #19653, #20232, #20332, #21330, #21183, #21214)
-
/goal— the agent doesn't forget what you asked it to do — Lock the agent onto a target and it stays on task across turns. The Ralph loop as a first-class primitive. (#18262, #18275, #21287) -
Show it a video — new
video_analyzetool for native video understanding on Gemini and compatible multimodal models. (@alt-glitch) (#19301) -
Clone a voice — xAI Custom Voices lands as a TTS provider with voice cloning support. (@alt-glitch) (#18776)
-
Hermes speaks your language — static gateway + CLI messages translate to 7 locales: Chinese, Japanese, German, Spanish, French, Ukrainian, and Turkish. Docs site gains a Chinese (zh-Hans) locale. (#20231, #20329, #20467, #20474, #20430, #20431)
-
Google Chat — the 20th messaging platform — plus a generic platform-plugin hooks surface so third-party adapters drop in without touching core (IRC and Teams migrated). (#21306, #21331)
-
Sessions survive restarts — gateway bounces mid-agent,
/updaterestarts, source-file reloads — conversations auto-resume when the gateway comes back. (#21192) -
Security wave — 8 P0 closures — redaction ON by default, Discord role-allowlists guild-scoped (CVSS 8.1 cross-guild DM bypass closed), WhatsApp rejects strangers by default, TOCTOU windows closed across
auth.jsonand MCP OAuth, browser enforces cloud-metadata SSRF floor, cron prompt-injection scans assembled skill content,hermes debug shareredacts at upload. (#21193, #21241, #21291, #21176, #21194, #21228, #21350, #19318) -
Checkpoints v2 — state persistence rewritten. Real pruning, disk guardrails, no more orphan shadow repos. (#20709)
-
The agent lints its own writes — post-write delta lint on
write_file+patch. Python, JSON, YAML, TOML. Syntax errors surface immediately instead of shipping downstream. (#20191) -
no_agentcron mode — script-only watchdog — cron jobs can now skip the agent entirely and just run a script. Empty stdout is silent, non-empty gets delivered verbatim. (#19709) -
Platform allowlists everywhere —
allowed_channels/allowed_chats/allowed_roomsconfig across Slack, Telegram, Mattermost, Matrix, and DingTalk. (#21251) -
Providers are now plugins —
ProviderProfileABC +plugins/model-providers/. Drop in third-party providers without touching core. (#20324) -
API server — long-term memory per session —
X-Hermes-Session-Keyheader gives memory providers a stable session identifier. (#20199) -
MCP levels up — SSE transport with OAuth forwarding, stale-pipe retries, image results surface as MEDIA tags instead of getting dropped, keepalive on long-lived lifecycle waits. (#21227, #21323, #21289, #21328, #20209)
-
Curator grows subcommands —
hermes curator archive,prune,list-archived. Manualhermes curator runis synchronous now — you see results without polling. (#20200, #21236, #21216) -
ACP —
/steerand/queue— direct the in-flight agent or queue follow-ups from Zed, VS Code, or JetBrains. Plus atomic session persistence and reasoning-metadata preservation across restarts. (@HenkDz) (#18114, #20279, #20296, #20433) -
TUI glow-up —
/modelpicker matcheshermes modelwith inline auth (@austinpickett), collapsible startup banner sections (@kshitijk4poor), context-compression counter in the status bar. (#18117, #20625, #21218) -
Dashboard grows up — Plugins page (manage, enable/disable, auth status) (@austinpickett), Profiles management page (@vincez-hms-coder), sortable analytics tables, reverse-proxy support via
X-Forwarded-Prefix, newdefault-large18px theme. (#18095, #16419, #18192, #21296, #20820) -
SearXNG + split web tools — SearXNG ships as a native search-only backend; web tools now let you pick different backends per capability (search vs extract vs browse). (@kshitijk4poor) (#20823, #20061, #20841)
-
OpenRouter response caching — explicit cache control for models that expose it. (@kshitijk4poor) (#19132)
-
[[as_document]]— skill media-routing directive — skills can force the gateway to deliver output as a document on platforms that support it. (#21210) -
transform_llm_outputplugin hook — new lifecycle hook that lets plugins reshape or filter LLM output before it hits the conversation. Useful for context-window reducers and content filters. (#21235) -
Nous OAuth persists across profiles — shared token store: sign in once, every profile inherits the session. (#19712)
-
QQBot — native approval keyboards — feature parity with Telegram / Discord approval UX. Chunked upload, quoted attachments. (#21342, #21353)
-
6 new optional skills — Shopify (Admin + Storefront GraphQL), here.now, shop-app personal shopping assistant, Anthropic financial-services bundle, kanban-video-orchestrator (@SHL0MS), searxng-sear...
Hermes Agent v0.12.0 (2026.4.30)
Hermes Agent v0.12.0 (v2026.4.30)
Release Date: April 30, 2026
Since v0.11.0: 1,096 commits · 550 merged PRs · 1,270 files changed · 217,776 insertions · 213 community contributors (including co-authors)
The Curator release — Hermes Agent now maintains itself. An autonomous background Curator grades, prunes, and consolidates your skill library on its own schedule. The self-improvement loop that reviews what to save got a substantial upgrade. Four new inference providers, a 18th messaging platform, a 19th via Teams plugin, native Spotify + Google Meet integrations, ComfyUI and TouchDesigner-MCP moved from optional to bundled-by-default, and a ~57% cut to visible TUI cold start.
✨ Highlights
-
Autonomous Curator —
hermes curatorruns as a background agent on the gateway's cron ticker (7-day cycle default). It grades your skill library, consolidates related skills, prunes dead ones, and writes per-run reports tologs/curator/run.json+REPORT.md. Archived skills are classified consolidated-vs-pruned via model + heuristic. Defense-in-depth gates protect bundled/hub skills from mutation. Unified underauxiliary.curator— pick the curator's model inhermes model, manage it from the dashboard.hermes curator statusranks skills by usage (most-used / least-used). (#17277, #17307, #17941, #17868, #18033) -
Self-improvement loop — substantially upgraded — The background review fork (the core of Hermes' self-improvement: after each turn it decides what memories/skills to save or update) is now class-first (rubric-based rather than free-form), active-update biased (prefers the skill the agent just loaded), handles
references//templates/sub-files, and properly inherits the parent's live runtime (provider, model, credentials actually propagate). Restricted to memory + skills toolsets so it can't sprawl. Memory providers shut down cleanly. Prior-turn tool messages excluded from the summary so the fork sees a clean context. (#16026, #17213, #16099, #16569, #16204, #15057) -
Skill integrations — major expansion — ComfyUI v5 with official CLI + REST + hardware-gated local install, moved from optional to built-in by default (#17610, #17631, #17734). TouchDesigner-MCP bundled by default, expanded with GLSL, post-FX, audio, geometry, and 9 new reference docs (#16753, #16624, #16768 — @kshitijk4poor + @SHL0MS). Humanizer skill ports a text-cleaner that strips AI-isms (#16787). claude-design HTML artifact skill + design-md (Google DESIGN.md spec) + airtable salvage +
skill_manageedits inexternal_dirs+ direct-URL skill install +/reload-skillsslash command. (#16358, #14876, #16291, #17512, #16323, #17744) -
LM Studio — first-class provider — upgraded from a custom-endpoint alias to a full-blown native provider: dedicated auth,
hermes doctorchecks, reasoning transport, live/modelslisting. (Salvage of @kshitijk4poor's #17061.) (#17102) -
Four more new inference providers — GMI Cloud (first-class, salvage of #11955 — @isaachuangGMICLOUD), Azure AI Foundry with auto-detection, MiniMax OAuth with PKCE browser flow (salvage #15203), Tencent Tokenhub (salvage of #16860). (#16663, #15845, #17524, #16960)
-
Pluggable gateway platforms + Microsoft Teams — the gateway is now a plugin host. Drop-in messaging adapters live outside the core, and Microsoft Teams is the first plugin-shipped platform. (Salvage of #17664.) (#17751, #17828)
-
Tencent 元宝 (Yuanbao) — 18th messaging platform — native gateway adapter with text + media delivery. (#16298, #17424)
-
Spotify — native tools + bundled skill + wizard — 7 tools (play, search, queue, playlists, devices) behind PKCE OAuth, interactive setup wizard, bundled skill, surfacing in
hermes tools, cron usage documented. (#15121, #15130, #15154, #15180) -
Google Meet plugin — join calls, transcribe, speak, follow up. Realtime OpenAI transport + Node bot server, full pipeline bundled as a plugin. (#16364)
-
hermes -zone-shot mode +hermes update --check— non-interactivehermes -z <prompt>with--model/--provider/HERMES_INFERENCE_MODEL.hermes update --checkpreflight. Opt-in pre-update HERMES_HOME backup. (#15702, #15704, #15841, #16539, #16566) -
Models dashboard tab + in-browser model config — rich per-model analytics, switch main + auxiliary models from the dashboard. (#17745, #17802)
-
Remote model catalog manifest — OpenRouter + Nous Portal model catalogs are now pulled from a remote manifest so new models show up without a release. (#16033)
-
Native multimodal image routing — images now route based on the model's actual vision capability rather than provider defaults. (#16506)
-
Gateway media parity — native multi-image sending across Telegram, Discord, Slack, Mattermost, Email, and Signal; centralized audio routing with FLAC support + Telegram document fallback. (#17909, #17833)
-
TUI catches up to (and past) the classic CLI — LaTeX rendering (@austinpickett),
/reload.env hot-reload, pluggable busy-indicator styles (@OutThisLife, #13610), opt-in auto-resume of last session, expanded light-terminal auto-detection, session delete from/resumepicker withd, modified mouse-wheel line scroll, and a/mousetoggle that kills ConPTY's phantom mouse injection (@kevin-ho). (#17175, #17286, #17150, #17130, #17113, #17668, #17669, #15488) -
Observability + achievements plugins — bundled Langfuse observability plugin (salvage #16845) + bundled hermes-achievements plugin that scans full session history. (#16917, #17754)
-
TTS provider registry + Piper local TTS — pluggable
tts.providers.<name>registry; Piper ships as a native local TTS provider. (Closes #8508.) (#17843, #17885) -
Vercel Sandbox backend — Vercel sandboxes as an execute_code/terminal backend (@kshitijk4poor). (#17445)
-
Secret redaction off by default — default flipped to off. Prevents the long-standing patch-corruption incidents where fake secret-shaped substrings mangled tool outputs. Opt in via
redaction.enabled: truewhen you need it. (#16794) -
Cold-start performance — visible TUI cold start cut ~57% via lazy agent init (@OutThisLife), lazy imports of OpenAI / Anthropic / ...
Hermes Agent v0.11.0 (2026.4.23)
Hermes Agent v0.11.0 (v2026.4.23)
Release Date: April 23, 2026
Since v0.9.0: 1,556 commits · 761 merged PRs · 1,314 files changed · 224,174 insertions · 29 community contributors (290 including co-authors)
The Interface release — a full React/Ink rewrite of the interactive CLI, a pluggable transport architecture underneath every provider, native AWS Bedrock support, five new inference paths, a 17th messaging platform (QQBot), a dramatically expanded plugin surface, and GPT-5.5 via Codex OAuth.
This release also folds in all the highlights deferred from v0.10.0 (which shipped only the Nous Tool Gateway) — so it covers roughly two weeks of work across the whole stack.
✨ Highlights
-
New Ink-based TUI —
hermes --tuiis now a full React/Ink rewrite of the interactive CLI, with a Python JSON-RPC backend (tui_gateway). Sticky composer, live streaming with OSC-52 clipboard support, stable picker keys, status bar with per-turn stopwatch and git branch,/clearconfirm, light-theme preset, and a subagent spawn observability overlay. ~310 commits toui-tui/+tui_gateway/. (@OutThisLife + Teknium) -
Transport ABC + Native AWS Bedrock — Format conversion and HTTP transport were extracted from
run_agent.pyinto a pluggableagent/transports/layer.AnthropicTransport,ChatCompletionsTransport,ResponsesApiTransport, andBedrockTransporteach own their own format conversion and API shape. Native AWS Bedrock support via the Converse API ships on top of the new abstraction. (#10549, #13347, #13366, #13430, #13805, #13814 — @kshitijk4poor + Teknium) -
Five new inference paths — Native NVIDIA NIM (#11774), Arcee AI (#9276), Step Plan (#13893), Google Gemini CLI OAuth (#11270), and Vercel ai-gateway with pricing + dynamic discovery (#13223 — @jerilynzheng). Plus Gemini routed through the native AI Studio API for better performance (#12674).
-
GPT-5.5 over Codex OAuth — OpenAI's new GPT-5.5 reasoning model is now available through your ChatGPT Codex OAuth, with live model discovery wired into the model picker so new OpenAI releases show up without catalog updates. (#14720)
-
QQBot — 17th supported platform — Native QQBot adapter via QQ Official API v2, with QR scan-to-configure setup wizard, streaming cursor, emoji reactions, and DM/group policy gating that matches WeCom/Weixin parity. (#9364, #11831)
-
Plugin surface expanded — Plugins can now register slash commands (
register_command), dispatch tools directly (dispatch_tool), block tool execution from hooks (pre_tool_callcan veto), rewrite tool results (transform_tool_result), transform terminal output (transform_terminal_output), ship image_gen backends, and add custom dashboard tabs. The bundled disk-cleanup plugin is opt-in by default as a reference implementation. (#9377, #10626, #10763, #10951, #12929, #12944, #12972, #13799, #14175) -
/steer— mid-run agent nudges —/steer <prompt>injects a note that the running agent sees after its next tool call, without interrupting the turn or breaking prompt cache. For when you want to course-correct an agent in-flight. (#12116) -
Shell hooks — Wire any shell script as a Hermes lifecycle hook (pre_tool_call, post_tool_call, on_session_start, etc.) without writing a Python plugin. (#13296)
-
Webhook direct-delivery mode — Webhook subscriptions can now forward payloads straight to a platform chat without going through the agent — zero-LLM push notifications for alerting, uptime checks, and event streams. (#12473)
-
Smarter delegation — Subagents now have an explicit
orchestratorrole that can spawn their own workers, with configurablemax_spawn_depth(default flat). Concurrent sibling subagents share filesystem state through a file-coordination layer so they don't clobber each other's edits. (#13691, #13718) -
Auxiliary models — configurable UI + main-model-first —
hermes modelhas a dedicated "Configure auxiliary models" screen for per-task overrides (compression, vision, session_search, title_generation).autorouting now defaults to the main model for side tasks across all users (previously aggregator users were silently routed to a cheap provider-side default). (#11891, #11900) -
Dashboard plugin system + live theme switching — The web dashboard is now extensible. Third-party plugins can add custom tabs, widgets, and views without forking. Paired with a live-switching theme system — themes now control colors, fonts, layout, and density — so users can hot-swap the dashboard look without a reload. Same theming discipline the CLI has, now on the web. (#10951, #10687, #14725)
-
Dashboard polish — i18n (English + Chinese), react-router sidebar layout, mobile-responsive, Vercel deployment, real per-session API call tracking, and one-click update + gateway restart buttons. (#9228, #9370, #9453, #10686, #13526, #14004 — @austinpickett + @DeployFaith + Teknium)
🏗️ Core Agent & Architecture
Transport Layer (NEW)
- Transport ABC abstracts format conversion and HTTP transport from
run_agent.pyintoagent/transports/(#13347) - AnthropicTransport — Anthropic Messages API path (#13366, @kshitijk4poor)
- ChatCompletionsTransport — default path for OpenAI-compatible providers (#13805)
- ResponsesApiTransport — OpenAI Responses API + Codex build_kwargs wiring (#13430, @kshitijk4poor)
- BedrockTransport — AWS Bedrock Converse API transport (#13814)
Provider & Model Support
- Native AWS Bedrock provider via Converse API (#10549)
- NVIDIA NIM native provider (salvage of #11703) (#11774)
- Arcee AI direct provider (#9276)
- Step Plan provider (salvage #6005) (#13893, @kshitijk4poor)
- Google Gemini CLI OAuth inference provider (#11270)
- Vercel ai-gateway with pricing, attribution, and dynamic discovery (#13223, @jerilynzheng)
- GPT-5.5 over Codex OAuth with live model discovery in the picker (#14720)
- Gemini routed through native AI Studio API (#12674)
- xAI Grok upgraded to Responses API (#10783)
- Ollama improvements — Cloud provider support, GLM continuation,
think=falsecontrol, surrogate sanitization,/v1hint (#10782) - Kimi K2.6 across OpenRouter, Nous Portal, native Kimi, and HuggingFace (#13148, #13152, #13169)
- Kimi K2.5 promoted to first position in all model suggestion lists (#11745, @kshitijk4poor)
- Xiaomi MiMo v2.5-pro + v2.5 on OpenRouter, Nous Portal, and native ([#14184](https://github.com/Nou...
Hermes Agent v0.10.0 (2026.4.16)
Hermes Agent v0.10.0 (v2026.4.16)
Release Date: April 16, 2026
The Tool Gateway release — paid Nous Portal subscribers can now use web search, image generation, text-to-speech, and browser automation through their existing subscription with zero additional API keys.
✨ Highlights
- Nous Tool Gateway — Paid Nous Portal subscribers now get automatic access to web search (Firecrawl), image generation (FAL / FLUX 2 Pro), text-to-speech (OpenAI TTS), and browser automation (Browser Use) through their existing subscription. No separate API keys needed — just run
hermes model, select Nous Portal, and pick which tools to enable. Per-tool opt-in viause_gatewayconfig, full integration withhermes toolsandhermes status, and the runtime correctly prefers the gateway even when direct API keys exist. Replaces the old hiddenHERMES_ENABLE_NOUS_MANAGED_TOOLSenv var with clean subscription-based detection. (#11206, based on work by @jquesnelle; docs: #11208)
🐛 Bug Fixes & Improvements
This release includes 180+ commits with numerous bug fixes, platform improvements, and reliability enhancements across the agent core, gateway, CLI, and tool system. Full details will be published in the v0.11.0 changelog.
👥 Contributors
- @jquesnelle (emozilla) — Original Tool Gateway implementation (#10799), salvaged and shipped in this release
Full Changelog: v2026.4.13...v2026.4.16
Hermes Agent v0.9.0 (v2026.4.13)
Hermes Agent v0.9.0 (v2026.4.13)
Release Date: April 13, 2026
Since v0.8.0: 487 commits · 269 merged PRs · 167 resolved issues · 493 files changed · 63,281 insertions · 24 contributors
The everywhere release — Hermes goes mobile with Termux/Android, adds iMessage and WeChat, ships Fast Mode for OpenAI and Anthropic, introduces background process monitoring, launches a local web dashboard for managing your agent, and delivers the deepest security hardening pass yet across 16 supported platforms.
✨ Highlights
-
Local Web Dashboard — A new browser-based dashboard for managing your Hermes Agent locally. Configure settings, monitor sessions, browse skills, and manage your gateway — all from a clean web interface without touching config files or the terminal. The easiest way to get started with Hermes.
-
Fast Mode (
/fast) — Priority processing for OpenAI and Anthropic models. Toggle/fastto route through priority queues for significantly lower latency on supported models (GPT-5.4, Codex, Claude). Expands across all OpenAI Priority Processing models and Anthropic's fast tier. (#6875, #6960, #7037) -
iMessage via BlueBubbles — Full iMessage integration through BlueBubbles, bringing Hermes to Apple's messaging ecosystem. Auto-webhook registration, setup wizard integration, and crash resilience. (#6437, #6460, #6494)
-
WeChat (Weixin) & WeCom Callback Mode — Native WeChat support via iLink Bot API and a new WeCom callback-mode adapter for self-built enterprise apps. Streaming cursor, media uploads, markdown link handling, and atomic state persistence. Hermes now covers the Chinese messaging ecosystem end-to-end. (#7166, #7943)
-
Termux / Android Support — Run Hermes natively on Android via Termux. Adapted install paths, TUI optimizations for mobile screens, voice backend support, and the
/imagecommand work on-device. (#6834) -
Background Process Monitoring (
watch_patterns) — Set patterns to watch for in background process output and get notified in real-time when they match. Monitor for errors, wait for specific events ("listening on port"), or watch build logs — all without polling. (#7635) -
Native xAI & Xiaomi MiMo Providers — First-class provider support for xAI (Grok) and Xiaomi MiMo, with direct API access, model catalogs, and setup wizard integration. Plus Qwen OAuth with portal request support. (#7372, #7855)
-
Pluggable Context Engine — Context management is now a pluggable slot via
hermes plugins. Swap in custom context engines that control what the agent sees each turn — filtering, summarization, or domain-specific context injection. (#7464) -
Unified Proxy Support — SOCKS proxy,
DISCORD_PROXY, and system proxy auto-detection across all gateway platforms. Hermes behind corporate firewalls just works. (#6814) -
Comprehensive Security Hardening — Path traversal protection in checkpoint manager, shell injection neutralization in sandbox writes, SSRF redirect guards in Slack image uploads, Twilio webhook signature validation (SMS RCE fix), API server auth enforcement, git argument injection prevention, and approval button authorization. (#7933, #7944, #7940, #7151, #7156)
-
hermes backup&hermes import— Full backup and restore of your Hermes configuration, sessions, skills, and memory. Migrate between machines or create snapshots before major changes. (#7997) -
16 Supported Platforms — With BlueBubbles (iMessage) and WeChat joining Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, SMS, DingTalk, Feishu, WeCom, Mattermost, Home Assistant, and Webhooks, Hermes now runs on 16 messaging platforms out of the box.
-
/debug&hermes debug share— New debugging toolkit:/debugslash command across all platforms for quick diagnostics, plushermes debug shareto upload a full debug report to a pastebin for easy sharing when troubleshooting. (#8681)
🏗️ Core Agent & Architecture
Provider & Model Support
- Native xAI (Grok) provider with direct API access and model catalog (#7372)
- Xiaomi MiMo as first-class provider — setup wizard, model catalog, empty response recovery (#7855)
- Qwen OAuth provider with portal request support (#6282)
- Fast Mode —
/fasttoggle for OpenAI Priority Processing + Anthropic fast tier (#6875, #6960, #7037) - Structured API error classification for smart failover decisions (#6514)
- Rate limit header capture shown in
/usage(#6541) - API server model name derived from profile name (#6857)
- Custom providers now included in
/modellistings and resolution (#7088) - Fallback provider activation on repeated empty responses with user-visible status (#7505)
- OpenRouter variant tags (
:free,:extended,:fast) preserved during model switch (#6383) - Credential exhaustion TTL reduced from 24 hours to 1 hour (#6504)
- OAuth credential lifecycle hardening — stale pool keys, auth.json sync, Codex CLI race fixes (#6874)
- Empty response recovery for reasoning models (MiMo, Qwen, GLM) (#8609)
- MiniMax context lengths, thinking guard, endpoint corrections (#6082, #7126)
- Z.AI endpoint auto-detect via probe and cache (#5763)
Agent Loop & Conversation
- Pluggable context engine slot via
hermes plugins(#7464) - Background process monitoring —
watch_patternsfor real-time output alerts (#7635) - Improved context compression — higher limits, tool tracking, degradation warnings, token-budget tail protection (#6395, #6453)
/compress <focus>— guided compression with a focus topic (#8017)- Tiered context pressure warnings with gateway dedup (#6411)
- Staged inactivity warning before timeout escalation (#6387)
- Prevent agent from stopping mid-task — compression floor, budget overhaul, activity tracking (#7983)
- Propagate child activity to parent during
delegate_task(#7295) - Truncated streaming tool call detection before execution (#6847)
- Empty response retry (3 attempts with nudge) (#6488)
- Adaptive streaming backoff + cursor strip to prevent message truncation (#7683)
- Compression uses live session model instead of stale persisted config (#8258)
- Strip
<thought>tags from Gemma 4 responses (#8562) - Prevent
<think>in prose from suppressing response output (#6968) - Turn-exit diagnostic logging to agent loop (#6549)
- Scope tool interrupt signal per-thread to prevent cross-session leaks (#7930)
Memory & Sessions
- Hindsight memory plugin — feature parity, setup wizard, config improvements — @nicoloboschi (#6428)
- Honcho — opt-in
initOnSessionStartfor tools mode — @Kathie-yu ([#6995](https://gith...