changelogs.info
OpenClaw Claude Code Codex Gemini Kilo Code Hermes Models Dispatches
TRACKING 10 RELEASES

The agent that
grows with you

Self-improving AI agent with persistent memory, learning loop, and multi-platform support (Telegram, Discord, CLI, WhatsApp, Signal, Slack). 40+ built-in tools, cron scheduling, and autonomous subagents.

View Changelog ↗ GitHub ↗
TERMINAL
$ hermes status
● Gateway: running
● Version: v2026.4.23
● Releases: 10 tracked
⚠ Breaking: 4
● Updated: 5h ago
$
10
Releases
4
Breaking
10
Stable
v2026.4.23
Latest

TL;DR

Latest Release
v2026.4.23 BREAKING
Apr 23, 2026
  • *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)
  • --
  • **New Ink-based TUI** — hermes --tui is 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, /clear confirm, light-theme preset, and a subagent spawn observability overlay. ~310 commits to ui-tui/ + tui_gateway/. (@OutThisLife + Teknium)
  • **Transport ABC + Native AWS Bedrock** — Format conversion and HTTP transport were extracted from run_agent.py into a pluggable agent/transports/ layer. AnthropicTransport, ChatCompletionsTransport, ResponsesApiTransport, and BedrockTransport each own their own format conversion and API shape. Native AWS Bedrock support via the Converse API ships on top of the new abstraction. ([#10549](https://github.com/NousResearch/hermes-agent/pull/10549), [#13347](https://github.com/NousResearch/hermes-agent/pull/13347), [#13366](https://github.com/NousResearch/hermes-agent/pull/13366), [#13430](https://github.com/NousResearch/hermes-agent/pull/13430), [#13805](https://github.com/NousResearch/hermes-agent/pull/13805), [#13814](https://github.com/NousResearch/hermes-agent/pull/13814) — @kshitijk4poor + Teknium)
Recent Changelog
v2026.4.23 BREAKING
Apr 23, 2026

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 TUIhermes --tui is 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, /clear confirm, light-theme preset, and a subagent spawn observability overlay. ~310 commits to ui-tui/ + tui_gateway/. (@OutThisLife + Teknium)
  • Transport ABC + Native AWS Bedrock — Format conversion and HTTP transport were extracted from run_agent.py into a pluggable agent/transports/ layer. AnthropicTransport, ChatCompletionsTransport, ResponsesApiTransport, and BedrockTransport each own their own format conversion and API shape. Native AWS Bedrock support via the Converse API ships on top of the new abstraction. ([#10549](https://github.com/NousResearch/hermes-agent/pull/10549), [#13347](https://github.com/NousResearch/hermes-agent/pull/13347), [#13366](https://github.com/NousResearch/hermes-agent/pull/13366), [#13430](https://github.com/NousResearch/hermes-agent/pull/13430), [#13805](https://github.com/NousResearch/hermes-agent/pull/13805), [#13814](https://github.com/NousResearch/hermes-agent/pull/13814) — @kshitijk4poor + Teknium)
  • Five new inference paths — Native NVIDIA NIM ([#11774](https://github.com/NousResearch/hermes-agent/pull/11774)), Arcee AI ([#9276](https://github.com/NousResearch/hermes-agent/pull/9276)), Step Plan ([#13893](https://github.com/NousResearch/hermes-agent/pull/13893)), Google Gemini CLI OAuth ([#11270](https://github.com/NousResearch/hermes-agent/pull/11270)), and Vercel ai-gateway with pricing + dynamic discovery ([#13223](https://github.com/NousResearch/hermes-agent/pull/13223) — @jerilynzheng). Plus Gemini routed through the native AI Studio API for better performance ([#12674](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/9364), [#11831](https://github.com/NousResearch/hermes-agent/pull/11831))
  • Plugin surface expanded — Plugins can now register slash commands (register_command), dispatch tools directly (dispatch_tool), block tool execution from hooks (pre_tool_call can 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](https://github.com/NousResearch/hermes-agent/pull/9377), [#10626](https://github.com/NousResearch/hermes-agent/pull/10626), [#10763](https://github.com/NousResearch/hermes-agent/pull/10763), [#10951](https://github.com/NousResearch/hermes-agent/pull/10951), [#12929](https://github.com/NousResearch/hermes-agent/pull/12929), [#12944](https://github.com/NousResearch/hermes-agent/pull/12944), [#12972](https://github.com/NousResearch/hermes-agent/pull/12972), [#13799](https://github.com/NousResearch/hermes-agent/pull/13799), [#14175](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/12473))
  • Smarter delegation — Subagents now have an explicit orchestrator role that can spawn their own workers, with configurable max_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](https://github.com/NousResearch/hermes-agent/pull/13691), [#13718](https://github.com/NousResearch/hermes-agent/pull/13718))
  • Auxiliary models — configurable UI + main-model-firsthermes model has a dedicated "Configure auxiliary models" screen for per-task overrides (compression, vision, session_search, title_generation). auto routing 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](https://github.com/NousResearch/hermes-agent/pull/11891), [#11900](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/10951), [#10687](https://github.com/NousResearch/hermes-agent/pull/10687), [#14725](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/9228), [#9370](https://github.com/NousResearch/hermes-agent/pull/9370), [#9453](https://github.com/NousResearch/hermes-agent/pull/9453), [#10686](https://github.com/NousResearch/hermes-agent/pull/10686), [#13526](https://github.com/NousResearch/hermes-agent/pull/13526), [#14004](https://github.com/NousResearch/hermes-agent/pull/14004) — @austinpickett + @DeployFaith + Teknium)
  • ---

    🏗️ Core Agent & Architecture

    Transport Layer (NEW)

  • Transport ABC abstracts format conversion and HTTP transport from run_agent.py into agent/transports/ ([#13347](https://github.com/NousResearch/hermes-agent/pull/13347))

  • AnthropicTransport — Anthropic Messages API path ([#13366](https://github.com/NousResearch/hermes-agent/pull/13366), @kshitijk4poor)

  • ChatCompletionsTransport — default path for OpenAI-compatible providers ([#13805](https://github.com/NousResearch/hermes-agent/pull/13805))

  • ResponsesApiTransport — OpenAI Responses API + Codex build_kwargs wiring ([#13430](https://github.com/NousResearch/hermes-agent/pull/13430), @kshitijk4poor)

  • BedrockTransport — AWS Bedrock Converse API transport ([#13814](https://github.com/NousResearch/hermes-agent/pull/13814))
  • Provider & Model Support

  • Native AWS Bedrock provider via Converse API ([#10549](https://github.com/NousResearch/hermes-agent/pull/10549))

  • NVIDIA NIM native provider (salvage of #11703) ([#11774](https://github.com/NousResearch/hermes-agent/pull/11774))

  • Arcee AI direct provider ([#9276](https://github.com/NousResearch/hermes-agent/pull/9276))

  • Step Plan provider (salvage #6005) ([#13893](https://github.com/NousResearch/hermes-agent/pull/13893), @kshitijk4poor)

  • Google Gemini CLI OAuth inference provider ([#11270](https://github.com/NousResearch/hermes-agent/pull/11270))

  • Vercel ai-gateway with pricing, attribution, and dynamic discovery ([#13223](https://github.com/NousResearch/hermes-agent/pull/13223), @jerilynzheng)

  • GPT-5.5 over Codex OAuth with live model discovery in the picker ([#14720](https://github.com/NousResearch/hermes-agent/pull/14720))

  • Gemini routed through native AI Studio API ([#12674](https://github.com/NousResearch/hermes-agent/pull/12674))

  • xAI Grok upgraded to Responses API ([#10783](https://github.com/NousResearch/hermes-agent/pull/10783))

  • Ollama improvements — Cloud provider support, GLM continuation, think=false control, surrogate sanitization, /v1 hint ([#10782](https://github.com/NousResearch/hermes-agent/pull/10782))

  • Kimi K2.6 across OpenRouter, Nous Portal, native Kimi, and HuggingFace ([#13148](https://github.com/NousResearch/hermes-agent/pull/13148), [#13152](https://github.com/NousResearch/hermes-agent/pull/13152), [#13169](https://github.com/NousResearch/hermes-agent/pull/13169))

  • Kimi K2.5 promoted to first position in all model suggestion lists ([#11745](https://github.com/NousResearch/hermes-agent/pull/11745), @kshitijk4poor)

  • Xiaomi MiMo v2.5-pro + v2.5 on OpenRouter, Nous Portal, and native ([#14184](https://github.com/NousResearch/hermes-agent/pull/14184), [#14635](https://github.com/NousResearch/hermes-agent/pull/14635), @kshitijk4poor)

  • GLM-5V-Turbo for coding plan ([#9907](https://github.com/NousResearch/hermes-agent/pull/9907))

  • Claude Opus 4.7 in Nous Portal catalog ([#11398](https://github.com/NousResearch/hermes-agent/pull/11398))

  • OpenRouter elephant-alpha in curated lists ([#9378](https://github.com/NousResearch/hermes-agent/pull/9378))

  • OpenCode-Go — Kimi K2.6 and Qwen3.5/3.6 Plus in curated catalog ([#13429](https://github.com/NousResearch/hermes-agent/pull/13429))

  • minimax/minimax-m2.5:free in OpenRouter catalog ([#13836](https://github.com/NousResearch/hermes-agent/pull/13836))

  • /model merges models.dev entries for lesser-loved providers ([#14221](https://github.com/NousResearch/hermes-agent/pull/14221))

  • Per-provider + per-model request_timeout_seconds config ([#12652](https://github.com/NousResearch/hermes-agent/pull/12652))

  • Configurable API retry count via agent.api_max_retries ([#14730](https://github.com/NousResearch/hermes-agent/pull/14730))

  • ctx_size context length key for Lemonade server (salvage #8536) ([#14215](https://github.com/NousResearch/hermes-agent/pull/14215))

  • Custom provider display name prompt ([#9420](https://github.com/NousResearch/hermes-agent/pull/9420))

  • Recommendation badges on tool provider selection ([#9929](https://github.com/NousResearch/hermes-agent/pull/9929))

  • Fix: correct GPT-5 family context lengths in fallback defaults ([#9309](https://github.com/NousResearch/hermes-agent/pull/9309))

  • Fix: clamp minimal reasoning effort to low on Responses API ([#9429](https://github.com/NousResearch/hermes-agent/pull/9429))

  • Fix: strip reasoning item IDs from Responses API input when store=False ([#10217](https://github.com/NousResearch/hermes-agent/pull/10217))

  • Fix: OpenViking correct account default + commit session on /new and compress ([#10463](https://github.com/NousResearch/hermes-agent/pull/10463))

  • Fix: Kimi /coding thinking block survival + empty reasoning_content + block ordering (multiple PRs)

  • Fix: don't send Anthropic thinking to api.kimi.com/coding ([#13826](https://github.com/NousResearch/hermes-agent/pull/13826))

  • Fix: send max_tokens, reasoning_effort, and thinking for Kimi/Moonshot

  • Fix: stream reasoning content through OpenAI-compatible providers that emit it
  • Agent Loop & Conversation

  • /steer <prompt> — mid-run agent nudges after next tool call ([#12116](https://github.com/NousResearch/hermes-agent/pull/12116))

  • Orchestrator role + configurable spawn depth for delegate_task (default flat) ([#13691](https://github.com/NousResearch/hermes-agent/pull/13691))

  • Cross-agent file state coordination for concurrent subagents ([#13718](https://github.com/NousResearch/hermes-agent/pull/13718))

  • Compressor smart collapse, dedup, anti-thrashing, template upgrade, hardening ([#10088](https://github.com/NousResearch/hermes-agent/pull/10088))

  • Compression summaries respect the conversation's language ([#12556](https://github.com/NousResearch/hermes-agent/pull/12556))

  • Compression model falls back to main model on permanent 503/404 ([#10093](https://github.com/NousResearch/hermes-agent/pull/10093))

  • Auto-continue interrupted agent work after gateway restart ([#9934](https://github.com/NousResearch/hermes-agent/pull/9934))

  • Activity heartbeats prevent false gateway inactivity timeouts ([#10501](https://github.com/NousResearch/hermes-agent/pull/10501))

  • Auxiliary models UI — dedicated screen for per-task overrides ([#11891](https://github.com/NousResearch/hermes-agent/pull/11891))

  • Auxiliary auto routing defaults to main model for all users ([#11900](https://github.com/NousResearch/hermes-agent/pull/11900))

  • PLATFORM_HINTS for Matrix, Mattermost, Feishu ([#14428](https://github.com/NousResearch/hermes-agent/pull/14428), @alt-glitch)

  • Fix: reset retry counters after compression; stop poisoning conversation history ([#10055](https://github.com/NousResearch/hermes-agent/pull/10055))

  • Fix: break compression-exhaustion infinite loop and auto-reset session ([#10063](https://github.com/NousResearch/hermes-agent/pull/10063))

  • Fix: stale agent timeout, uv venv detection, empty response after tools ([#10065](https://github.com/NousResearch/hermes-agent/pull/10065))

  • Fix: prevent premature loop exit when weak models return empty after substantive tool calls ([#10472](https://github.com/NousResearch/hermes-agent/pull/10472))

  • Fix: preserve pre-start terminal interrupts ([#10504](https://github.com/NousResearch/hermes-agent/pull/10504))

  • Fix: improve interrupt responsiveness during concurrent tool execution ([#10935](https://github.com/NousResearch/hermes-agent/pull/10935))

  • Fix: word-wrap spinner, interruptable agent join, and delegate_task interrupt ([#10940](https://github.com/NousResearch/hermes-agent/pull/10940))

  • Fix: /stop no longer resets the session ([#9224](https://github.com/NousResearch/hermes-agent/pull/9224))

  • Fix: honor interrupts during MCP tool waits ([#9382](https://github.com/NousResearch/hermes-agent/pull/9382), @helix4u)

  • Fix: break stuck session resume loops after repeated restarts ([#9941](https://github.com/NousResearch/hermes-agent/pull/9941))

  • Fix: empty response nudge crash + placeholder leak to cron targets ([#11021](https://github.com/NousResearch/hermes-agent/pull/11021))

  • Fix: streaming cursor sanitization to prevent message truncation (multiple PRs)

  • Fix: resolve context_length for plugin context engines ([#9238](https://github.com/NousResearch/hermes-agent/pull/9238))
  • Session & Memory

  • Auto-prune old sessions + VACUUM state.db at startup ([#13861](https://github.com/NousResearch/hermes-agent/pull/13861))

  • Honcho overhaul — context injection, 5-tool surface, cost safety, session isolation ([#10619](https://github.com/NousResearch/hermes-agent/pull/10619))

  • Hindsight richer session-scoped retain metadata (salvage of #6290) ([#13987](https://github.com/NousResearch/hermes-agent/pull/13987))

  • Fix: deduplicate memory provider tools to prevent 400 on strict providers ([#10511](https://github.com/NousResearch/hermes-agent/pull/10511))

  • Fix: discover user-installed memory providers from $HERMES_HOME/plugins/ ([#10529](https://github.com/NousResearch/hermes-agent/pull/10529))

  • Fix: add on_memory_write bridge to sequential tool execution path ([#10507](https://github.com/NousResearch/hermes-agent/pull/10507))

  • Fix: preserve session_id across previous_response_id chains in /v1/responses ([#10059](https://github.com/NousResearch/hermes-agent/pull/10059))
  • ---

    🖥️ New Ink-based TUI

    A full React/Ink rewrite of the interactive CLI — invoked via hermes --tui or HERMES_TUI=1. Shipped across ~310 commits to ui-tui/ and tui_gateway/.

    TUI Foundations

  • New TUI based on Ink + Python JSON-RPC backend

  • Prettier + ESLint + vitest tooling for ui-tui/

  • Entry split between src/entry.tsx (TTY gate) and src/app.tsx (state machine)

  • Persistent _SlashWorker subprocess for slash command dispatch
  • UX & Features

  • Stable picker keys, /clear confirm, light-theme preset ([#12312](https://github.com/NousResearch/hermes-agent/pull/12312), @OutThisLife)

  • Git branch in status bar cwd label ([#12305](https://github.com/NousResearch/hermes-agent/pull/12305), @OutThisLife)

  • Per-turn elapsed stopwatch in FaceTicker + done-in sys line ([#13105](https://github.com/NousResearch/hermes-agent/pull/13105), @OutThisLife)

  • Subagent spawn observability overlay ([#14045](https://github.com/NousResearch/hermes-agent/pull/14045), @OutThisLife)

  • Per-prompt elapsed stopwatch in status bar ([#12948](https://github.com/NousResearch/hermes-agent/pull/12948))

  • Sticky composer that freezes during scroll

  • OSC-52 clipboard support for copy across SSH sessions

  • Virtualized history rendering for performance

  • Slash command autocomplete via complete.slash RPC

  • Path autocomplete via complete.path RPC

  • Dozens of resize/ghosting/sticky-prompt fixes landed through the week
  • Structural Refactors

  • Decomposed app.tsx into app/event-handler, app/slash-handler, app/stores, app/hooks ([#14640](https://github.com/NousResearch/hermes-agent/pull/14640) and surrounding)

  • Component split: branding.tsx, markdown.tsx, prompts.tsx, sessionPicker.tsx, messageLine.tsx, thinking.tsx, maskedPrompt.tsx

  • Hook split: useCompletion, useInputHistory, useQueue, useVirtualHistory
  • ---

    📱 Messaging Platforms (Gateway)

    New Platforms

  • QQBot (17th platform) — QQ Official API v2 adapter with QR setup, streaming, package split ([#9364](https://github.com/NousResearch/hermes-agent/pull/9364), [#11831](https://github.com/NousResearch/hermes-agent/pull/11831))
  • Telegram

  • Dedicated TELEGRAM_PROXY env var + config.yaml proxy support (closes #9414, #6530, #9074, #7786) ([#10681](https://github.com/NousResearch/hermes-agent/pull/10681))

  • ignored_threads config for Telegram groups ([#9530](https://github.com/NousResearch/hermes-agent/pull/9530))

  • Config option to disable link previews (closes #8728) ([#10610](https://github.com/NousResearch/hermes-agent/pull/10610))

  • Auto-wrap markdown tables in code blocks ([#11794](https://github.com/NousResearch/hermes-agent/pull/11794))

  • Fix: prevent duplicate replies when stream task is cancelled ([#9319](https://github.com/NousResearch/hermes-agent/pull/9319))

  • Fix: prevent streaming cursor (▉) from appearing as standalone messages ([#9538](https://github.com/NousResearch/hermes-agent/pull/9538))

  • Fix: retry transient tool sends + cold-boot budget ([#10947](https://github.com/NousResearch/hermes-agent/pull/10947))

  • Fix: Markdown special char escaping in send_exec_approval

  • Fix: parentheses in URLs during MarkdownV2 link conversion

  • Fix: Unicode dash normalization in model switch (closes iOS smart-punctuation issue)

  • Many platform hint / streaming / session-key fixes
  • Discord

  • Forum channel support (salvage of #10145 + media + polish) ([#11920](https://github.com/NousResearch/hermes-agent/pull/11920))

  • DISCORD_ALLOWED_ROLES for role-based access control ([#11608](https://github.com/NousResearch/hermes-agent/pull/11608))

  • Config option to disable slash commands (salvage #13130) ([#14315](https://github.com/NousResearch/hermes-agent/pull/14315))

  • Native send_animation for inline GIF playback ([#10283](https://github.com/NousResearch/hermes-agent/pull/10283))

  • send_message Discord media attachments ([#10246](https://github.com/NousResearch/hermes-agent/pull/10246))

  • /skill command group with category subcommands ([#9909](https://github.com/NousResearch/hermes-agent/pull/9909))

  • Extract reply text from message references ([#9781](https://github.com/NousResearch/hermes-agent/pull/9781))
  • Feishu

  • Intelligent reply on document comments with 3-tier access control ([#11898](https://github.com/NousResearch/hermes-agent/pull/11898))

  • Show processing state via reactions on user messages ([#12927](https://github.com/NousResearch/hermes-agent/pull/12927))

  • Preserve @mention context for agent consumption (salvage #13874) ([#14167](https://github.com/NousResearch/hermes-agent/pull/14167))
  • DingTalk

  • require_mention + allowed_users gating (parity with Slack/Telegram/Discord) ([#11564](https://github.com/NousResearch/hermes-agent/pull/11564))

  • QR-code device-flow authorization for setup wizard ([#11574](https://github.com/NousResearch/hermes-agent/pull/11574))

  • AI Cards streaming, emoji reactions, and media handling (salvage of #10985) ([#11910](https://github.com/NousResearch/hermes-agent/pull/11910))
  • WhatsApp

  • send_voice — native audio message delivery ([#13002](https://github.com/NousResearch/hermes-agent/pull/13002))

  • dm_policy and group_policy parity with WeCom/Weixin/QQ adapters ([#13151](https://github.com/NousResearch/hermes-agent/pull/13151))
  • WeCom / Weixin

  • WeCom QR-scan bot creation + interactive setup wizard (salvage #13923) ([#13961](https://github.com/NousResearch/hermes-agent/pull/13961))
  • Signal

  • Media delivery support via send_message ([#13178](https://github.com/NousResearch/hermes-agent/pull/13178))
  • Slack

  • Per-thread sessions for DMs by default ([#10987](https://github.com/NousResearch/hermes-agent/pull/10987))
  • BlueBubbles (iMessage)

  • Group chat session separation, webhook registration & auth fixes ([#9806](https://github.com/NousResearch/hermes-agent/pull/9806))
  • Gateway Core

  • Gateway proxy mode — forward messages to a remote API server ([#9787](https://github.com/NousResearch/hermes-agent/pull/9787))

  • Per-channel ephemeral prompts (Discord, Telegram, Slack, Mattermost) ([#10564](https://github.com/NousResearch/hermes-agent/pull/10564))

  • Surface plugin slash commands natively on all platforms + decision-capable command hook ([#14175](https://github.com/NousResearch/hermes-agent/pull/14175))

  • Support document/archive extensions in MEDIA: tag extraction (salvage #8255) ([#14307](https://github.com/NousResearch/hermes-agent/pull/14307))

  • Recognize .pdf in MEDIA: tag extraction ([#13683](https://github.com/NousResearch/hermes-agent/pull/13683))

  • --all flag for gateway start and restart ([#10043](https://github.com/NousResearch/hermes-agent/pull/10043))

  • Notify active sessions on gateway shutdown + update health check ([#9850](https://github.com/NousResearch/hermes-agent/pull/9850))

  • Block agent from self-destructing the gateway via terminal (closes #6666) ([#9895](https://github.com/NousResearch/hermes-agent/pull/9895))

  • Fix: suppress duplicate replies on interrupt and streaming flood control ([#10235](https://github.com/NousResearch/hermes-agent/pull/10235))

  • Fix: close temporary agents after one-off tasks ([#11028](https://github.com/NousResearch/hermes-agent/pull/11028), @kshitijk4poor)

  • Fix: busy-session ack when user messages during active agent run ([#10068](https://github.com/NousResearch/hermes-agent/pull/10068))

  • Fix: route watch-pattern notifications to the originating session ([#10460](https://github.com/NousResearch/hermes-agent/pull/10460))

  • Fix: preserve notify context in executor threads ([#10921](https://github.com/NousResearch/hermes-agent/pull/10921), @kshitijk4poor)

  • Fix: avoid duplicate replies after interrupted long tasks ([#11018](https://github.com/NousResearch/hermes-agent/pull/11018))

  • Fix: unlink stale PID + lock files on cleanup

  • Fix: force-unlink stale PID file after --replace takeover
  • ---

    🔧 Tool System

    Plugin Surface (major expansion)

  • register_command() — plugins can now add slash commands ([#10626](https://github.com/NousResearch/hermes-agent/pull/10626))

  • dispatch_tool() — plugins can invoke tools from their code ([#10763](https://github.com/NousResearch/hermes-agent/pull/10763))

  • pre_tool_call blocking — plugins can veto tool execution ([#9377](https://github.com/NousResearch/hermes-agent/pull/9377))

  • transform_tool_result — plugins rewrite tool results generically ([#12972](https://github.com/NousResearch/hermes-agent/pull/12972))

  • transform_terminal_output — plugins rewrite terminal tool output ([#12929](https://github.com/NousResearch/hermes-agent/pull/12929))

  • Namespaced skill registration for plugin skill bundles ([#9786](https://github.com/NousResearch/hermes-agent/pull/9786))

  • Opt-in-by-default + bundled disk-cleanup plugin (salvage #12212) ([#12944](https://github.com/NousResearch/hermes-agent/pull/12944))

  • Pluggable image_gen backends + OpenAI provider ([#13799](https://github.com/NousResearch/hermes-agent/pull/13799))

  • openai-codex image_gen plugin (gpt-image-2 via Codex OAuth) ([#14317](https://github.com/NousResearch/hermes-agent/pull/14317))

  • Shell hooks — wire shell scripts as hook callbacks ([#13296](https://github.com/NousResearch/hermes-agent/pull/13296))
  • Browser

  • browser_cdp raw DevTools Protocol passthrough ([#12369](https://github.com/NousResearch/hermes-agent/pull/12369))

  • Camofox hardening + connection stability across the window
  • Execute Code

  • Project/strict execution modes (default: project) ([#11971](https://github.com/NousResearch/hermes-agent/pull/11971))
  • Image Generation

  • Multi-model FAL support with picker in hermes tools ([#11265](https://github.com/NousResearch/hermes-agent/pull/11265))

  • Recraft V3 → V4 Pro, Nano Banana → Pro upgrades ([#11406](https://github.com/NousResearch/hermes-agent/pull/11406))

  • GPT Image 2 in FAL catalog ([#13677](https://github.com/NousResearch/hermes-agent/pull/13677))

  • xAI image generation provider (grok-imagine-image) ([#14765](https://github.com/NousResearch/hermes-agent/pull/14765))
  • TTS / STT / Voice

  • Google Gemini TTS provider ([#11229](https://github.com/NousResearch/hermes-agent/pull/11229))

  • xAI Grok STT provider ([#14473](https://github.com/NousResearch/hermes-agent/pull/14473))

  • xAI TTS (shipped with Responses API upgrade) ([#10783](https://github.com/NousResearch/hermes-agent/pull/10783))

  • KittenTTS local provider (salvage of #2109) ([#13395](https://github.com/NousResearch/hermes-agent/pull/13395))

  • CLI record beep toggle ([#13247](https://github.com/NousResearch/hermes-agent/pull/13247), @helix4u)
  • Webhook / Cron

  • Webhook direct-delivery mode — zero-LLM push notifications ([#12473](https://github.com/NousResearch/hermes-agent/pull/12473))

  • Cron wakeAgent gate — scripts can skip the agent entirely ([#12373](https://github.com/NousResearch/hermes-agent/pull/12373))

  • Cron per-job enabled_toolsets — cap token overhead + cost per job ([#14767](https://github.com/NousResearch/hermes-agent/pull/14767))
  • Delegate

  • Orchestrator role + configurable spawn depth (default flat) ([#13691](https://github.com/NousResearch/hermes-agent/pull/13691))

  • Cross-agent file state coordination ([#13718](https://github.com/NousResearch/hermes-agent/pull/13718))
  • File / Patch

  • patch — "did you mean?" feedback when patch fails to match ([#13435](https://github.com/NousResearch/hermes-agent/pull/13435))
  • API Server

  • Stream /v1/responses SSE tool events (salvage #9779) ([#10049](https://github.com/NousResearch/hermes-agent/pull/10049))

  • Inline image inputs on /v1/chat/completions and /v1/responses ([#12969](https://github.com/NousResearch/hermes-agent/pull/12969))
  • Docker / Podman

  • Entry-level Podman supportfind_docker() + rootless entrypoint ([#10066](https://github.com/NousResearch/hermes-agent/pull/10066))

  • Add docker-cli to Docker image (salvage #10096) ([#14232](https://github.com/NousResearch/hermes-agent/pull/14232))

  • File-sync back to host on teardown (salvage of #8189 + hardening) ([#11291](https://github.com/NousResearch/hermes-agent/pull/11291))
  • MCP

  • 12 MCP improvements across the window (status, timeout handling, tool-call forwarding, etc.)
  • ---

    🧩 Skills Ecosystem

    Skill System

  • Namespaced skill registration for plugin bundles ([#9786](https://github.com/NousResearch/hermes-agent/pull/9786))

  • hermes skills reset to un-stick bundled skills ([#11468](https://github.com/NousResearch/hermes-agent/pull/11468))

  • Skills guard opt-inconfig.skills.guard_agent_created (default off) ([#14557](https://github.com/NousResearch/hermes-agent/pull/14557))

  • Bundled skill scripts runnable out of the box ([#13384](https://github.com/NousResearch/hermes-agent/pull/13384))

  • xitter replaced with xurl — the official X API CLI ([#12303](https://github.com/NousResearch/hermes-agent/pull/12303))

  • MiniMax-AI/cli as default skill tap (salvage #7501) ([#14493](https://github.com/NousResearch/hermes-agent/pull/14493))

  • Fuzzy @ file completions + mtime sorting ([#9467](https://github.com/NousResearch/hermes-agent/pull/9467))
  • New Skills

  • concept-diagrams (salvage of #11045, @v1k22) ([#11363](https://github.com/NousResearch/hermes-agent/pull/11363))

  • architecture-diagram (Cocoon AI port) ([#9906](https://github.com/NousResearch/hermes-agent/pull/9906))

  • pixel-art with hardware palettes and video animation ([#12663](https://github.com/NousResearch/hermes-agent/pull/12663), [#12725](https://github.com/NousResearch/hermes-agent/pull/12725))

  • baoyu-comic ([#13257](https://github.com/NousResearch/hermes-agent/pull/13257), @JimLiu)

  • baoyu-infographic — 21 layouts × 21 styles (salvage #9901) ([#12254](https://github.com/NousResearch/hermes-agent/pull/12254))

  • page-agent — embed Alibaba's in-page GUI agent in your webapp ([#13976](https://github.com/NousResearch/hermes-agent/pull/13976))

  • fitness-nutrition optional skill + optional env var support ([#9355](https://github.com/NousResearch/hermes-agent/pull/9355))

  • drug-discovery — ChEMBL, PubChem, OpenFDA, ADMET ([#9443](https://github.com/NousResearch/hermes-agent/pull/9443))

  • touchdesigner-mcp (salvage of #10081) ([#12298](https://github.com/NousResearch/hermes-agent/pull/12298))

  • adversarial-ux-test optional skill (salvage of #2494, @omnissiah-comelse) ([#13425](https://github.com/NousResearch/hermes-agent/pull/13425))

  • maps — added guest_house, camp_site, and dual-key bakery lookup ([#13398](https://github.com/NousResearch/hermes-agent/pull/13398))

  • llm-wiki — port provenance markers, source hashing, and quality signals ([#13700](https://github.com/NousResearch/hermes-agent/pull/13700))
  • ---

    📊 Web Dashboard

  • i18n (English + Chinese) language switcher ([#9453](https://github.com/NousResearch/hermes-agent/pull/9453))

  • Live-switching theme system ([#10687](https://github.com/NousResearch/hermes-agent/pull/10687))

  • Dashboard plugin system — extend the web UI with custom tabs ([#10951](https://github.com/NousResearch/hermes-agent/pull/10951))

  • react-router, sidebar layout, sticky header, dropdown component ([#9370](https://github.com/NousResearch/hermes-agent/pull/9370), @austinpickett)

  • Responsive for mobile ([#9228](https://github.com/NousResearch/hermes-agent/pull/9228), @DeployFaith)

  • Vercel deployment ([#10686](https://github.com/NousResearch/hermes-agent/pull/10686), [#11061](https://github.com/NousResearch/hermes-agent/pull/11061), @austinpickett)

  • Context window config support ([#9357](https://github.com/NousResearch/hermes-agent/pull/9357))

  • HTTP health probe for cross-container gateway detection ([#9894](https://github.com/NousResearch/hermes-agent/pull/9894))

  • Update + restart gateway buttons ([#13526](https://github.com/NousResearch/hermes-agent/pull/13526), @austinpickett)

  • Real API call count per session (salvages #10140) ([#14004](https://github.com/NousResearch/hermes-agent/pull/14004))
  • ---

    🖱️ CLI & User Experience

  • Dynamic shell completion for bash, zsh, and fish ([#9785](https://github.com/NousResearch/hermes-agent/pull/9785))

  • Light-mode skins + skin-aware completion menus ([#9461](https://github.com/NousResearch/hermes-agent/pull/9461))

  • Numbered keyboard shortcuts on approval and clarify prompts ([#13416](https://github.com/NousResearch/hermes-agent/pull/13416))

  • Markdown stripping, compact multiline previews, external editor ([#12934](https://github.com/NousResearch/hermes-agent/pull/12934))

  • --ignore-user-config and --ignore-rules flags (port codex#18646) ([#14277](https://github.com/NousResearch/hermes-agent/pull/14277))

  • Account limits section in /usage ([#13428](https://github.com/NousResearch/hermes-agent/pull/13428))

  • Doctor: Command Installation check for hermes bin symlink ([#10112](https://github.com/NousResearch/hermes-agent/pull/10112))

  • ESC cancels secret/sudo prompts, clearer skip messaging ([#9902](https://github.com/NousResearch/hermes-agent/pull/9902))

  • Fix: agent-facing text uses display_hermes_home() instead of hardcoded ~/.hermes ([#10285](https://github.com/NousResearch/hermes-agent/pull/10285))

  • Fix: enforce config.yaml as sole CWD source + deprecate .env CWD vars + add hermes memory reset ([#11029](https://github.com/NousResearch/hermes-agent/pull/11029))
  • ---

    🔒 Security & Reliability

  • Global toggle to allow private/internal URL resolution ([#14166](https://github.com/NousResearch/hermes-agent/pull/14166))

  • Block agent from self-destructing the gateway via terminal (closes #6666) ([#9895](https://github.com/NousResearch/hermes-agent/pull/9895))

  • Telegram callback authorization on update prompts ([#10536](https://github.com/NousResearch/hermes-agent/pull/10536))

  • SECURITY.md added ([#10532](https://github.com/NousResearch/hermes-agent/pull/10532), @I3eg1nner)

  • Warn about legacy hermes.service units during hermes update ([#11918](https://github.com/NousResearch/hermes-agent/pull/11918))

  • Complete ASCII-locale UnicodeEncodeError recovery for api_messages/reasoning_content (closes #6843) ([#10537](https://github.com/NousResearch/hermes-agent/pull/10537))

  • Prevent stale os.environ leak after clear_session_vars ([#10527](https://github.com/NousResearch/hermes-agent/pull/10527))

  • Prevent agent hang when backgrounding processes via terminal tool ([#10584](https://github.com/NousResearch/hermes-agent/pull/10584))

  • Many smaller session-resume, interrupt, streaming, and memory-race fixes throughout the window
  • ---

    🐛 Notable Bug Fixes

    The fix: category in this window covers 482 PRs. Highlights:

  • Streaming cursor artifacts filtered from Matrix, Telegram, WhatsApp, Discord (multiple PRs)

  • <think> and <thought> blocks filtered from gateway stream consumers ([#9408](https://github.com/NousResearch/hermes-agent/pull/9408))

  • Gateway display.streaming root-config override regression ([#9799](https://github.com/NousResearch/hermes-agent/pull/9799))

  • Context session_search coerces limit to int (prevents TypeError) ([#10522](https://github.com/NousResearch/hermes-agent/pull/10522))

  • Memory tool stays available when fcntl is unavailable (Windows) ([#9783](https://github.com/NousResearch/hermes-agent/pull/9783))

  • Trajectory compressor credentials load from HERMES_HOME/.env ([#9632](https://github.com/NousResearch/hermes-agent/pull/9632), @Dusk1e)

  • @_context_completions no longer crashes on @ mention ([#9683](https://github.com/NousResearch/hermes-agent/pull/9683), @kshitijk4poor)

  • Group session user_id no longer treated as thread_id in shutdown notifications ([#10546](https://github.com/NousResearch/hermes-agent/pull/10546))

  • Telegram platform_hint — markdown is supported (closes #8261) ([#10612](https://github.com/NousResearch/hermes-agent/pull/10612))

  • Doctor checks for Kimi China credentials fixed

  • Streaming: don't suppress final response when commentary message is sent ([#10540](https://github.com/NousResearch/hermes-agent/pull/10540))

  • Rapid Telegram follow-ups no longer get cut off
  • ---

    🧪 Testing & CI

  • Contributor attribution CI check on PRs ([#9376](https://github.com/NousResearch/hermes-agent/pull/9376))

  • Hermetic test parity (scripts/run_tests.sh) held across this window

  • Test count stabilized post-Transport refactor; CI matrix held green through the transport rollout
  • ---

    📚 Documentation

  • Atropos + wandb links in user guide

  • ACP / VS Code / Zed / JetBrains integration docs refresh

  • Webhook subscription docs updated for direct-delivery mode

  • Plugin author guide expanded for new hooks (register_command, dispatch_tool, transform_tool_result)

  • Transport layer developer guide added

  • Website removed Discussions link from README
  • ---

    👥 Contributors

    Core

  • @teknium1 (Teknium)
  • Top Community Contributors (by merged PR count)

  • @kshitijk4poor — 49 PRs · Transport refactor (AnthropicTransport, ResponsesApiTransport), Step Plan provider, Xiaomi MiMo v2.5 support, numerous gateway fixes, promoted Kimi K2.5, @ mention crash fix

  • @OutThisLife (Brooklyn) — 31 PRs · TUI polish, git branch in status bar, per-turn stopwatch, stable picker keys, /clear confirm, light-theme preset, subagent spawn observability overlay

  • @helix4u — 11 PRs · Voice CLI record beep, MCP tool interrupt handling, assorted stability fixes

  • @austinpickett — 8 PRs · Dashboard react-router + sidebar + sticky header + dropdown, Vercel deployment, update + restart buttons

  • @alt-glitch — 8 PRs · PLATFORM_HINTS for Matrix/Mattermost/Feishu, Matrix fixes

  • @ethernet8023 — 3 PRs

  • @benbarclay — 3 PRs

  • @Aslaaen — 2 PRs

Also contributing
@jerilynzheng (ai-gateway pricing), @JimLiu (baoyu-comic skill), @Dusk1e (trajectory compressor credentials), @DeployFaith (mobile-responsive dashboard), @LeonSGP43, @v1k22 (concept-diagrams), @omnissiah-comelse (adversarial-ux-test), @coekfung (Telegram MarkdownV2 expandable blockquotes), @liftaris (TUI provider resolution), @arihantsethia (skill analytics dashboard), @topcheer + @xing8star (QQBot foundation), @kovyrin, @I3eg1nner (SECURITY.md), @PeterBerthelsen, @lengxii, @priveperfumes, @sjz-ks, @cuyua9, @Disaster-Terminator, @leozeli, @LehaoLin, @trevthefoolish, @loongfay, @MrNiceRicee, @WideLee, @bluefishs, @malaiwah, @bobashopcashier, @dsocolobsky, @iamagenius00, @IAvecilla, @aniruddhaadak80, @Es1la, @asheriif, @walli, @jquesnelle (original Tool Gateway work).

All Contributors (alphabetical)

@0xyg3n, @10ishq, @A-afflatus, @Abnertheforeman, @admin28980, @adybag14-cyber, @akhater, @alexzhu0,
@AllardQuek, @alt-glitch, @aniruddhaadak80, @anna-oake, @anniesurla, @anthhub, @areu01or00, @arihantsethia,
@arthurbr11, @asheriif, @Aslaaen, @Asunfly, @austinpickett, @AviArora02-commits, @AxDSan, @azhengbot, @Bartok9,
@benbarclay, @bennytimz, @bernylinville, @bingo906, @binhnt92, @bkadish, @bluefishs, @bobashopcashier,
@brantzh6, @BrennerSpear, @brianclemens, @briandevans, @brooklynnicholson, @bugkill3r, @buray, @burtenshaw,
@cdanis, @cgarwood82, @ChimingLiu, @chongweiliu, @christopherwoodall, @coekfung, @cola-runner, @corazzione,
@counterposition, @cresslank, @cuyua9, @cypres0099, @danieldoderlein, @davetist, @davidvv, @DeployFaith,
@Dev-Mriganka, @devorun, @dieutx, @Disaster-Terminator, @dodo-reach, @draix, @DrStrangerUJN, @dsocolobsky,
@Dusk1e, @dyxushuai, @elkimek, @elmatadorgh, @emozilla, @entropidelic, @Erosika, @erosika, @Es1la, @etcircle,
@etherman-os, @ethernet8023, @fancydirty, @farion1231, @fatinghenji, @Fatty911, @fengtianyu88, @Feranmi10,
@flobo3, @francip, @fuleinist, @g-guthrie, @GenKoKo, @gianfrancopiana, @gnanam1990, @GuyCui, @haileymarshall,
@haimu0x, @handsdiff, @hansnow, @hedgeho9X, @helix4u, @hengm3467, @HenkDz, @heykb, @hharry11, @HiddenPuppy,
@honghua, @houko, @houziershi, @hsy5571616, @huangke19, @hxp-plus, @Hypn0sis, @I3eg1nner, @iacker,
@iamagenius00, @IAvecilla, @iborazzi, @Ifkellx, @ifrederico, @imink, @isaachuangGMICLOUD, @ismell0992-afk,
@j0sephz, @Jaaneek, @jackjin1997, @JackTheGit, @jaffarkeikei, @jerilynzheng, @JiaDe-Wu, @Jiawen-lee, @JimLiu,
@jinzheng8115, @jneeee, @jplew, @jquesnelle, @Julientalbot, @Junass1, @jvcl, @kagura-agent, @keifergu,
@kevinskysunny, @keyuyuan, @konsisumer, @kovyrin, @kshitijk4poor, @leeyang1990, @LehaoLin, @lengxii,
@LeonSGP43, @leozeli, @li0near, @liftaris, @Lind3ey, @Linux2010, @liujinkun2025, @LLQWQ, @Llugaes, @lmoncany,
@longsizhuo, @lrawnsley, @Lubrsy706, @lumenradley, @luyao618, @lvnilesh, @LVT382009, @m0n5t3r, @Magaav,
@MagicRay1217, @malaiwah, @manuelschipper, @Marvae, @MassiveMassimo, @mavrickdeveloper, @maxchernin, @memosr,
@meng93, @mengjian-github, @MestreY0d4-Uninter, @Mibayy, @MikeFac, @mikewaters, @milkoor, @minorgod,
@MrNiceRicee, @ms-alan, @mvanhorn, @n-WN, @N0nb0at, @Nan93, @NIDNASSER-Abdelmajid, @nish3451, @niyoh120,
@nocoo, @nosleepcassette, @NousResearch, @ogzerber, @omnissiah-comelse, @Only-Code-A, @opriz, @OwenYWT, @pedh,
@pefontana, @PeterBerthelsen, @phpoh, @pinion05, @plgonzalezrx8, @pradeep7127, @priveperfumes,
@projectadmin-dev, @PStarH, @rnijhara, @Roy-oss1, @roytian1217, @RucchiZ, @Ruzzgar, @RyanLee-Dev, @Salt-555,
@Sanjays2402, @sgaofen, @sharziki, @shenuu, @shin4, @SHL0MS, @shushuzn, @sicnuyudidi, @simon-gtcl,
@simon-marcus, @sirEven, @Sisyphus, @sjz-ks, @snreynolds, @Societus, @Somme4096, @sontianye, @sprmn24,
@StefanIsMe, @stephenschoettler, @Swift42, @taeng0204, @taeuk178, @tannerfokkens-maker, @TaroballzChen,
@ten-ltw, @teyrebaz33, @Tianworld, @topcheer, @Tranquil-Flow, @trevthefoolish, @TroyMitchell911, @UNLINEARITY,
@v1k22, @vivganes, @vominh1919, @vrinek, @VTRiot, @WadydX, @walli, @wenhao7, @WhiteWorld, @WideLee, @wujhsu,
@WuTianyi123, @Wysie, @xandersbell, @xiaoqiang243, @xiayh0107, @xinpengdr, @Xowiek, @ycbai, @yeyitech, @ygd58,
@youngDoo, @yudaiyan, @Yukipukii1, @yule975, @yyq4193, @yzx9, @ZaynJarvis, @zhang9w0v5, @zhanggttry,
@zhangxicen, @zhongyueming1121, @zhouxiaoya12, @zons-zhaozhy

Also: @maelrx, @Marco Rutsch, @MaxsolcuCrypto, @Mind-Dragon, @Paul Bergeron, @say8hi, @whitehatjr1001.

---

Full Changelog: [v2026.4.13...v2026.4.23](https://github.com/NousResearch/hermes-agent/compare/v2026.4.13...v2026.4.23)

v2026.4.16
Apr 16, 2026

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](https://portal.nousresearch.com) 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 via use_gateway config, full integration with hermes tools and hermes status, and the runtime correctly prefers the gateway even when direct API keys exist. Replaces the old hidden HERMES_ENABLE_NOUS_MANAGED_TOOLS env var with clean subscription-based detection. ([#11206](https://github.com/NousResearch/hermes-agent/pull/11206), based on work by @jquesnelle; docs: [#11208](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/10799)), salvaged and shipped in this release

---

Full Changelog: [v2026.4.13...v2026.4.16](https://github.com/NousResearch/hermes-agent/compare/v2026.4.13...v2026.4.16)

v2026.4.13
Apr 13, 2026

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 /fast to 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](https://github.com/NousResearch/hermes-agent/pull/6875), [#6960](https://github.com/NousResearch/hermes-agent/pull/6960), [#7037](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/6437), [#6460](https://github.com/NousResearch/hermes-agent/pull/6460), [#6494](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/7166), [#7943](https://github.com/NousResearch/hermes-agent/pull/7943))
  • Termux / Android Support — Run Hermes natively on Android via Termux. Adapted install paths, TUI optimizations for mobile screens, voice backend support, and the /image command work on-device. ([#6834](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/7372), [#7855](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/7464))
  • Unified Proxy Support — SOCKS proxy, DISCORD_PROXY, and system proxy auto-detection across all gateway platforms. Hermes behind corporate firewalls just works. ([#6814](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/7933), [#7944](https://github.com/NousResearch/hermes-agent/pull/7944), [#7940](https://github.com/NousResearch/hermes-agent/pull/7940), [#7151](https://github.com/NousResearch/hermes-agent/pull/7151), [#7156](https://github.com/NousResearch/hermes-agent/pull/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](https://github.com/NousResearch/hermes-agent/pull/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: /debug slash command across all platforms for quick diagnostics, plus hermes debug share to upload a full debug report to a pastebin for easy sharing when troubleshooting. ([#8681](https://github.com/NousResearch/hermes-agent/pull/8681))
  • ---

    🏗️ Core Agent & Architecture

    Provider & Model Support

  • Native xAI (Grok) provider with direct API access and model catalog ([#7372](https://github.com/NousResearch/hermes-agent/pull/7372))

  • Xiaomi MiMo as first-class provider — setup wizard, model catalog, empty response recovery ([#7855](https://github.com/NousResearch/hermes-agent/pull/7855))

  • Qwen OAuth provider with portal request support ([#6282](https://github.com/NousResearch/hermes-agent/pull/6282))

  • Fast Mode/fast toggle for OpenAI Priority Processing + Anthropic fast tier ([#6875](https://github.com/NousResearch/hermes-agent/pull/6875), [#6960](https://github.com/NousResearch/hermes-agent/pull/6960), [#7037](https://github.com/NousResearch/hermes-agent/pull/7037))

  • Structured API error classification for smart failover decisions ([#6514](https://github.com/NousResearch/hermes-agent/pull/6514))

  • Rate limit header capture shown in /usage ([#6541](https://github.com/NousResearch/hermes-agent/pull/6541))

  • API server model name derived from profile name ([#6857](https://github.com/NousResearch/hermes-agent/pull/6857))

  • Custom providers now included in /model listings and resolution ([#7088](https://github.com/NousResearch/hermes-agent/pull/7088))

  • Fallback provider activation on repeated empty responses with user-visible status ([#7505](https://github.com/NousResearch/hermes-agent/pull/7505))

  • OpenRouter variant tags (:free, :extended, :fast) preserved during model switch ([#6383](https://github.com/NousResearch/hermes-agent/pull/6383))

  • Credential exhaustion TTL reduced from 24 hours to 1 hour ([#6504](https://github.com/NousResearch/hermes-agent/pull/6504))

  • OAuth credential lifecycle hardening — stale pool keys, auth.json sync, Codex CLI race fixes ([#6874](https://github.com/NousResearch/hermes-agent/pull/6874))

  • Empty response recovery for reasoning models (MiMo, Qwen, GLM) ([#8609](https://github.com/NousResearch/hermes-agent/pull/8609))

  • MiniMax context lengths, thinking guard, endpoint corrections ([#6082](https://github.com/NousResearch/hermes-agent/pull/6082), [#7126](https://github.com/NousResearch/hermes-agent/pull/7126))

  • Z.AI endpoint auto-detect via probe and cache ([#5763](https://github.com/NousResearch/hermes-agent/pull/5763))
  • Agent Loop & Conversation

  • Pluggable context engine slot via hermes plugins ([#7464](https://github.com/NousResearch/hermes-agent/pull/7464))

  • Background process monitoringwatch_patterns for real-time output alerts ([#7635](https://github.com/NousResearch/hermes-agent/pull/7635))

  • Improved context compression — higher limits, tool tracking, degradation warnings, token-budget tail protection ([#6395](https://github.com/NousResearch/hermes-agent/pull/6395), [#6453](https://github.com/NousResearch/hermes-agent/pull/6453))

  • /compress <focus> — guided compression with a focus topic ([#8017](https://github.com/NousResearch/hermes-agent/pull/8017))

  • Tiered context pressure warnings with gateway dedup ([#6411](https://github.com/NousResearch/hermes-agent/pull/6411))

  • Staged inactivity warning before timeout escalation ([#6387](https://github.com/NousResearch/hermes-agent/pull/6387))

  • Prevent agent from stopping mid-task — compression floor, budget overhaul, activity tracking ([#7983](https://github.com/NousResearch/hermes-agent/pull/7983))

  • Propagate child activity to parent during delegate_task ([#7295](https://github.com/NousResearch/hermes-agent/pull/7295))

  • Truncated streaming tool call detection before execution ([#6847](https://github.com/NousResearch/hermes-agent/pull/6847))

  • Empty response retry (3 attempts with nudge) ([#6488](https://github.com/NousResearch/hermes-agent/pull/6488))

  • Adaptive streaming backoff + cursor strip to prevent message truncation ([#7683](https://github.com/NousResearch/hermes-agent/pull/7683))

  • Compression uses live session model instead of stale persisted config ([#8258](https://github.com/NousResearch/hermes-agent/pull/8258))

  • Strip <thought> tags from Gemma 4 responses ([#8562](https://github.com/NousResearch/hermes-agent/pull/8562))

  • Prevent <think> in prose from suppressing response output ([#6968](https://github.com/NousResearch/hermes-agent/pull/6968))

  • Turn-exit diagnostic logging to agent loop ([#6549](https://github.com/NousResearch/hermes-agent/pull/6549))

  • Scope tool interrupt signal per-thread to prevent cross-session leaks ([#7930](https://github.com/NousResearch/hermes-agent/pull/7930))
  • Memory & Sessions

  • Hindsight memory plugin — feature parity, setup wizard, config improvements — @nicoloboschi ([#6428](https://github.com/NousResearch/hermes-agent/pull/6428))

  • Honcho — opt-in initOnSessionStart for tools mode — @Kathie-yu ([#6995](https://github.com/NousResearch/hermes-agent/pull/6995))

  • Orphan children instead of cascade-deleting in prune/delete ([#6513](https://github.com/NousResearch/hermes-agent/pull/6513))

  • Doctor command only checks the active memory provider ([#6285](https://github.com/NousResearch/hermes-agent/pull/6285))
  • ---

    📱 Messaging Platforms (Gateway)

    New Platforms

  • BlueBubbles (iMessage) — full adapter with auto-webhook registration, setup wizard, and crash resilience ([#6437](https://github.com/NousResearch/hermes-agent/pull/6437), [#6460](https://github.com/NousResearch/hermes-agent/pull/6460), [#6494](https://github.com/NousResearch/hermes-agent/pull/6494), [#7107](https://github.com/NousResearch/hermes-agent/pull/7107))

  • Weixin (WeChat) — native support via iLink Bot API with streaming, media uploads, markdown links ([#7166](https://github.com/NousResearch/hermes-agent/pull/7166), [#8665](https://github.com/NousResearch/hermes-agent/pull/8665))

  • WeCom Callback Mode — self-built enterprise app adapter with atomic state persistence ([#7943](https://github.com/NousResearch/hermes-agent/pull/7943), [#7928](https://github.com/NousResearch/hermes-agent/pull/7928))
  • Discord

  • Allowed channels whitelist config — @jarvis-phw ([#7044](https://github.com/NousResearch/hermes-agent/pull/7044))

  • Forum channel topic inheritance in thread sessions — @hermes-agent-dhabibi ([#6377](https://github.com/NousResearch/hermes-agent/pull/6377))

  • DISCORD_REPLY_TO_MODE setting ([#6333](https://github.com/NousResearch/hermes-agent/pull/6333))

  • Accept .log attachments, raise document size limit — @kira-ariaki ([#6467](https://github.com/NousResearch/hermes-agent/pull/6467))

  • Decouple readiness from slash sync ([#8016](https://github.com/NousResearch/hermes-agent/pull/8016))
  • Slack

  • Consolidated Slack improvements — 7 community PRs salvaged into one ([#6809](https://github.com/NousResearch/hermes-agent/pull/6809))

  • Handle assistant thread lifecycle events ([#6433](https://github.com/NousResearch/hermes-agent/pull/6433))
  • Matrix

  • Migrated from matrix-nio to mautrix-python ([#7518](https://github.com/NousResearch/hermes-agent/pull/7518))

  • SQLite crypto store replacing pickle (fixes E2EE decryption) — @alt-glitch ([#7981](https://github.com/NousResearch/hermes-agent/pull/7981))

  • Cross-signing recovery key verification for E2EE migration ([#8282](https://github.com/NousResearch/hermes-agent/pull/8282))

  • DM mention threads + group chat events for Feishu ([#7423](https://github.com/NousResearch/hermes-agent/pull/7423))
  • Gateway Core

  • Unified proxy support — SOCKS, DISCORD_PROXY, multi-platform with macOS auto-detection ([#6814](https://github.com/NousResearch/hermes-agent/pull/6814))

  • Inbound text batching for Discord, Matrix, WeCom + adaptive delay ([#6979](https://github.com/NousResearch/hermes-agent/pull/6979))

  • Surface natural mid-turn assistant messages in chat platforms ([#7978](https://github.com/NousResearch/hermes-agent/pull/7978))

  • WSL-aware gateway with smart systemd detection ([#7510](https://github.com/NousResearch/hermes-agent/pull/7510))

  • All missing platforms added to setup wizard ([#7949](https://github.com/NousResearch/hermes-agent/pull/7949))

  • Per-platform tool_progress overrides ([#6348](https://github.com/NousResearch/hermes-agent/pull/6348))

  • Configurable 'still working' notification interval ([#8572](https://github.com/NousResearch/hermes-agent/pull/8572))

  • /model switch persists across messages ([#7081](https://github.com/NousResearch/hermes-agent/pull/7081))

  • /usage shows rate limits, cost, and token details between turns ([#7038](https://github.com/NousResearch/hermes-agent/pull/7038))

  • Drain in-flight work before restart ([#7503](https://github.com/NousResearch/hermes-agent/pull/7503))

  • Don't evict cached agent on failed runs — prevents MCP restart loop ([#7539](https://github.com/NousResearch/hermes-agent/pull/7539))

  • Replace os.environ session state with contextvars ([#7454](https://github.com/NousResearch/hermes-agent/pull/7454))

  • Derive channel directory platforms from enum instead of hardcoded list ([#7450](https://github.com/NousResearch/hermes-agent/pull/7450))

  • Validate image downloads before caching (cross-platform) ([#7125](https://github.com/NousResearch/hermes-agent/pull/7125))

  • Cross-platform webhook delivery for all platforms ([#7095](https://github.com/NousResearch/hermes-agent/pull/7095))

  • Cron Discord thread_id delivery support ([#7106](https://github.com/NousResearch/hermes-agent/pull/7106))

  • Feishu QR-based bot onboarding ([#8570](https://github.com/NousResearch/hermes-agent/pull/8570))

  • Gateway status scoped to active profile ([#7951](https://github.com/NousResearch/hermes-agent/pull/7951))

  • Prevent background process notifications from triggering false pairing requests ([#6434](https://github.com/NousResearch/hermes-agent/pull/6434))
  • ---

    🖥️ CLI & User Experience

    Interactive CLI

  • Termux / Android support — adapted install paths, TUI, voice, /image ([#6834](https://github.com/NousResearch/hermes-agent/pull/6834))

  • Native /model picker modal for provider → model selection ([#8003](https://github.com/NousResearch/hermes-agent/pull/8003))

  • Live per-tool elapsed timer restored in TUI spinner ([#7359](https://github.com/NousResearch/hermes-agent/pull/7359))

  • Stacked tool progress scrollback in TUI ([#8201](https://github.com/NousResearch/hermes-agent/pull/8201))

  • Random tips on new session start (CLI + gateway, 279 tips) ([#8225](https://github.com/NousResearch/hermes-agent/pull/8225), [#8237](https://github.com/NousResearch/hermes-agent/pull/8237))

  • hermes dump — copy-pasteable setup summary for debugging ([#6550](https://github.com/NousResearch/hermes-agent/pull/6550))

  • hermes backup / hermes import — full config backup and restore ([#7997](https://github.com/NousResearch/hermes-agent/pull/7997))

  • WSL environment hint in system prompt ([#8285](https://github.com/NousResearch/hermes-agent/pull/8285))

  • Profile creation UX — seed SOUL.md + credential warning ([#8553](https://github.com/NousResearch/hermes-agent/pull/8553))

  • Shell-aware sudo detection, empty password support ([#6517](https://github.com/NousResearch/hermes-agent/pull/6517))

  • Flush stdin after curses/terminal menus to prevent escape sequence leakage ([#7167](https://github.com/NousResearch/hermes-agent/pull/7167))

  • Handle broken stdin in prompt_toolkit startup ([#8560](https://github.com/NousResearch/hermes-agent/pull/8560))
  • Setup & Configuration

  • Per-platform display verbosity configuration ([#8006](https://github.com/NousResearch/hermes-agent/pull/8006))

  • Component-separated logging with session context and filtering ([#7991](https://github.com/NousResearch/hermes-agent/pull/7991))

  • network.force_ipv4 config to fix IPv6 timeout issues ([#8196](https://github.com/NousResearch/hermes-agent/pull/8196))

  • Standardize message whitespace and JSON formatting ([#7988](https://github.com/NousResearch/hermes-agent/pull/7988))

  • Rebrand OpenClaw → Hermes during migration ([#8210](https://github.com/NousResearch/hermes-agent/pull/8210))

  • Config.yaml takes priority over env vars for auxiliary settings ([#7889](https://github.com/NousResearch/hermes-agent/pull/7889))

  • Harden setup provider flows + live OpenRouter catalog refresh ([#7078](https://github.com/NousResearch/hermes-agent/pull/7078))

  • Normalize reasoning effort ordering across all surfaces ([#6804](https://github.com/NousResearch/hermes-agent/pull/6804))

  • Remove dead LLM_MODEL env var + migration to clear stale entries ([#6543](https://github.com/NousResearch/hermes-agent/pull/6543))

  • Remove /prompt slash command — prefix expansion footgun ([#6752](https://github.com/NousResearch/hermes-agent/pull/6752))

  • HERMES_HOME_MODE env var to override permissions — @ygd58 ([#6993](https://github.com/NousResearch/hermes-agent/pull/6993))

  • Fall back to default model when model config is empty ([#8303](https://github.com/NousResearch/hermes-agent/pull/8303))

  • Warn when compression model context is too small ([#7894](https://github.com/NousResearch/hermes-agent/pull/7894))
  • ---

    🔧 Tool System

    Environments & Execution

  • Unified spawn-per-call execution layer for environments ([#6343](https://github.com/NousResearch/hermes-agent/pull/6343))

  • Unified file sync with mtime tracking, deletion, and transactional state ([#7087](https://github.com/NousResearch/hermes-agent/pull/7087))

  • Persistent sandbox envs survive between turns ([#6412](https://github.com/NousResearch/hermes-agent/pull/6412))

  • Bulk file sync via tar pipe for SSH/Modal backends — @alt-glitch ([#8014](https://github.com/NousResearch/hermes-agent/pull/8014))

  • Daytona — bulk upload, config bridge, silent disk cap ([#7538](https://github.com/NousResearch/hermes-agent/pull/7538))

  • Foreground timeout cap to prevent session deadlocks ([#7082](https://github.com/NousResearch/hermes-agent/pull/7082))

  • Guard invalid command values ([#6417](https://github.com/NousResearch/hermes-agent/pull/6417))
  • MCP

  • hermes mcp add --env and --preset support ([#7970](https://github.com/NousResearch/hermes-agent/pull/7970))

  • Combine content and structuredContent when both present ([#7118](https://github.com/NousResearch/hermes-agent/pull/7118))

  • MCP tool name deconfliction fixes ([#7654](https://github.com/NousResearch/hermes-agent/pull/7654))
  • Browser

  • Browser hardening — dead code removal, caching, scroll perf, security, thread safety ([#7354](https://github.com/NousResearch/hermes-agent/pull/7354))

  • /browser connect auto-launch uses dedicated Chrome profile dir ([#6821](https://github.com/NousResearch/hermes-agent/pull/6821))

  • Reap orphaned browser sessions on startup ([#7931](https://github.com/NousResearch/hermes-agent/pull/7931))
  • Voice & Vision

  • Voxtral TTS provider (Mistral AI) ([#7653](https://github.com/NousResearch/hermes-agent/pull/7653))

  • TTS speed support for Edge TTS, OpenAI TTS, MiniMax ([#8666](https://github.com/NousResearch/hermes-agent/pull/8666))

  • Vision auto-resize for oversized images, raise limit to 20 MB, retry-on-failure ([#7883](https://github.com/NousResearch/hermes-agent/pull/7883), [#7902](https://github.com/NousResearch/hermes-agent/pull/7902))

  • STT provider-model mismatch fix (whisper-1 vs faster-whisper) ([#7113](https://github.com/NousResearch/hermes-agent/pull/7113))
  • Other Tools

  • hermes dump command for setup summary ([#6550](https://github.com/NousResearch/hermes-agent/pull/6550))

  • TODO store enforces ID uniqueness during replace operations ([#7986](https://github.com/NousResearch/hermes-agent/pull/7986))

  • List all available toolsets in delegate_task schema description ([#8231](https://github.com/NousResearch/hermes-agent/pull/8231))

  • API server: tool progress as custom SSE event to prevent model corruption ([#7500](https://github.com/NousResearch/hermes-agent/pull/7500))

  • API server: share one Docker container across all conversations ([#7127](https://github.com/NousResearch/hermes-agent/pull/7127))
  • ---

    🧩 Skills Ecosystem

  • Centralized skills index + tree cache — eliminates rate-limit failures on install ([#8575](https://github.com/NousResearch/hermes-agent/pull/8575))

  • More aggressive skill loading instructions in system prompt (v3) ([#8209](https://github.com/NousResearch/hermes-agent/pull/8209), [#8286](https://github.com/NousResearch/hermes-agent/pull/8286))

  • Google Workspace skill migrated to GWS CLI backend ([#6788](https://github.com/NousResearch/hermes-agent/pull/6788))

  • Creative divergence strategies skill — @SHL0MS ([#6882](https://github.com/NousResearch/hermes-agent/pull/6882))

  • Creative ideation — constraint-driven project generation — @SHL0MS ([#7555](https://github.com/NousResearch/hermes-agent/pull/7555))

  • Parallelize skills browse/search to prevent hanging ([#7301](https://github.com/NousResearch/hermes-agent/pull/7301))

  • Read name from SKILL.md frontmatter in skills_sync ([#7623](https://github.com/NousResearch/hermes-agent/pull/7623))
  • ---

    🔒 Security & Reliability

    Security Hardening

  • Twilio webhook signature validation — SMS RCE fix ([#7933](https://github.com/NousResearch/hermes-agent/pull/7933))

  • Shell injection neutralization in _write_to_sandbox via path quoting ([#7940](https://github.com/NousResearch/hermes-agent/pull/7940))

  • Git argument injection and path traversal prevention in checkpoint manager ([#7944](https://github.com/NousResearch/hermes-agent/pull/7944))

  • SSRF redirect bypass in Slack image uploads + base.py cache helpers ([#7151](https://github.com/NousResearch/hermes-agent/pull/7151))

  • Path traversal, credential gate, DANGEROUS_PATTERNS gaps ([#7156](https://github.com/NousResearch/hermes-agent/pull/7156))

  • API bind guard — enforce API_SERVER_KEY for non-loopback binding ([#7455](https://github.com/NousResearch/hermes-agent/pull/7455))

  • Approval button authorization — require auth for session continuation — @Cafexss ([#6930](https://github.com/NousResearch/hermes-agent/pull/6930))

  • Path boundary enforcement in skill manager operations ([#7156](https://github.com/NousResearch/hermes-agent/pull/7156))

  • DingTalk/API webhook URL origin validation, header injection rejection ([#7455](https://github.com/NousResearch/hermes-agent/pull/7455))
  • Reliability

  • Contextual error diagnostics for invalid API responses ([#8565](https://github.com/NousResearch/hermes-agent/pull/8565))

  • Prevent 400 format errors from triggering compression loop on Codex ([#6751](https://github.com/NousResearch/hermes-agent/pull/6751))

  • Don't halve context_length on output-cap-too-large errors — @KUSH42 ([#6664](https://github.com/NousResearch/hermes-agent/pull/6664))

  • Recover primary client on OpenAI transport errors ([#7108](https://github.com/NousResearch/hermes-agent/pull/7108))

  • Credential pool rotation on billing-classified 400s ([#7112](https://github.com/NousResearch/hermes-agent/pull/7112))

  • Auto-increase stream read timeout for local LLM providers ([#6967](https://github.com/NousResearch/hermes-agent/pull/6967))

  • Fall back to default certs when CA bundle path doesn't exist ([#7352](https://github.com/NousResearch/hermes-agent/pull/7352))

  • Disambiguate usage-limit patterns in error classifier — @sprmn24 ([#6836](https://github.com/NousResearch/hermes-agent/pull/6836))

  • Harden cron script timeout and provider recovery ([#7079](https://github.com/NousResearch/hermes-agent/pull/7079))

  • Gateway interrupt detection resilient to monitor task failures ([#8208](https://github.com/NousResearch/hermes-agent/pull/8208))

  • Prevent unwanted session auto-reset after graceful gateway restarts ([#8299](https://github.com/NousResearch/hermes-agent/pull/8299))

  • Prevent duplicate update prompt spam in gateway watcher ([#8343](https://github.com/NousResearch/hermes-agent/pull/8343))

  • Deduplicate reasoning items in Responses API input ([#7946](https://github.com/NousResearch/hermes-agent/pull/7946))
  • Infrastructure

  • Multi-arch Docker image — amd64 + arm64 ([#6124](https://github.com/NousResearch/hermes-agent/pull/6124))

  • Docker runs as non-root user with virtualenv — @benbarclay contributing ([#8226](https://github.com/NousResearch/hermes-agent/pull/8226))

  • Use uv for Docker dependency resolution to fix resolution-too-deep ([#6965](https://github.com/NousResearch/hermes-agent/pull/6965))

  • Container-aware Nix CLI — auto-route into managed container — @alt-glitch ([#7543](https://github.com/NousResearch/hermes-agent/pull/7543))

  • Nix shared-state permission model for interactive CLI users — @alt-glitch ([#6796](https://github.com/NousResearch/hermes-agent/pull/6796))

  • Per-profile subprocess HOME isolation ([#7357](https://github.com/NousResearch/hermes-agent/pull/7357))

  • Profile paths fixed in Docker — profiles go to mounted volume ([#7170](https://github.com/NousResearch/hermes-agent/pull/7170))

  • Docker container gateway pathway hardened ([#8614](https://github.com/NousResearch/hermes-agent/pull/8614))

  • Enable unbuffered stdout for live Docker logs ([#6749](https://github.com/NousResearch/hermes-agent/pull/6749))

  • Install procps in Docker image — @HiddenPuppy ([#7032](https://github.com/NousResearch/hermes-agent/pull/7032))

  • Shallow git clone for faster installation — @sosyz ([#8396](https://github.com/NousResearch/hermes-agent/pull/8396))

  • hermes update always reset on stash conflict ([#7010](https://github.com/NousResearch/hermes-agent/pull/7010))

  • Write update exit code before gateway restart (cgroup kill race) ([#8288](https://github.com/NousResearch/hermes-agent/pull/8288))

  • Nix: setupSecrets optional, tirith runtime dep — @devorun, @ethernet8023 ([#6261](https://github.com/NousResearch/hermes-agent/pull/6261), [#6721](https://github.com/NousResearch/hermes-agent/pull/6721))

  • launchd stop uses bootout so KeepAlive doesn't respawn ([#7119](https://github.com/NousResearch/hermes-agent/pull/7119))
  • ---

    🐛 Notable Bug Fixes

  • Fix: /model switch not persisting across gateway messages ([#7081](https://github.com/NousResearch/hermes-agent/pull/7081))

  • Fix: session-scoped gateway model overrides ignored — @Hygaard ([#7662](https://github.com/NousResearch/hermes-agent/pull/7662))

  • Fix: compaction model context length ignoring config — 3 related issues ([#8258](https://github.com/NousResearch/hermes-agent/pull/8258), [#8107](https://github.com/NousResearch/hermes-agent/pull/8107))

  • Fix: OpenCode.ai context window resolved to 128K instead of 1M ([#6472](https://github.com/NousResearch/hermes-agent/pull/6472))

  • Fix: Codex fallback auth-store lookup — @cherifya ([#6462](https://github.com/NousResearch/hermes-agent/pull/6462))

  • Fix: duplicate completion notifications when process killed ([#7124](https://github.com/NousResearch/hermes-agent/pull/7124))

  • Fix: agent daemon thread prevents orphan CLI processes on tab close ([#8557](https://github.com/NousResearch/hermes-agent/pull/8557))

  • Fix: stale image attachment on text paste and voice input ([#7077](https://github.com/NousResearch/hermes-agent/pull/7077))

  • Fix: DM thread session seeding causing cross-thread contamination ([#7084](https://github.com/NousResearch/hermes-agent/pull/7084))

  • Fix: OpenClaw migration shows dry-run preview before executing ([#6769](https://github.com/NousResearch/hermes-agent/pull/6769))

  • Fix: auth errors misclassified as retryable — @kuishou68 ([#7027](https://github.com/NousResearch/hermes-agent/pull/7027))

  • Fix: Copilot-Integration-Id header missing ([#7083](https://github.com/NousResearch/hermes-agent/pull/7083))

  • Fix: ACP session capabilities — @luyao618 ([#6985](https://github.com/NousResearch/hermes-agent/pull/6985))

  • Fix: ACP PromptResponse usage from top-level fields ([#7086](https://github.com/NousResearch/hermes-agent/pull/7086))

  • Fix: several failing/flaky tests on main — @dsocolobsky ([#6777](https://github.com/NousResearch/hermes-agent/pull/6777))

  • Fix: backup marker filenames — @sprmn24 ([#8600](https://github.com/NousResearch/hermes-agent/pull/8600))

  • Fix: NoneType in fast_mode check — @0xbyt4 ([#7350](https://github.com/NousResearch/hermes-agent/pull/7350))

  • Fix: missing imports in uninstall.py — @JiayuuWang ([#7034](https://github.com/NousResearch/hermes-agent/pull/7034))
  • ---

    📚 Documentation

  • Platform adapter developer guide + WeCom Callback docs ([#7969](https://github.com/NousResearch/hermes-agent/pull/7969))

  • Cron troubleshooting guide ([#7122](https://github.com/NousResearch/hermes-agent/pull/7122))

  • Streaming timeout auto-detection for local LLMs ([#6990](https://github.com/NousResearch/hermes-agent/pull/6990))

  • Tool-use enforcement documentation expanded ([#7984](https://github.com/NousResearch/hermes-agent/pull/7984))

  • BlueBubbles pairing instructions ([#6548](https://github.com/NousResearch/hermes-agent/pull/6548))

  • Telegram proxy support section ([#6348](https://github.com/NousResearch/hermes-agent/pull/6348))

  • hermes dump and hermes logs CLI reference ([#6552](https://github.com/NousResearch/hermes-agent/pull/6552))

  • tool_progress_overrides configuration reference ([#6364](https://github.com/NousResearch/hermes-agent/pull/6364))

  • Compression model context length warning docs ([#7879](https://github.com/NousResearch/hermes-agent/pull/7879))
  • ---

    👥 Contributors

    269 merged PRs from 24 contributors across 487 commits.

    Community Contributors

  • @alt-glitch (6 PRs) — Nix container-aware CLI, shared-state permissions, Matrix SQLite crypto store, bulk SSH/Modal file sync, Matrix mautrix compat

  • @SHL0MS (2 PRs) — Creative divergence strategies skill, creative ideation skill

  • @sprmn24 (2 PRs) — Error classifier disambiguation, backup marker fix

  • @nicoloboschi — Hindsight memory plugin feature parity

  • @Hygaard — Session-scoped gateway model override fix

  • @jarvis-phw — Discord allowed_channels whitelist

  • @Kathie-yu — Honcho initOnSessionStart for tools mode

  • @hermes-agent-dhabibi — Discord forum channel topic inheritance

  • @kira-ariaki — Discord .log attachments and size limit

  • @cherifya — Codex fallback auth-store lookup

  • @Cafexss — Security: auth for session continuation

  • @KUSH42 — Compaction context_length fix

  • @kuishou68 — Auth error retryable classification fix

  • @luyao618 — ACP session capabilities

  • @ygd58 — HERMES_HOME_MODE env var override

  • @0xbyt4 — Fast mode NoneType fix

  • @JiayuuWang — CLI uninstall import fix

  • @HiddenPuppy — Docker procps installation

  • @dsocolobsky — Test suite fixes

  • @benbarclay — Docker image tag simplification

  • @sosyz — Shallow git clone for faster install

  • @devorun — Nix setupSecrets optional

  • @ethernet8023 — Nix tirith runtime dep

---

Full Changelog: [v2026.4.8...v2026.4.13](https://github.com/NousResearch/hermes-agent/compare/v2026.4.8...v2026.4.13)

View full changelog →
📖
Guide
Setup, tips & commands
📋
Full Changelog
Every release in detail
📦
All Releases
Version grid view
📡
RSS Feed
Subscribe to updates