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.
TL;DR
Latest Release- ▸ *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)
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](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_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](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
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](https://github.com/NousResearch/hermes-agent/pull/13691), [#13718](https://github.com/NousResearch/hermes-agent/pull/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](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)
- Transport ABC abstracts format conversion and HTTP transport from
run_agent.pyintoagent/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))
- 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=falsecontrol, surrogate sanitization,/v1hint ([#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))
/modelmerges models.dev entries for lesser-loved providers ([#14221](https://github.com/NousResearch/hermes-agent/pull/14221))- Per-provider + per-model
request_timeout_secondsconfig ([#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
minimalreasoning effort tolowon 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
/newand compress ([#10463](https://github.com/NousResearch/hermes-agent/pull/10463)) - Fix: Kimi
/codingthinking 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, andthinkingfor Kimi/Moonshot - Fix: stream reasoning content through OpenAI-compatible providers that emit it
/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:
/stopno 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_lengthfor plugin context engines ([#9238](https://github.com/NousResearch/hermes-agent/pull/9238)) - 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_writebridge to sequential tool execution path ([#10507](https://github.com/NousResearch/hermes-agent/pull/10507)) - Fix: preserve
session_idacrossprevious_response_idchains in/v1/responses([#10059](https://github.com/NousResearch/hermes-agent/pull/10059)) - New TUI based on Ink + Python JSON-RPC backend
- Prettier + ESLint + vitest tooling for
ui-tui/ - Entry split between
src/entry.tsx(TTY gate) andsrc/app.tsx(state machine) - Persistent
_SlashWorkersubprocess for slash command dispatch - 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.slashRPC - Path autocomplete via
complete.pathRPC - Dozens of resize/ghosting/sticky-prompt fixes landed through the week
- Decomposed
app.tsxintoapp/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 - 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))
- Dedicated
TELEGRAM_PROXYenv var + config.yaml proxy support (closes #9414, #6530, #9074, #7786) ([#10681](https://github.com/NousResearch/hermes-agent/pull/10681)) ignored_threadsconfig 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
- Forum channel support (salvage of #10145 + media + polish) ([#11920](https://github.com/NousResearch/hermes-agent/pull/11920))
DISCORD_ALLOWED_ROLESfor 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_animationfor inline GIF playback ([#10283](https://github.com/NousResearch/hermes-agent/pull/10283)) send_messageDiscord media attachments ([#10246](https://github.com/NousResearch/hermes-agent/pull/10246))/skillcommand 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))
- 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))
require_mention+allowed_usersgating (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))
send_voice— native audio message delivery ([#13002](https://github.com/NousResearch/hermes-agent/pull/13002))dm_policyandgroup_policyparity with WeCom/Weixin/QQ adapters ([#13151](https://github.com/NousResearch/hermes-agent/pull/13151))- WeCom QR-scan bot creation + interactive setup wizard (salvage #13923) ([#13961](https://github.com/NousResearch/hermes-agent/pull/13961))
- Media delivery support via
send_message([#13178](https://github.com/NousResearch/hermes-agent/pull/13178)) - Per-thread sessions for DMs by default ([#10987](https://github.com/NousResearch/hermes-agent/pull/10987))
- Group chat session separation, webhook registration & auth fixes ([#9806](https://github.com/NousResearch/hermes-agent/pull/9806))
- 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
.pdfin MEDIA: tag extraction ([#13683](https://github.com/NousResearch/hermes-agent/pull/13683)) --allflag forgateway startandrestart([#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
--replacetakeover 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_callblocking — 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_genbackends + OpenAI provider ([#13799](https://github.com/NousResearch/hermes-agent/pull/13799)) openai-codeximage_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_cdpraw DevTools Protocol passthrough ([#12369](https://github.com/NousResearch/hermes-agent/pull/12369))- Camofox hardening + connection stability across the window
- Project/strict execution modes (default: project) ([#11971](https://github.com/NousResearch/hermes-agent/pull/11971))
- 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))
- 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 direct-delivery mode — zero-LLM push notifications ([#12473](https://github.com/NousResearch/hermes-agent/pull/12473))
- Cron
wakeAgentgate — 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)) - 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))
patch— "did you mean?" feedback when patch fails to match ([#13435](https://github.com/NousResearch/hermes-agent/pull/13435))- Stream
/v1/responsesSSE tool events (salvage #9779) ([#10049](https://github.com/NousResearch/hermes-agent/pull/10049)) - Inline image inputs on
/v1/chat/completionsand/v1/responses([#12969](https://github.com/NousResearch/hermes-agent/pull/12969)) - Entry-level Podman support —
find_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))
- 12 MCP improvements across the window (status, timeout handling, tool-call forwarding, etc.)
- Namespaced skill registration for plugin bundles ([#9786](https://github.com/NousResearch/hermes-agent/pull/9786))
hermes skills resetto un-stick bundled skills ([#11468](https://github.com/NousResearch/hermes-agent/pull/11468))- Skills guard opt-in —
config.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))
xitterreplaced withxurl— 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)) - 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))
- 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))
- 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-configand--ignore-rulesflags (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
hermesbin 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.yamlas sole CWD source + deprecate.envCWD vars + addhermes memory reset([#11029](https://github.com/NousResearch/hermes-agent/pull/11029)) - 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.environleak afterclear_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
- 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_searchcoerces limit to int (prevents TypeError) ([#10522](https://github.com/NousResearch/hermes-agent/pull/10522)) - Memory tool stays available when
fcntlis 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_completionsno longer crashes on@mention ([#9683](https://github.com/NousResearch/hermes-agent/pull/9683), @kshitijk4poor)- Group session
user_idno longer treated asthread_idin 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
- 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
- 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
- @teknium1 (Teknium)
- @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,
/clearconfirm, 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
---
🏗️ Core Agent & Architecture
Transport Layer (NEW)
Provider & Model Support
Agent Loop & Conversation
Session & Memory
---
🖥️ 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
UX & Features
Structural Refactors
---
📱 Messaging Platforms (Gateway)
New Platforms
Telegram
Discord
Feishu
DingTalk
WhatsApp
WeCom / Weixin
Signal
Slack
BlueBubbles (iMessage)
Gateway Core
---
🔧 Tool System
Plugin Surface (major expansion)
Browser
Execute Code
Image Generation
TTS / STT / Voice
Webhook / Cron
Delegate
File / Patch
API Server
Docker / Podman
MCP
---
🧩 Skills Ecosystem
Skill System
New Skills
---
📊 Web Dashboard
---
🖱️ CLI & User Experience
---
🔒 Security & Reliability
---
🐛 Notable Bug Fixes
The fix: category in this window covers 482 PRs. Highlights:
---
🧪 Testing & CI
---
📚 Documentation
---
👥 Contributors
Core
Top Community Contributors (by merged PR count)
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)
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 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](https://github.com/NousResearch/hermes-agent/pull/11206), based on work by @jquesnelle; docs: [#11208](https://github.com/NousResearch/hermes-agent/pull/11208)) - @jquesnelle (emozilla) — Original Tool Gateway implementation ([#10799](https://github.com/NousResearch/hermes-agent/pull/10799)), salvaged and shipped in this release
---
🐛 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
---
Full Changelog: [v2026.4.13...v2026.4.16](https://github.com/NousResearch/hermes-agent/compare/v2026.4.13...v2026.4.16)
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](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
/imagecommand 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:/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](https://github.com/NousResearch/hermes-agent/pull/8681))- 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 —
/fasttoggle 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
/modellistings 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))
- Pluggable context engine slot via
hermes plugins([#7464](https://github.com/NousResearch/hermes-agent/pull/7464)) - Background process monitoring —
watch_patternsfor 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))
- Hindsight memory plugin — feature parity, setup wizard, config improvements — @nicoloboschi ([#6428](https://github.com/NousResearch/hermes-agent/pull/6428))
- Honcho — opt-in
initOnSessionStartfor 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))
- 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))
- 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
.logattachments, 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))
- 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))
- 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))
- 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_progressoverrides ([#6348](https://github.com/NousResearch/hermes-agent/pull/6348)) - Configurable 'still working' notification interval ([#8572](https://github.com/NousResearch/hermes-agent/pull/8572))
/modelswitch persists across messages ([#7081](https://github.com/NousResearch/hermes-agent/pull/7081))/usageshows 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.environsession state withcontextvars([#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))
- Termux / Android support — adapted install paths, TUI, voice,
/image([#6834](https://github.com/NousResearch/hermes-agent/pull/6834)) - Native
/modelpicker 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))
- 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_ipv4config 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_MODELenv var + migration to clear stale entries ([#6543](https://github.com/NousResearch/hermes-agent/pull/6543)) - Remove
/promptslash command — prefix expansion footgun ([#6752](https://github.com/NousResearch/hermes-agent/pull/6752)) HERMES_HOME_MODEenv 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))
- 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))
hermes mcp add --envand--presetsupport ([#7970](https://github.com/NousResearch/hermes-agent/pull/7970))- Combine
contentandstructuredContentwhen 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 hardening — dead code removal, caching, scroll perf, security, thread safety ([#7354](https://github.com/NousResearch/hermes-agent/pull/7354))
/browser connectauto-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))
- 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))
hermes dumpcommand 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_taskschema 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))
- 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))
- Twilio webhook signature validation — SMS RCE fix ([#7933](https://github.com/NousResearch/hermes-agent/pull/7933))
- Shell injection neutralization in
_write_to_sandboxvia 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_KEYfor 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))
- 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))
- 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
uvfor 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 updatealways 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:
setupSecretsoptional, 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
bootoutsoKeepAlivedoesn't respawn ([#7119](https://github.com/NousResearch/hermes-agent/pull/7119)) - Fix:
/modelswitch 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:
NoneTypein 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))
- 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 dumpandhermes logsCLI reference ([#6552](https://github.com/NousResearch/hermes-agent/pull/6552))tool_progress_overridesconfiguration 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))
- @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
---
🏗️ Core Agent & Architecture
Provider & Model Support
Agent Loop & Conversation
Memory & Sessions
---
📱 Messaging Platforms (Gateway)
New Platforms
Discord
Slack
Matrix
Gateway Core
---
🖥️ CLI & User Experience
Interactive CLI
Setup & Configuration
---
🔧 Tool System
Environments & Execution
MCP
Browser
Voice & Vision
Other Tools
---
🧩 Skills Ecosystem
---
🔒 Security & Reliability
Security Hardening
Reliability
Infrastructure
---
🐛 Notable Bug Fixes
---
📚 Documentation
---
👥 Contributors
269 merged PRs from 24 contributors across 487 commits.
Community Contributors
---
Full Changelog: [v2026.4.8...v2026.4.13](https://github.com/NousResearch/hermes-agent/compare/v2026.4.8...v2026.4.13)