chore(deps): update dependency nousresearch/hermes-agent to v2026.4.23 #15

Merged
mehalter merged 1 commit from renovate/nousresearch-hermes-agent-2026.x into main 2026-04-23 20:07:01 -04:00
Collaborator

This PR contains the following updates:

Package Update Change
NousResearch/hermes-agent patch v2026.4.16v2026.4.23

Release Notes

NousResearch/hermes-agent (NousResearch/hermes-agent)

v2026.4.23: Hermes Agent v0.11.0 (2026.4.23)

Compare Source

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, #​13347, #​13366, #​13430, #​13805, #​13814@​kshitijk4poor + Teknium)

  • Five new inference paths — Native NVIDIA NIM (#​11774), Arcee AI (#​9276), Step Plan (#​13893), Google Gemini CLI OAuth (#​11270), and Vercel ai-gateway with pricing + dynamic discovery (#​13223@​jerilynzheng). Plus Gemini routed through the native AI Studio API for better performance (#​12674).

  • GPT-5.5 over Codex OAuth — OpenAI's new GPT-5.5 reasoning model is now available through your ChatGPT Codex OAuth, with live model discovery wired into the model picker so new OpenAI releases show up without catalog updates. (#​14720)

  • QQBot — 17th supported platform — Native QQBot adapter via QQ Official API v2, with QR scan-to-configure setup wizard, streaming cursor, emoji reactions, and DM/group policy gating that matches WeCom/Weixin parity. (#​9364, #​11831)

  • Plugin surface expanded — Plugins can now register slash commands (register_command), dispatch tools directly (dispatch_tool), block tool execution from hooks (pre_tool_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, #​10626, #​10763, #​10951, #​12929, #​12944, #​12972, #​13799, #​14175)

  • /steer — mid-run agent nudges/steer <prompt> injects a note that the running agent sees after its next tool call, without interrupting the turn or breaking prompt cache. For when you want to course-correct an agent in-flight. (#​12116)

  • Shell hooks — Wire any shell script as a Hermes lifecycle hook (pre_tool_call, post_tool_call, on_session_start, etc.) without writing a Python plugin. (#​13296)

  • Webhook direct-delivery mode — Webhook subscriptions can now forward payloads straight to a platform chat without going through the agent — zero-LLM push notifications for alerting, uptime checks, and event streams. (#​12473)

  • Smarter delegation — Subagents now have an explicit 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, #​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, #​11900)

  • Dashboard plugin system + live theme switching — The web dashboard is now extensible. Third-party plugins can add custom tabs, widgets, and views without forking. Paired with a live-switching theme system — themes now control colors, fonts, layout, and density — so users can hot-swap the dashboard look without a reload. Same theming discipline the CLI has, now on the web. (#​10951, #​10687, #​14725)

  • Dashboard polish — i18n (English + Chinese), react-router sidebar layout, mobile-responsive, Vercel deployment, real per-session API call tracking, and one-click update + gateway restart buttons. (#​9228, #​9370, #​9453, #​10686, #​13526, #​14004@​austinpickett + @​DeployFaith + Teknium)


🏗️ Core Agent & Architecture

Transport Layer (NEW)
  • Transport ABC abstracts format conversion and HTTP transport from run_agent.py into agent/transports/ (#​13347)
  • AnthropicTransport — Anthropic Messages API path (#​13366, @​kshitijk4poor)
  • ChatCompletionsTransport — default path for OpenAI-compatible providers (#​13805)
  • ResponsesApiTransport — OpenAI Responses API + Codex build_kwargs wiring (#​13430, @​kshitijk4poor)
  • BedrockTransport — AWS Bedrock Converse API transport (#​13814)
Provider & Model Support
  • Native AWS Bedrock provider via Converse API (#​10549)
  • NVIDIA NIM native provider (salvage of #​11703) (#​11774)
  • Arcee AI direct provider (#​9276)
  • Step Plan provider (salvage #​6005) (#​13893, @​kshitijk4poor)
  • Google Gemini CLI OAuth inference provider (#​11270)
  • Vercel ai-gateway with pricing, attribution, and dynamic discovery (#​13223, @​jerilynzheng)
  • GPT-5.5 over Codex OAuth with live model discovery in the picker (#​14720)
  • Gemini routed through native AI Studio API (#​12674)
  • xAI Grok upgraded to Responses API (#​10783)
  • Ollama improvements — Cloud provider support, GLM continuation, think=false control, surrogate sanitization, /v1 hint (#​10782)
  • Kimi K2.6 across OpenRouter, Nous Portal, native Kimi, and HuggingFace (#​13148, #​13152, #​13169)
  • Kimi K2.5 promoted to first position in all model suggestion lists (#​11745, @​kshitijk4poor)
  • Xiaomi MiMo v2.5-pro + v2.5 on OpenRouter, Nous Portal, and native (#​14184, #​14635, @​kshitijk4poor)
  • GLM-5V-Turbo for coding plan (#​9907)
  • Claude Opus 4.7 in Nous Portal catalog (#​11398)
  • OpenRouter elephant-alpha in curated lists (#​9378)
  • OpenCode-Go — Kimi K2.6 and Qwen3.5/3.6 Plus in curated catalog (#​13429)
  • minimax/minimax-m2.5:free in OpenRouter catalog (#​13836)
  • /model merges models.dev entries for lesser-loved providers (#​14221)
  • Per-provider + per-model request_timeout_seconds config (#​12652)
  • Configurable API retry count via agent.api_max_retries (#​14730)
  • ctx_size context length key for Lemonade server (salvage #​8536) (#​14215)
  • Custom provider display name prompt (#​9420)
  • Recommendation badges on tool provider selection (#​9929)
  • Fix: correct GPT-5 family context lengths in fallback defaults (#​9309)
  • Fix: clamp minimal reasoning effort to low on Responses API (#​9429)
  • Fix: strip reasoning item IDs from Responses API input when store=False (#​10217)
  • Fix: OpenViking correct account default + commit session on /new and compress (#​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)
  • 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)
  • Orchestrator role + configurable spawn depth for delegate_task (default flat) (#​13691)
  • Cross-agent file state coordination for concurrent subagents (#​13718)
  • Compressor smart collapse, dedup, anti-thrashing, template upgrade, hardening (#​10088)
  • Compression summaries respect the conversation's language (#​12556)
  • Compression model falls back to main model on permanent 503/404 (#​10093)
  • Auto-continue interrupted agent work after gateway restart (#​9934)
  • Activity heartbeats prevent false gateway inactivity timeouts (#​10501)
  • Auxiliary models UI — dedicated screen for per-task overrides (#​11891)
  • Auxiliary auto routing defaults to main model for all users (#​11900)
  • PLATFORM_HINTS for Matrix, Mattermost, Feishu (#​14428, @​alt-glitch)
  • Fix: reset retry counters after compression; stop poisoning conversation history (#​10055)
  • Fix: break compression-exhaustion infinite loop and auto-reset session (#​10063)
  • Fix: stale agent timeout, uv venv detection, empty response after tools (#​10065)
  • Fix: prevent premature loop exit when weak models return empty after substantive tool calls (#​10472)
  • Fix: preserve pre-start terminal interrupts (#​10504)
  • Fix: improve interrupt responsiveness during concurrent tool execution (#​10935)
  • Fix: word-wrap spinner, interruptable agent join, and delegate_task interrupt (#​10940)
  • Fix: /stop no longer resets the session (#​9224)
  • Fix: honor interrupts during MCP tool waits (#​9382, @​helix4u)
  • Fix: break stuck session resume loops after repeated restarts (#​9941)
  • Fix: empty response nudge crash + placeholder leak to cron targets (#​11021)
  • Fix: streaming cursor sanitization to prevent message truncation (multiple PRs)
  • Fix: resolve context_length for plugin context engines (#​9238)
Session & Memory
  • Auto-prune old sessions + VACUUM state.db at startup (#​13861)
  • Honcho overhaul — context injection, 5-tool surface, cost safety, session isolation (#​10619)
  • Hindsight richer session-scoped retain metadata (salvage of #​6290) (#​13987)
  • Fix: deduplicate memory provider tools to prevent 400 on strict providers (#​10511)
  • Fix: discover user-installed memory providers from $HERMES_HOME/plugins/ (#​10529)
  • Fix: add on_memory_write bridge to sequential tool execution path (#​10507)
  • Fix: preserve session_id across previous_response_id chains in /v1/responses (#​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, @​OutThisLife)
  • Git branch in status bar cwd label (#​12305, @​OutThisLife)
  • Per-turn elapsed stopwatch in FaceTicker + done-in sys line (#​13105, @​OutThisLife)
  • Subagent spawn observability overlay (#​14045, @​OutThisLife)
  • Per-prompt elapsed stopwatch in status bar (#​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 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, #​11831)
Telegram
  • Dedicated TELEGRAM_PROXY env var + config.yaml proxy support (closes #​9414, #​6530, #​9074, #​7786) (#​10681)
  • ignored_threads config for Telegram groups (#​9530)
  • Config option to disable link previews (closes #​8728) (#​10610)
  • Auto-wrap markdown tables in code blocks (#​11794)
  • Fix: prevent duplicate replies when stream task is cancelled (#​9319)
  • Fix: prevent streaming cursor (▉) from appearing as standalone messages (#​9538)
  • Fix: retry transient tool sends + cold-boot budget (#​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)
  • DISCORD_ALLOWED_ROLES for role-based access control (#​11608)
  • Config option to disable slash commands (salvage #​13130) (#​14315)
  • Native send_animation for inline GIF playback (#​10283)
  • send_message Discord media attachments (#​10246)
  • /skill command group with category subcommands (#​9909)
  • Extract reply text from message references (#​9781)
Feishu
  • Intelligent reply on document comments with 3-tier access control (#​11898)
  • Show processing state via reactions on user messages (#​12927)
  • Preserve @​mention context for agent consumption (salvage #​13874) (#​14167)
DingTalk
  • require_mention + allowed_users gating (parity with Slack/Telegram/Discord) (#​11564)
  • QR-code device-flow authorization for setup wizard (#​11574)
  • AI Cards streaming, emoji reactions, and media handling (salvage of #​10985) (#​11910)
WhatsApp
  • send_voice — native audio message delivery (#​13002)
  • dm_policy and group_policy parity with WeCom/Weixin/QQ adapters (#​13151)
WeCom / Weixin
Signal
  • Media delivery support via send_message (#​13178)
Slack
  • Per-thread sessions for DMs by default (#​10987)
BlueBubbles (iMessage)
  • Group chat session separation, webhook registration & auth fixes (#​9806)
Gateway Core
  • Gateway proxy mode — forward messages to a remote API server (#​9787)
  • Per-channel ephemeral prompts (Discord, Telegram, Slack, Mattermost) (#​10564)
  • Surface plugin slash commands natively on all platforms + decision-capable command hook (#​14175)
  • Support document/archive extensions in MEDIA: tag extraction (salvage #​8255) (#​14307)
  • Recognize .pdf in MEDIA: tag extraction (#​13683)
  • --all flag for gateway start and restart (#​10043)
  • Notify active sessions on gateway shutdown + update health check (#​9850)
  • Block agent from self-destructing the gateway via terminal (closes #​6666) (#​9895)
  • Fix: suppress duplicate replies on interrupt and streaming flood control (#​10235)
  • Fix: close temporary agents after one-off tasks (#​11028, @​kshitijk4poor)
  • Fix: busy-session ack when user messages during active agent run (#​10068)
  • Fix: route watch-pattern notifications to the originating session (#​10460)
  • Fix: preserve notify context in executor threads (#​10921, @​kshitijk4poor)
  • Fix: avoid duplicate replies after interrupted long tasks (#​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)
  • dispatch_tool() — plugins can invoke tools from their code (#​10763)
  • pre_tool_call blocking — plugins can veto tool execution (#​9377)
  • transform_tool_result — plugins rewrite tool results generically (#​12972)
  • transform_terminal_output — plugins rewrite terminal tool output (#​12929)
  • Namespaced skill registration for plugin skill bundles (#​9786)
  • Opt-in-by-default + bundled disk-cleanup plugin (salvage #​12212) (#​12944)
  • Pluggable image_gen backends + OpenAI provider (#​13799)
  • openai-codex image_gen plugin (gpt-image-2 via Codex OAuth) (#​14317)
  • Shell hooks — wire shell scripts as hook callbacks (#​13296)
Browser
  • browser_cdp raw DevTools Protocol passthrough (#​12369)
  • Camofox hardening + connection stability across the window
Execute Code
  • Project/strict execution modes (default: project) (#​11971)
Image Generation
  • Multi-model FAL support with picker in hermes tools (#​11265)
  • Recraft V3 → V4 Pro, Nano Banana → Pro upgrades (#​11406)
  • GPT Image 2 in FAL catalog (#​13677)
  • xAI image generation provider (grok-imagine-image) (#​14765)
TTS / STT / Voice
Webhook / Cron
  • Webhook direct-delivery mode — zero-LLM push notifications (#​12473)
  • Cron wakeAgent gate — scripts can skip the agent entirely (#​12373)
  • Cron per-job enabled_toolsets — cap token overhead + cost per job (#​14767)
Delegate
  • Orchestrator role + configurable spawn depth (default flat) (#​13691)
  • Cross-agent file state coordination (#​13718)
File / Patch
  • patch — "did you mean?" feedback when patch fails to match (#​13435)
API Server
  • Stream /v1/responses SSE tool events (salvage #​9779) (#​10049)
  • Inline image inputs on /v1/chat/completions and /v1/responses (#​12969)
Docker / Podman
  • Entry-level Podman supportfind_docker() + rootless entrypoint (#​10066)
  • Add docker-cli to Docker image (salvage #​10096) (#​14232)
  • File-sync back to host on teardown (salvage of #​8189 + hardening) (#​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)
  • hermes skills reset to un-stick bundled skills (#​11468)
  • Skills guard opt-inconfig.skills.guard_agent_created (default off) (#​14557)
  • Bundled skill scripts runnable out of the box (#​13384)
  • xitter replaced with xurl — the official X API CLI (#​12303)
  • MiniMax-AI/cli as default skill tap (salvage #​7501) (#​14493)
  • Fuzzy @ file completions + mtime sorting (#​9467)
New Skills

📊 Web Dashboard


🖱️ CLI & User Experience

  • Dynamic shell completion for bash, zsh, and fish (#​9785)
  • Light-mode skins + skin-aware completion menus (#​9461)
  • Numbered keyboard shortcuts on approval and clarify prompts (#​13416)
  • Markdown stripping, compact multiline previews, external editor (#​12934)
  • --ignore-user-config and --ignore-rules flags (port codex#18646) (#​14277)
  • Account limits section in /usage (#​13428)
  • Doctor: Command Installation check for hermes bin symlink (#​10112)
  • ESC cancels secret/sudo prompts, clearer skip messaging (#​9902)
  • Fix: agent-facing text uses display_hermes_home() instead of hardcoded ~/.hermes (#​10285)
  • Fix: enforce config.yaml as sole CWD source + deprecate .env CWD vars + add hermes memory reset (#​11029)

🔒 Security & Reliability

  • Global toggle to allow private/internal URL resolution (#​14166)
  • Block agent from self-destructing the gateway via terminal (closes #​6666) (#​9895)
  • Telegram callback authorization on update prompts (#​10536)
  • SECURITY.md added (#​10532, @​I3eg1nner)
  • Warn about legacy hermes.service units during hermes update (#​11918)
  • Complete ASCII-locale UnicodeEncodeError recovery for api_messages/reasoning_content (closes #​6843) (#​10537)
  • Prevent stale os.environ leak after clear_session_vars (#​10527)
  • Prevent agent hang when backgrounding processes via terminal tool (#​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)
  • Gateway display.streaming root-config override regression (#​9799)
  • Context session_search coerces limit to int (prevents TypeError) (#​10522)
  • Memory tool stays available when fcntl is unavailable (Windows) (#​9783)
  • Trajectory compressor credentials load from HERMES_HOME/.env (#​9632, @​Dusk1e)
  • @_context_completions no longer crashes on @ mention (#​9683, @​kshitijk4poor)
  • Group session user_id no longer treated as thread_id in shutdown notifications (#​10546)
  • Telegram platform_hint — markdown is supported (closes #​8261) (#​10612)
  • Doctor checks for Kimi China credentials fixed
  • Streaming: don't suppress final response when commentary message is sent (#​10540)
  • Rapid Telegram follow-ups no longer get cut off

🧪 Testing & CI

  • Contributor attribution CI check on PRs (#​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
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


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [NousResearch/hermes-agent](https://github.com/NousResearch/hermes-agent) | patch | `v2026.4.16` → `v2026.4.23` | --- ### Release Notes <details> <summary>NousResearch/hermes-agent (NousResearch/hermes-agent)</summary> ### [`v2026.4.23`](https://github.com/NousResearch/hermes-agent/releases/tag/v2026.4.23): Hermes Agent v0.11.0 (2026.4.23) [Compare Source](https://github.com/NousResearch/hermes-agent/compare/v2026.4.16...v2026.4.23) ### Hermes Agent v0.11.0 (v2026.4.23) **Release Date:** April 23, 2026 **Since v0.9.0:** 1,556 commits · 761 merged PRs · 1,314 files changed · 224,174 insertions · 29 community contributors (290 including co-authors) > The Interface release — a full React/Ink rewrite of the interactive CLI, a pluggable transport architecture underneath every provider, native AWS Bedrock support, five new inference paths, a 17th messaging platform (QQBot), a dramatically expanded plugin surface, and GPT-5.5 via Codex OAuth. This release also folds in all the highlights deferred from v0.10.0 (which shipped only the Nous Tool Gateway) — so it covers roughly two weeks of work across the whole stack. *** #### ✨ Highlights - **New Ink-based TUI** — `hermes --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/`. ([@&#8203;OutThisLife](https://github.com/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. ([#&#8203;10549](https://github.com/NousResearch/hermes-agent/pull/10549), [#&#8203;13347](https://github.com/NousResearch/hermes-agent/pull/13347), [#&#8203;13366](https://github.com/NousResearch/hermes-agent/pull/13366), [#&#8203;13430](https://github.com/NousResearch/hermes-agent/pull/13430), [#&#8203;13805](https://github.com/NousResearch/hermes-agent/pull/13805), [#&#8203;13814](https://github.com/NousResearch/hermes-agent/pull/13814) — [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor) + Teknium) - **Five new inference paths** — Native NVIDIA NIM ([#&#8203;11774](https://github.com/NousResearch/hermes-agent/pull/11774)), Arcee AI ([#&#8203;9276](https://github.com/NousResearch/hermes-agent/pull/9276)), Step Plan ([#&#8203;13893](https://github.com/NousResearch/hermes-agent/pull/13893)), Google Gemini CLI OAuth ([#&#8203;11270](https://github.com/NousResearch/hermes-agent/pull/11270)), and Vercel ai-gateway with pricing + dynamic discovery ([#&#8203;13223](https://github.com/NousResearch/hermes-agent/pull/13223) — [@&#8203;jerilynzheng](https://github.com/jerilynzheng)). Plus Gemini routed through the native AI Studio API for better performance ([#&#8203;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. ([#&#8203;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. ([#&#8203;9364](https://github.com/NousResearch/hermes-agent/pull/9364), [#&#8203;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. ([#&#8203;9377](https://github.com/NousResearch/hermes-agent/pull/9377), [#&#8203;10626](https://github.com/NousResearch/hermes-agent/pull/10626), [#&#8203;10763](https://github.com/NousResearch/hermes-agent/pull/10763), [#&#8203;10951](https://github.com/NousResearch/hermes-agent/pull/10951), [#&#8203;12929](https://github.com/NousResearch/hermes-agent/pull/12929), [#&#8203;12944](https://github.com/NousResearch/hermes-agent/pull/12944), [#&#8203;12972](https://github.com/NousResearch/hermes-agent/pull/12972), [#&#8203;13799](https://github.com/NousResearch/hermes-agent/pull/13799), [#&#8203;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. ([#&#8203;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. ([#&#8203;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. ([#&#8203;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. ([#&#8203;13691](https://github.com/NousResearch/hermes-agent/pull/13691), [#&#8203;13718](https://github.com/NousResearch/hermes-agent/pull/13718)) - **Auxiliary models — configurable UI + main-model-first** — `hermes 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). ([#&#8203;11891](https://github.com/NousResearch/hermes-agent/pull/11891), [#&#8203;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. ([#&#8203;10951](https://github.com/NousResearch/hermes-agent/pull/10951), [#&#8203;10687](https://github.com/NousResearch/hermes-agent/pull/10687), [#&#8203;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. ([#&#8203;9228](https://github.com/NousResearch/hermes-agent/pull/9228), [#&#8203;9370](https://github.com/NousResearch/hermes-agent/pull/9370), [#&#8203;9453](https://github.com/NousResearch/hermes-agent/pull/9453), [#&#8203;10686](https://github.com/NousResearch/hermes-agent/pull/10686), [#&#8203;13526](https://github.com/NousResearch/hermes-agent/pull/13526), [#&#8203;14004](https://github.com/NousResearch/hermes-agent/pull/14004) — [@&#8203;austinpickett](https://github.com/austinpickett) + [@&#8203;DeployFaith](https://github.com/DeployFaith) + Teknium) *** #### 🏗️ Core Agent & Architecture ##### Transport Layer (NEW) - **Transport ABC** abstracts format conversion and HTTP transport from `run_agent.py` into `agent/transports/` ([#&#8203;13347](https://github.com/NousResearch/hermes-agent/pull/13347)) - **AnthropicTransport** — Anthropic Messages API path ([#&#8203;13366](https://github.com/NousResearch/hermes-agent/pull/13366), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - **ChatCompletionsTransport** — default path for OpenAI-compatible providers ([#&#8203;13805](https://github.com/NousResearch/hermes-agent/pull/13805)) - **ResponsesApiTransport** — OpenAI Responses API + Codex build\_kwargs wiring ([#&#8203;13430](https://github.com/NousResearch/hermes-agent/pull/13430), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - **BedrockTransport** — AWS Bedrock Converse API transport ([#&#8203;13814](https://github.com/NousResearch/hermes-agent/pull/13814)) ##### Provider & Model Support - **Native AWS Bedrock provider** via Converse API ([#&#8203;10549](https://github.com/NousResearch/hermes-agent/pull/10549)) - **NVIDIA NIM native provider** (salvage of [#&#8203;11703](https://github.com/NousResearch/hermes-agent/issues/11703)) ([#&#8203;11774](https://github.com/NousResearch/hermes-agent/pull/11774)) - **Arcee AI direct provider** ([#&#8203;9276](https://github.com/NousResearch/hermes-agent/pull/9276)) - **Step Plan provider** (salvage [#&#8203;6005](https://github.com/NousResearch/hermes-agent/issues/6005)) ([#&#8203;13893](https://github.com/NousResearch/hermes-agent/pull/13893), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - **Google Gemini CLI OAuth** inference provider ([#&#8203;11270](https://github.com/NousResearch/hermes-agent/pull/11270)) - **Vercel ai-gateway** with pricing, attribution, and dynamic discovery ([#&#8203;13223](https://github.com/NousResearch/hermes-agent/pull/13223), [@&#8203;jerilynzheng](https://github.com/jerilynzheng)) - **GPT-5.5 over Codex OAuth** with live model discovery in the picker ([#&#8203;14720](https://github.com/NousResearch/hermes-agent/pull/14720)) - **Gemini routed through native AI Studio API** ([#&#8203;12674](https://github.com/NousResearch/hermes-agent/pull/12674)) - **xAI Grok upgraded to Responses API** ([#&#8203;10783](https://github.com/NousResearch/hermes-agent/pull/10783)) - **Ollama improvements** — Cloud provider support, GLM continuation, `think=false` control, surrogate sanitization, `/v1` hint ([#&#8203;10782](https://github.com/NousResearch/hermes-agent/pull/10782)) - **Kimi K2.6** across OpenRouter, Nous Portal, native Kimi, and HuggingFace ([#&#8203;13148](https://github.com/NousResearch/hermes-agent/pull/13148), [#&#8203;13152](https://github.com/NousResearch/hermes-agent/pull/13152), [#&#8203;13169](https://github.com/NousResearch/hermes-agent/pull/13169)) - **Kimi K2.5** promoted to first position in all model suggestion lists ([#&#8203;11745](https://github.com/NousResearch/hermes-agent/pull/11745), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - **Xiaomi MiMo v2.5-pro + v2.5** on OpenRouter, Nous Portal, and native ([#&#8203;14184](https://github.com/NousResearch/hermes-agent/pull/14184), [#&#8203;14635](https://github.com/NousResearch/hermes-agent/pull/14635), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - **GLM-5V-Turbo** for coding plan ([#&#8203;9907](https://github.com/NousResearch/hermes-agent/pull/9907)) - **Claude Opus 4.7** in Nous Portal catalog ([#&#8203;11398](https://github.com/NousResearch/hermes-agent/pull/11398)) - **OpenRouter elephant-alpha** in curated lists ([#&#8203;9378](https://github.com/NousResearch/hermes-agent/pull/9378)) - **OpenCode-Go** — Kimi K2.6 and Qwen3.5/3.6 Plus in curated catalog ([#&#8203;13429](https://github.com/NousResearch/hermes-agent/pull/13429)) - **minimax/minimax-m2.5:free** in OpenRouter catalog ([#&#8203;13836](https://github.com/NousResearch/hermes-agent/pull/13836)) - **`/model` merges models.dev entries** for lesser-loved providers ([#&#8203;14221](https://github.com/NousResearch/hermes-agent/pull/14221)) - **Per-provider + per-model `request_timeout_seconds`** config ([#&#8203;12652](https://github.com/NousResearch/hermes-agent/pull/12652)) - **Configurable API retry count** via `agent.api_max_retries` ([#&#8203;14730](https://github.com/NousResearch/hermes-agent/pull/14730)) - **ctx\_size context length key** for Lemonade server (salvage [#&#8203;8536](https://github.com/NousResearch/hermes-agent/issues/8536)) ([#&#8203;14215](https://github.com/NousResearch/hermes-agent/pull/14215)) - **Custom provider display name prompt** ([#&#8203;9420](https://github.com/NousResearch/hermes-agent/pull/9420)) - **Recommendation badges** on tool provider selection ([#&#8203;9929](https://github.com/NousResearch/hermes-agent/pull/9929)) - Fix: correct GPT-5 family context lengths in fallback defaults ([#&#8203;9309](https://github.com/NousResearch/hermes-agent/pull/9309)) - Fix: clamp `minimal` reasoning effort to `low` on Responses API ([#&#8203;9429](https://github.com/NousResearch/hermes-agent/pull/9429)) - Fix: strip reasoning item IDs from Responses API input when `store=False` ([#&#8203;10217](https://github.com/NousResearch/hermes-agent/pull/10217)) - Fix: OpenViking correct account default + commit session on `/new` and compress ([#&#8203;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 ([#&#8203;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 ([#&#8203;12116](https://github.com/NousResearch/hermes-agent/pull/12116)) - **Orchestrator role + configurable spawn depth** for `delegate_task` (default flat) ([#&#8203;13691](https://github.com/NousResearch/hermes-agent/pull/13691)) - **Cross-agent file state coordination** for concurrent subagents ([#&#8203;13718](https://github.com/NousResearch/hermes-agent/pull/13718)) - **Compressor smart collapse, dedup, anti-thrashing**, template upgrade, hardening ([#&#8203;10088](https://github.com/NousResearch/hermes-agent/pull/10088)) - **Compression summaries respect the conversation's language** ([#&#8203;12556](https://github.com/NousResearch/hermes-agent/pull/12556)) - **Compression model falls back to main model** on permanent 503/404 ([#&#8203;10093](https://github.com/NousResearch/hermes-agent/pull/10093)) - **Auto-continue interrupted agent work** after gateway restart ([#&#8203;9934](https://github.com/NousResearch/hermes-agent/pull/9934)) - **Activity heartbeats** prevent false gateway inactivity timeouts ([#&#8203;10501](https://github.com/NousResearch/hermes-agent/pull/10501)) - **Auxiliary models UI** — dedicated screen for per-task overrides ([#&#8203;11891](https://github.com/NousResearch/hermes-agent/pull/11891)) - **Auxiliary auto routing defaults to main model** for all users ([#&#8203;11900](https://github.com/NousResearch/hermes-agent/pull/11900)) - **PLATFORM\_HINTS for Matrix, Mattermost, Feishu** ([#&#8203;14428](https://github.com/NousResearch/hermes-agent/pull/14428), [@&#8203;alt-glitch](https://github.com/alt-glitch)) - Fix: reset retry counters after compression; stop poisoning conversation history ([#&#8203;10055](https://github.com/NousResearch/hermes-agent/pull/10055)) - Fix: break compression-exhaustion infinite loop and auto-reset session ([#&#8203;10063](https://github.com/NousResearch/hermes-agent/pull/10063)) - Fix: stale agent timeout, uv venv detection, empty response after tools ([#&#8203;10065](https://github.com/NousResearch/hermes-agent/pull/10065)) - Fix: prevent premature loop exit when weak models return empty after substantive tool calls ([#&#8203;10472](https://github.com/NousResearch/hermes-agent/pull/10472)) - Fix: preserve pre-start terminal interrupts ([#&#8203;10504](https://github.com/NousResearch/hermes-agent/pull/10504)) - Fix: improve interrupt responsiveness during concurrent tool execution ([#&#8203;10935](https://github.com/NousResearch/hermes-agent/pull/10935)) - Fix: word-wrap spinner, interruptable agent join, and delegate\_task interrupt ([#&#8203;10940](https://github.com/NousResearch/hermes-agent/pull/10940)) - Fix: `/stop` no longer resets the session ([#&#8203;9224](https://github.com/NousResearch/hermes-agent/pull/9224)) - Fix: honor interrupts during MCP tool waits ([#&#8203;9382](https://github.com/NousResearch/hermes-agent/pull/9382), [@&#8203;helix4u](https://github.com/helix4u)) - Fix: break stuck session resume loops after repeated restarts ([#&#8203;9941](https://github.com/NousResearch/hermes-agent/pull/9941)) - Fix: empty response nudge crash + placeholder leak to cron targets ([#&#8203;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 ([#&#8203;9238](https://github.com/NousResearch/hermes-agent/pull/9238)) ##### Session & Memory - **Auto-prune old sessions + VACUUM state.db** at startup ([#&#8203;13861](https://github.com/NousResearch/hermes-agent/pull/13861)) - **Honcho overhaul** — context injection, 5-tool surface, cost safety, session isolation ([#&#8203;10619](https://github.com/NousResearch/hermes-agent/pull/10619)) - **Hindsight richer session-scoped retain metadata** (salvage of [#&#8203;6290](https://github.com/NousResearch/hermes-agent/issues/6290)) ([#&#8203;13987](https://github.com/NousResearch/hermes-agent/pull/13987)) - Fix: deduplicate memory provider tools to prevent 400 on strict providers ([#&#8203;10511](https://github.com/NousResearch/hermes-agent/pull/10511)) - Fix: discover user-installed memory providers from `$HERMES_HOME/plugins/` ([#&#8203;10529](https://github.com/NousResearch/hermes-agent/pull/10529)) - Fix: add `on_memory_write` bridge to sequential tool execution path ([#&#8203;10507](https://github.com/NousResearch/hermes-agent/pull/10507)) - Fix: preserve `session_id` across `previous_response_id` chains in `/v1/responses` ([#&#8203;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** ([#&#8203;12312](https://github.com/NousResearch/hermes-agent/pull/12312), [@&#8203;OutThisLife](https://github.com/OutThisLife)) - **Git branch in status bar** cwd label ([#&#8203;12305](https://github.com/NousResearch/hermes-agent/pull/12305), [@&#8203;OutThisLife](https://github.com/OutThisLife)) - **Per-turn elapsed stopwatch in FaceTicker + done-in sys line** ([#&#8203;13105](https://github.com/NousResearch/hermes-agent/pull/13105), [@&#8203;OutThisLife](https://github.com/OutThisLife)) - **Subagent spawn observability overlay** ([#&#8203;14045](https://github.com/NousResearch/hermes-agent/pull/14045), [@&#8203;OutThisLife](https://github.com/OutThisLife)) - **Per-prompt elapsed stopwatch in status bar** ([#&#8203;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` ([#&#8203;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 ([#&#8203;9364](https://github.com/NousResearch/hermes-agent/pull/9364), [#&#8203;11831](https://github.com/NousResearch/hermes-agent/pull/11831)) ##### Telegram - **Dedicated `TELEGRAM_PROXY` env var + config.yaml proxy support** (closes [#&#8203;9414](https://github.com/NousResearch/hermes-agent/issues/9414), [#&#8203;6530](https://github.com/NousResearch/hermes-agent/issues/6530), [#&#8203;9074](https://github.com/NousResearch/hermes-agent/issues/9074), [#&#8203;7786](https://github.com/NousResearch/hermes-agent/issues/7786)) ([#&#8203;10681](https://github.com/NousResearch/hermes-agent/pull/10681)) - **`ignored_threads` config** for Telegram groups ([#&#8203;9530](https://github.com/NousResearch/hermes-agent/pull/9530)) - **Config option to disable link previews** (closes [#&#8203;8728](https://github.com/NousResearch/hermes-agent/issues/8728)) ([#&#8203;10610](https://github.com/NousResearch/hermes-agent/pull/10610)) - **Auto-wrap markdown tables** in code blocks ([#&#8203;11794](https://github.com/NousResearch/hermes-agent/pull/11794)) - Fix: prevent duplicate replies when stream task is cancelled ([#&#8203;9319](https://github.com/NousResearch/hermes-agent/pull/9319)) - Fix: prevent streaming cursor (▉) from appearing as standalone messages ([#&#8203;9538](https://github.com/NousResearch/hermes-agent/pull/9538)) - Fix: retry transient tool sends + cold-boot budget ([#&#8203;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 [#&#8203;10145](https://github.com/NousResearch/hermes-agent/issues/10145) + media + polish) ([#&#8203;11920](https://github.com/NousResearch/hermes-agent/pull/11920)) - **`DISCORD_ALLOWED_ROLES`** for role-based access control ([#&#8203;11608](https://github.com/NousResearch/hermes-agent/pull/11608)) - **Config option to disable slash commands** (salvage [#&#8203;13130](https://github.com/NousResearch/hermes-agent/issues/13130)) ([#&#8203;14315](https://github.com/NousResearch/hermes-agent/pull/14315)) - **Native `send_animation`** for inline GIF playback ([#&#8203;10283](https://github.com/NousResearch/hermes-agent/pull/10283)) - **`send_message` Discord media attachments** ([#&#8203;10246](https://github.com/NousResearch/hermes-agent/pull/10246)) - **`/skill` command group** with category subcommands ([#&#8203;9909](https://github.com/NousResearch/hermes-agent/pull/9909)) - **Extract reply text from message references** ([#&#8203;9781](https://github.com/NousResearch/hermes-agent/pull/9781)) ##### Feishu - **Intelligent reply on document comments** with 3-tier access control ([#&#8203;11898](https://github.com/NousResearch/hermes-agent/pull/11898)) - **Show processing state via reactions** on user messages ([#&#8203;12927](https://github.com/NousResearch/hermes-agent/pull/12927)) - **Preserve @&#8203;mention context for agent consumption** (salvage [#&#8203;13874](https://github.com/NousResearch/hermes-agent/issues/13874)) ([#&#8203;14167](https://github.com/NousResearch/hermes-agent/pull/14167)) ##### DingTalk - **`require_mention` + `allowed_users` gating** (parity with Slack/Telegram/Discord) ([#&#8203;11564](https://github.com/NousResearch/hermes-agent/pull/11564)) - **QR-code device-flow authorization** for setup wizard ([#&#8203;11574](https://github.com/NousResearch/hermes-agent/pull/11574)) - **AI Cards streaming, emoji reactions, and media handling** (salvage of [#&#8203;10985](https://github.com/NousResearch/hermes-agent/issues/10985)) ([#&#8203;11910](https://github.com/NousResearch/hermes-agent/pull/11910)) ##### WhatsApp - **`send_voice`** — native audio message delivery ([#&#8203;13002](https://github.com/NousResearch/hermes-agent/pull/13002)) - **`dm_policy` and `group_policy`** parity with WeCom/Weixin/QQ adapters ([#&#8203;13151](https://github.com/NousResearch/hermes-agent/pull/13151)) ##### WeCom / Weixin - **WeCom QR-scan bot creation + interactive setup wizard** (salvage [#&#8203;13923](https://github.com/NousResearch/hermes-agent/issues/13923)) ([#&#8203;13961](https://github.com/NousResearch/hermes-agent/pull/13961)) ##### Signal - **Media delivery support** via `send_message` ([#&#8203;13178](https://github.com/NousResearch/hermes-agent/pull/13178)) ##### Slack - **Per-thread sessions for DMs by default** ([#&#8203;10987](https://github.com/NousResearch/hermes-agent/pull/10987)) ##### BlueBubbles (iMessage) - Group chat session separation, webhook registration & auth fixes ([#&#8203;9806](https://github.com/NousResearch/hermes-agent/pull/9806)) ##### Gateway Core - **Gateway proxy mode** — forward messages to a remote API server ([#&#8203;9787](https://github.com/NousResearch/hermes-agent/pull/9787)) - **Per-channel ephemeral prompts** (Discord, Telegram, Slack, Mattermost) ([#&#8203;10564](https://github.com/NousResearch/hermes-agent/pull/10564)) - **Surface plugin slash commands** natively on all platforms + decision-capable command hook ([#&#8203;14175](https://github.com/NousResearch/hermes-agent/pull/14175)) - **Support document/archive extensions in MEDIA: tag extraction** (salvage [#&#8203;8255](https://github.com/NousResearch/hermes-agent/issues/8255)) ([#&#8203;14307](https://github.com/NousResearch/hermes-agent/pull/14307)) - **Recognize `.pdf` in MEDIA: tag extraction** ([#&#8203;13683](https://github.com/NousResearch/hermes-agent/pull/13683)) - **`--all` flag for `gateway start` and `restart`** ([#&#8203;10043](https://github.com/NousResearch/hermes-agent/pull/10043)) - **Notify active sessions on gateway shutdown** + update health check ([#&#8203;9850](https://github.com/NousResearch/hermes-agent/pull/9850)) - **Block agent from self-destructing the gateway** via terminal (closes [#&#8203;6666](https://github.com/NousResearch/hermes-agent/issues/6666)) ([#&#8203;9895](https://github.com/NousResearch/hermes-agent/pull/9895)) - Fix: suppress duplicate replies on interrupt and streaming flood control ([#&#8203;10235](https://github.com/NousResearch/hermes-agent/pull/10235)) - Fix: close temporary agents after one-off tasks ([#&#8203;11028](https://github.com/NousResearch/hermes-agent/pull/11028), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - Fix: busy-session ack when user messages during active agent run ([#&#8203;10068](https://github.com/NousResearch/hermes-agent/pull/10068)) - Fix: route watch-pattern notifications to the originating session ([#&#8203;10460](https://github.com/NousResearch/hermes-agent/pull/10460)) - Fix: preserve notify context in executor threads ([#&#8203;10921](https://github.com/NousResearch/hermes-agent/pull/10921), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - Fix: avoid duplicate replies after interrupted long tasks ([#&#8203;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 ([#&#8203;10626](https://github.com/NousResearch/hermes-agent/pull/10626)) - **`dispatch_tool()`** — plugins can invoke tools from their code ([#&#8203;10763](https://github.com/NousResearch/hermes-agent/pull/10763)) - **`pre_tool_call` blocking** — plugins can veto tool execution ([#&#8203;9377](https://github.com/NousResearch/hermes-agent/pull/9377)) - **`transform_tool_result`** — plugins rewrite tool results generically ([#&#8203;12972](https://github.com/NousResearch/hermes-agent/pull/12972)) - **`transform_terminal_output`** — plugins rewrite terminal tool output ([#&#8203;12929](https://github.com/NousResearch/hermes-agent/pull/12929)) - **Namespaced skill registration** for plugin skill bundles ([#&#8203;9786](https://github.com/NousResearch/hermes-agent/pull/9786)) - **Opt-in-by-default + bundled disk-cleanup plugin** (salvage [#&#8203;12212](https://github.com/NousResearch/hermes-agent/issues/12212)) ([#&#8203;12944](https://github.com/NousResearch/hermes-agent/pull/12944)) - **Pluggable `image_gen` backends + OpenAI provider** ([#&#8203;13799](https://github.com/NousResearch/hermes-agent/pull/13799)) - **`openai-codex` image\_gen plugin** (gpt-image-2 via Codex OAuth) ([#&#8203;14317](https://github.com/NousResearch/hermes-agent/pull/14317)) - **Shell hooks** — wire shell scripts as hook callbacks ([#&#8203;13296](https://github.com/NousResearch/hermes-agent/pull/13296)) ##### Browser - **`browser_cdp` raw DevTools Protocol passthrough** ([#&#8203;12369](https://github.com/NousResearch/hermes-agent/pull/12369)) - Camofox hardening + connection stability across the window ##### Execute Code - **Project/strict execution modes** (default: project) ([#&#8203;11971](https://github.com/NousResearch/hermes-agent/pull/11971)) ##### Image Generation - **Multi-model FAL support** with picker in `hermes tools` ([#&#8203;11265](https://github.com/NousResearch/hermes-agent/pull/11265)) - **Recraft V3 → V4 Pro, Nano Banana → Pro upgrades** ([#&#8203;11406](https://github.com/NousResearch/hermes-agent/pull/11406)) - **GPT Image 2** in FAL catalog ([#&#8203;13677](https://github.com/NousResearch/hermes-agent/pull/13677)) - **xAI image generation provider** (grok-imagine-image) ([#&#8203;14765](https://github.com/NousResearch/hermes-agent/pull/14765)) ##### TTS / STT / Voice - **Google Gemini TTS provider** ([#&#8203;11229](https://github.com/NousResearch/hermes-agent/pull/11229)) - **xAI Grok STT provider** ([#&#8203;14473](https://github.com/NousResearch/hermes-agent/pull/14473)) - **xAI TTS** (shipped with Responses API upgrade) ([#&#8203;10783](https://github.com/NousResearch/hermes-agent/pull/10783)) - **KittenTTS local provider** (salvage of [#&#8203;2109](https://github.com/NousResearch/hermes-agent/issues/2109)) ([#&#8203;13395](https://github.com/NousResearch/hermes-agent/pull/13395)) - **CLI record beep toggle** ([#&#8203;13247](https://github.com/NousResearch/hermes-agent/pull/13247), [@&#8203;helix4u](https://github.com/helix4u)) ##### Webhook / Cron - **Webhook direct-delivery mode** — zero-LLM push notifications ([#&#8203;12473](https://github.com/NousResearch/hermes-agent/pull/12473)) - **Cron `wakeAgent` gate** — scripts can skip the agent entirely ([#&#8203;12373](https://github.com/NousResearch/hermes-agent/pull/12373)) - **Cron per-job `enabled_toolsets`** — cap token overhead + cost per job ([#&#8203;14767](https://github.com/NousResearch/hermes-agent/pull/14767)) ##### Delegate - **Orchestrator role** + configurable spawn depth (default flat) ([#&#8203;13691](https://github.com/NousResearch/hermes-agent/pull/13691)) - **Cross-agent file state coordination** ([#&#8203;13718](https://github.com/NousResearch/hermes-agent/pull/13718)) ##### File / Patch - **`patch` — "did you mean?" feedback** when patch fails to match ([#&#8203;13435](https://github.com/NousResearch/hermes-agent/pull/13435)) ##### API Server - **Stream `/v1/responses` SSE tool events** (salvage [#&#8203;9779](https://github.com/NousResearch/hermes-agent/issues/9779)) ([#&#8203;10049](https://github.com/NousResearch/hermes-agent/pull/10049)) - **Inline image inputs** on `/v1/chat/completions` and `/v1/responses` ([#&#8203;12969](https://github.com/NousResearch/hermes-agent/pull/12969)) ##### Docker / Podman - **Entry-level Podman support** — `find_docker()` + rootless entrypoint ([#&#8203;10066](https://github.com/NousResearch/hermes-agent/pull/10066)) - **Add docker-cli to Docker image** (salvage [#&#8203;10096](https://github.com/NousResearch/hermes-agent/issues/10096)) ([#&#8203;14232](https://github.com/NousResearch/hermes-agent/pull/14232)) - **File-sync back to host on teardown** (salvage of [#&#8203;8189](https://github.com/NousResearch/hermes-agent/issues/8189) + hardening) ([#&#8203;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 ([#&#8203;9786](https://github.com/NousResearch/hermes-agent/pull/9786)) - **`hermes skills reset`** to un-stick bundled skills ([#&#8203;11468](https://github.com/NousResearch/hermes-agent/pull/11468)) - **Skills guard opt-in** — `config.skills.guard_agent_created` (default off) ([#&#8203;14557](https://github.com/NousResearch/hermes-agent/pull/14557)) - **Bundled skill scripts runnable out of the box** ([#&#8203;13384](https://github.com/NousResearch/hermes-agent/pull/13384)) - **`xitter` replaced with `xurl`** — the official X API CLI ([#&#8203;12303](https://github.com/NousResearch/hermes-agent/pull/12303)) - **MiniMax-AI/cli as default skill tap** (salvage [#&#8203;7501](https://github.com/NousResearch/hermes-agent/issues/7501)) ([#&#8203;14493](https://github.com/NousResearch/hermes-agent/pull/14493)) - **Fuzzy `@` file completions + mtime sorting** ([#&#8203;9467](https://github.com/NousResearch/hermes-agent/pull/9467)) ##### New Skills - **concept-diagrams** (salvage of [#&#8203;11045](https://github.com/NousResearch/hermes-agent/issues/11045), [@&#8203;v1k22](https://github.com/v1k22)) ([#&#8203;11363](https://github.com/NousResearch/hermes-agent/pull/11363)) - **architecture-diagram** (Cocoon AI port) ([#&#8203;9906](https://github.com/NousResearch/hermes-agent/pull/9906)) - **pixel-art** with hardware palettes and video animation ([#&#8203;12663](https://github.com/NousResearch/hermes-agent/pull/12663), [#&#8203;12725](https://github.com/NousResearch/hermes-agent/pull/12725)) - **baoyu-comic** ([#&#8203;13257](https://github.com/NousResearch/hermes-agent/pull/13257), [@&#8203;JimLiu](https://github.com/JimLiu)) - **baoyu-infographic** — 21 layouts × 21 styles (salvage [#&#8203;9901](https://github.com/NousResearch/hermes-agent/issues/9901)) ([#&#8203;12254](https://github.com/NousResearch/hermes-agent/pull/12254)) - **page-agent** — embed Alibaba's in-page GUI agent in your webapp ([#&#8203;13976](https://github.com/NousResearch/hermes-agent/pull/13976)) - **fitness-nutrition** optional skill + optional env var support ([#&#8203;9355](https://github.com/NousResearch/hermes-agent/pull/9355)) - **drug-discovery** — ChEMBL, PubChem, OpenFDA, ADMET ([#&#8203;9443](https://github.com/NousResearch/hermes-agent/pull/9443)) - **touchdesigner-mcp** (salvage of [#&#8203;10081](https://github.com/NousResearch/hermes-agent/issues/10081)) ([#&#8203;12298](https://github.com/NousResearch/hermes-agent/pull/12298)) - **adversarial-ux-test** optional skill (salvage of [#&#8203;2494](https://github.com/NousResearch/hermes-agent/issues/2494), [@&#8203;omnissiah-comelse](https://github.com/omnissiah-comelse)) ([#&#8203;13425](https://github.com/NousResearch/hermes-agent/pull/13425)) - **maps** — added `guest_house`, `camp_site`, and dual-key bakery lookup ([#&#8203;13398](https://github.com/NousResearch/hermes-agent/pull/13398)) - **llm-wiki** — port provenance markers, source hashing, and quality signals ([#&#8203;13700](https://github.com/NousResearch/hermes-agent/pull/13700)) *** #### 📊 Web Dashboard - **i18n (English + Chinese) language switcher** ([#&#8203;9453](https://github.com/NousResearch/hermes-agent/pull/9453)) - **Live-switching theme system** ([#&#8203;10687](https://github.com/NousResearch/hermes-agent/pull/10687)) - **Dashboard plugin system** — extend the web UI with custom tabs ([#&#8203;10951](https://github.com/NousResearch/hermes-agent/pull/10951)) - **react-router, sidebar layout, sticky header, dropdown component** ([#&#8203;9370](https://github.com/NousResearch/hermes-agent/pull/9370), [@&#8203;austinpickett](https://github.com/austinpickett)) - **Responsive for mobile** ([#&#8203;9228](https://github.com/NousResearch/hermes-agent/pull/9228), [@&#8203;DeployFaith](https://github.com/DeployFaith)) - **Vercel deployment** ([#&#8203;10686](https://github.com/NousResearch/hermes-agent/pull/10686), [#&#8203;11061](https://github.com/NousResearch/hermes-agent/pull/11061), [@&#8203;austinpickett](https://github.com/austinpickett)) - **Context window config support** ([#&#8203;9357](https://github.com/NousResearch/hermes-agent/pull/9357)) - **HTTP health probe for cross-container gateway detection** ([#&#8203;9894](https://github.com/NousResearch/hermes-agent/pull/9894)) - **Update + restart gateway buttons** ([#&#8203;13526](https://github.com/NousResearch/hermes-agent/pull/13526), [@&#8203;austinpickett](https://github.com/austinpickett)) - **Real API call count per session** (salvages [#&#8203;10140](https://github.com/NousResearch/hermes-agent/issues/10140)) ([#&#8203;14004](https://github.com/NousResearch/hermes-agent/pull/14004)) *** #### 🖱️ CLI & User Experience - **Dynamic shell completion for bash, zsh, and fish** ([#&#8203;9785](https://github.com/NousResearch/hermes-agent/pull/9785)) - **Light-mode skins + skin-aware completion menus** ([#&#8203;9461](https://github.com/NousResearch/hermes-agent/pull/9461)) - **Numbered keyboard shortcuts** on approval and clarify prompts ([#&#8203;13416](https://github.com/NousResearch/hermes-agent/pull/13416)) - **Markdown stripping, compact multiline previews, external editor** ([#&#8203;12934](https://github.com/NousResearch/hermes-agent/pull/12934)) - **`--ignore-user-config` and `--ignore-rules` flags** (port [codex#18646](https://github.com/codex/hermes-agent/issues/18646)) ([#&#8203;14277](https://github.com/NousResearch/hermes-agent/pull/14277)) - **Account limits section in `/usage`** ([#&#8203;13428](https://github.com/NousResearch/hermes-agent/pull/13428)) - **Doctor: Command Installation check** for `hermes` bin symlink ([#&#8203;10112](https://github.com/NousResearch/hermes-agent/pull/10112)) - **ESC cancels secret/sudo prompts**, clearer skip messaging ([#&#8203;9902](https://github.com/NousResearch/hermes-agent/pull/9902)) - Fix: agent-facing text uses `display_hermes_home()` instead of hardcoded `~/.hermes` ([#&#8203;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` ([#&#8203;11029](https://github.com/NousResearch/hermes-agent/pull/11029)) *** #### 🔒 Security & Reliability - **Global toggle to allow private/internal URL resolution** ([#&#8203;14166](https://github.com/NousResearch/hermes-agent/pull/14166)) - **Block agent from self-destructing the gateway** via terminal (closes [#&#8203;6666](https://github.com/NousResearch/hermes-agent/issues/6666)) ([#&#8203;9895](https://github.com/NousResearch/hermes-agent/pull/9895)) - **Telegram callback authorization** on update prompts ([#&#8203;10536](https://github.com/NousResearch/hermes-agent/pull/10536)) - **SECURITY.md** added ([#&#8203;10532](https://github.com/NousResearch/hermes-agent/pull/10532), [@&#8203;I3eg1nner](https://github.com/I3eg1nner)) - **Warn about legacy hermes.service units** during `hermes update` ([#&#8203;11918](https://github.com/NousResearch/hermes-agent/pull/11918)) - **Complete ASCII-locale UnicodeEncodeError recovery** for `api_messages`/`reasoning_content` (closes [#&#8203;6843](https://github.com/NousResearch/hermes-agent/issues/6843)) ([#&#8203;10537](https://github.com/NousResearch/hermes-agent/pull/10537)) - **Prevent stale `os.environ` leak** after `clear_session_vars` ([#&#8203;10527](https://github.com/NousResearch/hermes-agent/pull/10527)) - **Prevent agent hang when backgrounding processes** via terminal tool ([#&#8203;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 ([#&#8203;9408](https://github.com/NousResearch/hermes-agent/pull/9408)) - Gateway display.streaming root-config override regression ([#&#8203;9799](https://github.com/NousResearch/hermes-agent/pull/9799)) - Context `session_search` coerces limit to int (prevents TypeError) ([#&#8203;10522](https://github.com/NousResearch/hermes-agent/pull/10522)) - Memory tool stays available when `fcntl` is unavailable (Windows) ([#&#8203;9783](https://github.com/NousResearch/hermes-agent/pull/9783)) - Trajectory compressor credentials load from `HERMES_HOME/.env` ([#&#8203;9632](https://github.com/NousResearch/hermes-agent/pull/9632), [@&#8203;Dusk1e](https://github.com/Dusk1e)) - `@_context_completions` no longer crashes on `@` mention ([#&#8203;9683](https://github.com/NousResearch/hermes-agent/pull/9683), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)) - Group session `user_id` no longer treated as `thread_id` in shutdown notifications ([#&#8203;10546](https://github.com/NousResearch/hermes-agent/pull/10546)) - Telegram `platform_hint` — markdown is supported (closes [#&#8203;8261](https://github.com/NousResearch/hermes-agent/issues/8261)) ([#&#8203;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 ([#&#8203;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 ([#&#8203;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 - **[@&#8203;teknium1](https://github.com/teknium1)** (Teknium) ##### Top Community Contributors (by merged PR count) - **[@&#8203;kshitijk4poor](https://github.com/kshitijk4poor)** — 49 PRs · Transport refactor (AnthropicTransport, ResponsesApiTransport), Step Plan provider, Xiaomi MiMo v2.5 support, numerous gateway fixes, promoted Kimi K2.5, @&#8203; mention crash fix - **[@&#8203;OutThisLife](https://github.com/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 - **[@&#8203;helix4u](https://github.com/helix4u)** — 11 PRs · Voice CLI record beep, MCP tool interrupt handling, assorted stability fixes - **[@&#8203;austinpickett](https://github.com/austinpickett)** — 8 PRs · Dashboard react-router + sidebar + sticky header + dropdown, Vercel deployment, update + restart buttons - **[@&#8203;alt-glitch](https://github.com/alt-glitch)** — 8 PRs · PLATFORM\_HINTS for Matrix/Mattermost/Feishu, Matrix fixes - **[@&#8203;ethernet8023](https://github.com/ethernet8023)** — 3 PRs - **[@&#8203;benbarclay](https://github.com/benbarclay)** — 3 PRs - **[@&#8203;Aslaaen](https://github.com/Aslaaen)** — 2 PRs ##### Also contributing [@&#8203;jerilynzheng](https://github.com/jerilynzheng) (ai-gateway pricing), [@&#8203;JimLiu](https://github.com/JimLiu) (baoyu-comic skill), [@&#8203;Dusk1e](https://github.com/Dusk1e) (trajectory compressor credentials), [@&#8203;DeployFaith](https://github.com/DeployFaith) (mobile-responsive dashboard), [@&#8203;LeonSGP43](https://github.com/LeonSGP43), [@&#8203;v1k22](https://github.com/v1k22) (concept-diagrams), [@&#8203;omnissiah-comelse](https://github.com/omnissiah-comelse) (adversarial-ux-test), [@&#8203;coekfung](https://github.com/coekfung) (Telegram MarkdownV2 expandable blockquotes), [@&#8203;liftaris](https://github.com/liftaris) (TUI provider resolution), [@&#8203;arihantsethia](https://github.com/arihantsethia) (skill analytics dashboard), [@&#8203;topcheer](https://github.com/topcheer) + [@&#8203;xing8star](https://github.com/xing8star) (QQBot foundation), [@&#8203;kovyrin](https://github.com/kovyrin), [@&#8203;I3eg1nner](https://github.com/I3eg1nner) (SECURITY.md), [@&#8203;PeterBerthelsen](https://github.com/PeterBerthelsen), [@&#8203;lengxii](https://github.com/lengxii), [@&#8203;priveperfumes](https://github.com/priveperfumes), [@&#8203;sjz-ks](https://github.com/sjz-ks), [@&#8203;cuyua9](https://github.com/cuyua9), [@&#8203;Disaster-Terminator](https://github.com/Disaster-Terminator), [@&#8203;leozeli](https://github.com/leozeli), [@&#8203;LehaoLin](https://github.com/LehaoLin), [@&#8203;trevthefoolish](https://github.com/trevthefoolish), [@&#8203;loongfay](https://github.com/loongfay), [@&#8203;MrNiceRicee](https://github.com/MrNiceRicee), [@&#8203;WideLee](https://github.com/WideLee), [@&#8203;bluefishs](https://github.com/bluefishs), [@&#8203;malaiwah](https://github.com/malaiwah), [@&#8203;bobashopcashier](https://github.com/bobashopcashier), [@&#8203;dsocolobsky](https://github.com/dsocolobsky), [@&#8203;iamagenius00](https://github.com/iamagenius00), [@&#8203;IAvecilla](https://github.com/IAvecilla), [@&#8203;aniruddhaadak80](https://github.com/aniruddhaadak80), [@&#8203;Es1la](https://github.com/Es1la), [@&#8203;asheriif](https://github.com/asheriif), [@&#8203;walli](https://github.com/walli), [@&#8203;jquesnelle](https://github.com/jquesnelle) (original Tool Gateway work). ##### All Contributors (alphabetical) [@&#8203;0xyg3n](https://github.com/0xyg3n), [@&#8203;10ishq](https://github.com/10ishq), [@&#8203;A-afflatus](https://github.com/A-afflatus), [@&#8203;Abnertheforeman](https://github.com/Abnertheforeman), [@&#8203;admin28980](https://github.com/admin28980), [@&#8203;adybag14-cyber](https://github.com/adybag14-cyber), [@&#8203;akhater](https://github.com/akhater), [@&#8203;alexzhu0](https://github.com/alexzhu0), [@&#8203;AllardQuek](https://github.com/AllardQuek), [@&#8203;alt-glitch](https://github.com/alt-glitch), [@&#8203;aniruddhaadak80](https://github.com/aniruddhaadak80), [@&#8203;anna-oake](https://github.com/anna-oake), [@&#8203;anniesurla](https://github.com/anniesurla), [@&#8203;anthhub](https://github.com/anthhub), [@&#8203;areu01or00](https://github.com/areu01or00), [@&#8203;arihantsethia](https://github.com/arihantsethia), [@&#8203;arthurbr11](https://github.com/arthurbr11), [@&#8203;asheriif](https://github.com/asheriif), [@&#8203;Aslaaen](https://github.com/Aslaaen), [@&#8203;Asunfly](https://github.com/Asunfly), [@&#8203;austinpickett](https://github.com/austinpickett), [@&#8203;AviArora02-commits](https://github.com/AviArora02-commits), [@&#8203;AxDSan](https://github.com/AxDSan), [@&#8203;azhengbot](https://github.com/azhengbot), [@&#8203;Bartok9](https://github.com/Bartok9), [@&#8203;benbarclay](https://github.com/benbarclay), [@&#8203;bennytimz](https://github.com/bennytimz), [@&#8203;bernylinville](https://github.com/bernylinville), [@&#8203;bingo906](https://github.com/bingo906), [@&#8203;binhnt92](https://github.com/binhnt92), [@&#8203;bkadish](https://github.com/bkadish), [@&#8203;bluefishs](https://github.com/bluefishs), [@&#8203;bobashopcashier](https://github.com/bobashopcashier), [@&#8203;brantzh6](https://github.com/brantzh6), [@&#8203;BrennerSpear](https://github.com/BrennerSpear), [@&#8203;brianclemens](https://github.com/brianclemens), [@&#8203;briandevans](https://github.com/briandevans), [@&#8203;brooklynnicholson](https://github.com/brooklynnicholson), [@&#8203;bugkill3r](https://github.com/bugkill3r), [@&#8203;buray](https://github.com/buray), [@&#8203;burtenshaw](https://github.com/burtenshaw), [@&#8203;cdanis](https://github.com/cdanis), [@&#8203;cgarwood82](https://github.com/cgarwood82), [@&#8203;ChimingLiu](https://github.com/ChimingLiu), [@&#8203;chongweiliu](https://github.com/chongweiliu), [@&#8203;christopherwoodall](https://github.com/christopherwoodall), [@&#8203;coekfung](https://github.com/coekfung), [@&#8203;cola-runner](https://github.com/cola-runner), [@&#8203;corazzione](https://github.com/corazzione), [@&#8203;counterposition](https://github.com/counterposition), [@&#8203;cresslank](https://github.com/cresslank), [@&#8203;cuyua9](https://github.com/cuyua9), [@&#8203;cypres0099](https://github.com/cypres0099), [@&#8203;danieldoderlein](https://github.com/danieldoderlein), [@&#8203;davetist](https://github.com/davetist), [@&#8203;davidvv](https://github.com/davidvv), [@&#8203;DeployFaith](https://github.com/DeployFaith), [@&#8203;Dev-Mriganka](https://github.com/Dev-Mriganka), [@&#8203;devorun](https://github.com/devorun), [@&#8203;dieutx](https://github.com/dieutx), [@&#8203;Disaster-Terminator](https://github.com/Disaster-Terminator), [@&#8203;dodo-reach](https://github.com/dodo-reach), [@&#8203;draix](https://github.com/draix), [@&#8203;DrStrangerUJN](https://github.com/DrStrangerUJN), [@&#8203;dsocolobsky](https://github.com/dsocolobsky), [@&#8203;Dusk1e](https://github.com/Dusk1e), [@&#8203;dyxushuai](https://github.com/dyxushuai), [@&#8203;elkimek](https://github.com/elkimek), [@&#8203;elmatadorgh](https://github.com/elmatadorgh), [@&#8203;emozilla](https://github.com/emozilla), [@&#8203;entropidelic](https://github.com/entropidelic), [@&#8203;Erosika](https://github.com/Erosika), [@&#8203;erosika](https://github.com/erosika), [@&#8203;Es1la](https://github.com/Es1la), [@&#8203;etcircle](https://github.com/etcircle), [@&#8203;etherman-os](https://github.com/etherman-os), [@&#8203;ethernet8023](https://github.com/ethernet8023), [@&#8203;fancydirty](https://github.com/fancydirty), [@&#8203;farion1231](https://github.com/farion1231), [@&#8203;fatinghenji](https://github.com/fatinghenji), [@&#8203;Fatty911](https://github.com/Fatty911), [@&#8203;fengtianyu88](https://github.com/fengtianyu88), [@&#8203;Feranmi10](https://github.com/Feranmi10), [@&#8203;flobo3](https://github.com/flobo3), [@&#8203;francip](https://github.com/francip), [@&#8203;fuleinist](https://github.com/fuleinist), [@&#8203;g-guthrie](https://github.com/g-guthrie), [@&#8203;GenKoKo](https://github.com/GenKoKo), [@&#8203;gianfrancopiana](https://github.com/gianfrancopiana), [@&#8203;gnanam1990](https://github.com/gnanam1990), [@&#8203;GuyCui](https://github.com/GuyCui), [@&#8203;haileymarshall](https://github.com/haileymarshall), [@&#8203;haimu0x](https://github.com/haimu0x), [@&#8203;handsdiff](https://github.com/handsdiff), [@&#8203;hansnow](https://github.com/hansnow), [@&#8203;hedgeho9X](https://github.com/hedgeho9X), [@&#8203;helix4u](https://github.com/helix4u), [@&#8203;hengm3467](https://github.com/hengm3467), [@&#8203;HenkDz](https://github.com/HenkDz), [@&#8203;heykb](https://github.com/heykb), [@&#8203;hharry11](https://github.com/hharry11), [@&#8203;HiddenPuppy](https://github.com/HiddenPuppy), [@&#8203;honghua](https://github.com/honghua), [@&#8203;houko](https://github.com/houko), [@&#8203;houziershi](https://github.com/houziershi), [@&#8203;hsy5571616](https://github.com/hsy5571616), [@&#8203;huangke19](https://github.com/huangke19), [@&#8203;hxp-plus](https://github.com/hxp-plus), [@&#8203;Hypn0sis](https://github.com/Hypn0sis), [@&#8203;I3eg1nner](https://github.com/I3eg1nner), [@&#8203;iacker](https://github.com/iacker), [@&#8203;iamagenius00](https://github.com/iamagenius00), [@&#8203;IAvecilla](https://github.com/IAvecilla), [@&#8203;iborazzi](https://github.com/iborazzi), [@&#8203;Ifkellx](https://github.com/Ifkellx), [@&#8203;ifrederico](https://github.com/ifrederico), [@&#8203;imink](https://github.com/imink), [@&#8203;isaachuangGMICLOUD](https://github.com/isaachuangGMICLOUD), [@&#8203;ismell0992-afk](https://github.com/ismell0992-afk), [@&#8203;j0sephz](https://github.com/j0sephz), [@&#8203;Jaaneek](https://github.com/Jaaneek), [@&#8203;jackjin1997](https://github.com/jackjin1997), [@&#8203;JackTheGit](https://github.com/JackTheGit), [@&#8203;jaffarkeikei](https://github.com/jaffarkeikei), [@&#8203;jerilynzheng](https://github.com/jerilynzheng), [@&#8203;JiaDe-Wu](https://github.com/JiaDe-Wu), [@&#8203;Jiawen-lee](https://github.com/Jiawen-lee), [@&#8203;JimLiu](https://github.com/JimLiu), [@&#8203;jinzheng8115](https://github.com/jinzheng8115), [@&#8203;jneeee](https://github.com/jneeee), [@&#8203;jplew](https://github.com/jplew), [@&#8203;jquesnelle](https://github.com/jquesnelle), [@&#8203;Julientalbot](https://github.com/Julientalbot), [@&#8203;Junass1](https://github.com/Junass1), [@&#8203;jvcl](https://github.com/jvcl), [@&#8203;kagura-agent](https://github.com/kagura-agent), [@&#8203;keifergu](https://github.com/keifergu), [@&#8203;kevinskysunny](https://github.com/kevinskysunny), [@&#8203;keyuyuan](https://github.com/keyuyuan), [@&#8203;konsisumer](https://github.com/konsisumer), [@&#8203;kovyrin](https://github.com/kovyrin), [@&#8203;kshitijk4poor](https://github.com/kshitijk4poor), [@&#8203;leeyang1990](https://github.com/leeyang1990), [@&#8203;LehaoLin](https://github.com/LehaoLin), [@&#8203;lengxii](https://github.com/lengxii), [@&#8203;LeonSGP43](https://github.com/LeonSGP43), [@&#8203;leozeli](https://github.com/leozeli), [@&#8203;li0near](https://github.com/li0near), [@&#8203;liftaris](https://github.com/liftaris), [@&#8203;Lind3ey](https://github.com/Lind3ey), [@&#8203;Linux2010](https://github.com/Linux2010), [@&#8203;liujinkun2025](https://github.com/liujinkun2025), [@&#8203;LLQWQ](https://github.com/LLQWQ), [@&#8203;Llugaes](https://github.com/Llugaes), [@&#8203;lmoncany](https://github.com/lmoncany), [@&#8203;longsizhuo](https://github.com/longsizhuo), [@&#8203;lrawnsley](https://github.com/lrawnsley), [@&#8203;Lubrsy706](https://github.com/Lubrsy706), [@&#8203;lumenradley](https://github.com/lumenradley), [@&#8203;luyao618](https://github.com/luyao618), [@&#8203;lvnilesh](https://github.com/lvnilesh), [@&#8203;LVT382009](https://github.com/LVT382009), [@&#8203;m0n5t3r](https://github.com/m0n5t3r), [@&#8203;Magaav](https://github.com/Magaav), [@&#8203;MagicRay1217](https://github.com/MagicRay1217), [@&#8203;malaiwah](https://github.com/malaiwah), [@&#8203;manuelschipper](https://github.com/manuelschipper), [@&#8203;Marvae](https://github.com/Marvae), [@&#8203;MassiveMassimo](https://github.com/MassiveMassimo), [@&#8203;mavrickdeveloper](https://github.com/mavrickdeveloper), [@&#8203;maxchernin](https://github.com/maxchernin), [@&#8203;memosr](https://github.com/memosr), [@&#8203;meng93](https://github.com/meng93), [@&#8203;mengjian-github](https://github.com/mengjian-github), [@&#8203;MestreY0d4-Uninter](https://github.com/MestreY0d4-Uninter), [@&#8203;Mibayy](https://github.com/Mibayy), [@&#8203;MikeFac](https://github.com/MikeFac), [@&#8203;mikewaters](https://github.com/mikewaters), [@&#8203;milkoor](https://github.com/milkoor), [@&#8203;minorgod](https://github.com/minorgod), [@&#8203;MrNiceRicee](https://github.com/MrNiceRicee), [@&#8203;ms-alan](https://github.com/ms-alan), [@&#8203;mvanhorn](https://github.com/mvanhorn), [@&#8203;n-WN](https://github.com/n-WN), [@&#8203;N0nb0at](https://github.com/N0nb0at), [@&#8203;Nan93](https://github.com/Nan93), [@&#8203;NIDNASSER-Abdelmajid](https://github.com/NIDNASSER-Abdelmajid), [@&#8203;nish3451](https://github.com/nish3451), [@&#8203;niyoh120](https://github.com/niyoh120), [@&#8203;nocoo](https://github.com/nocoo), [@&#8203;nosleepcassette](https://github.com/nosleepcassette), [@&#8203;NousResearch](https://github.com/NousResearch), [@&#8203;ogzerber](https://github.com/ogzerber), [@&#8203;omnissiah-comelse](https://github.com/omnissiah-comelse), [@&#8203;Only-Code-A](https://github.com/Only-Code-A), [@&#8203;opriz](https://github.com/opriz), [@&#8203;OwenYWT](https://github.com/OwenYWT), [@&#8203;pedh](https://github.com/pedh), [@&#8203;pefontana](https://github.com/pefontana), [@&#8203;PeterBerthelsen](https://github.com/PeterBerthelsen), [@&#8203;phpoh](https://github.com/phpoh), [@&#8203;pinion05](https://github.com/pinion05), [@&#8203;plgonzalezrx8](https://github.com/plgonzalezrx8), [@&#8203;pradeep7127](https://github.com/pradeep7127), [@&#8203;priveperfumes](https://github.com/priveperfumes), [@&#8203;projectadmin-dev](https://github.com/projectadmin-dev), [@&#8203;PStarH](https://github.com/PStarH), [@&#8203;rnijhara](https://github.com/rnijhara), [@&#8203;Roy-oss1](https://github.com/Roy-oss1), [@&#8203;roytian1217](https://github.com/roytian1217), [@&#8203;RucchiZ](https://github.com/RucchiZ), [@&#8203;Ruzzgar](https://github.com/Ruzzgar), [@&#8203;RyanLee-Dev](https://github.com/RyanLee-Dev), [@&#8203;Salt-555](https://github.com/Salt-555), [@&#8203;Sanjays2402](https://github.com/Sanjays2402), [@&#8203;sgaofen](https://github.com/sgaofen), [@&#8203;sharziki](https://github.com/sharziki), [@&#8203;shenuu](https://github.com/shenuu), [@&#8203;shin4](https://github.com/shin4), [@&#8203;SHL0MS](https://github.com/SHL0MS), [@&#8203;shushuzn](https://github.com/shushuzn), [@&#8203;sicnuyudidi](https://github.com/sicnuyudidi), [@&#8203;simon-gtcl](https://github.com/simon-gtcl), [@&#8203;simon-marcus](https://github.com/simon-marcus), [@&#8203;sirEven](https://github.com/sirEven), [@&#8203;Sisyphus](https://github.com/Sisyphus), [@&#8203;sjz-ks](https://github.com/sjz-ks), [@&#8203;snreynolds](https://github.com/snreynolds), [@&#8203;Societus](https://github.com/Societus), [@&#8203;Somme4096](https://github.com/Somme4096), [@&#8203;sontianye](https://github.com/sontianye), [@&#8203;sprmn24](https://github.com/sprmn24), [@&#8203;StefanIsMe](https://github.com/StefanIsMe), [@&#8203;stephenschoettler](https://github.com/stephenschoettler), [@&#8203;Swift42](https://github.com/Swift42), [@&#8203;taeng0204](https://github.com/taeng0204), [@&#8203;taeuk178](https://github.com/taeuk178), [@&#8203;tannerfokkens-maker](https://github.com/tannerfokkens-maker), [@&#8203;TaroballzChen](https://github.com/TaroballzChen), [@&#8203;ten-ltw](https://github.com/ten-ltw), [@&#8203;teyrebaz33](https://github.com/teyrebaz33), [@&#8203;Tianworld](https://github.com/Tianworld), [@&#8203;topcheer](https://github.com/topcheer), [@&#8203;Tranquil-Flow](https://github.com/Tranquil-Flow), [@&#8203;trevthefoolish](https://github.com/trevthefoolish), [@&#8203;TroyMitchell911](https://github.com/TroyMitchell911), [@&#8203;UNLINEARITY](https://github.com/UNLINEARITY), [@&#8203;v1k22](https://github.com/v1k22), [@&#8203;vivganes](https://github.com/vivganes), [@&#8203;vominh1919](https://github.com/vominh1919), [@&#8203;vrinek](https://github.com/vrinek), [@&#8203;VTRiot](https://github.com/VTRiot), [@&#8203;WadydX](https://github.com/WadydX), [@&#8203;walli](https://github.com/walli), [@&#8203;wenhao7](https://github.com/wenhao7), [@&#8203;WhiteWorld](https://github.com/WhiteWorld), [@&#8203;WideLee](https://github.com/WideLee), [@&#8203;wujhsu](https://github.com/wujhsu), [@&#8203;WuTianyi123](https://github.com/WuTianyi123), [@&#8203;Wysie](https://github.com/Wysie), [@&#8203;xandersbell](https://github.com/xandersbell), [@&#8203;xiaoqiang243](https://github.com/xiaoqiang243), [@&#8203;xiayh0107](https://github.com/xiayh0107), [@&#8203;xinpengdr](https://github.com/xinpengdr), [@&#8203;Xowiek](https://github.com/Xowiek), [@&#8203;ycbai](https://github.com/ycbai), [@&#8203;yeyitech](https://github.com/yeyitech), [@&#8203;ygd58](https://github.com/ygd58), [@&#8203;youngDoo](https://github.com/youngDoo), [@&#8203;yudaiyan](https://github.com/yudaiyan), [@&#8203;Yukipukii1](https://github.com/Yukipukii1), [@&#8203;yule975](https://github.com/yule975), [@&#8203;yyq4193](https://github.com/yyq4193), [@&#8203;yzx9](https://github.com/yzx9), [@&#8203;ZaynJarvis](https://github.com/ZaynJarvis), [@&#8203;zhang9w0v5](https://github.com/zhang9w0v5), [@&#8203;zhanggttry](https://github.com/zhanggttry), [@&#8203;zhangxicen](https://github.com/zhangxicen), [@&#8203;zhongyueming1121](https://github.com/zhongyueming1121), [@&#8203;zhouxiaoya12](https://github.com/zhouxiaoya12), [@&#8203;zons-zhaozhy](https://github.com/zons-zhaozhy) Also: [@&#8203;maelrx](https://github.com/maelrx), [@&#8203;Marco](https://github.com/Marco) Rutsch, [@&#8203;MaxsolcuCrypto](https://github.com/MaxsolcuCrypto), [@&#8203;Mind-Dragon](https://github.com/Mind-Dragon), [@&#8203;Paul](https://github.com/Paul) Bergeron, [@&#8203;say8hi](https://github.com/say8hi), [@&#8203;whitehatjr1001](https://github.com/whitehatjr1001). *** **Full Changelog**: [v2026.4.13...v2026.4.23](https://github.com/NousResearch/hermes-agent/compare/v2026.4.13...v2026.4.23) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjEwOS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->
chore(deps): update dependency nousresearch/hermes-agent to v2026.4.23
All checks were successful
Build Docker Image / build (pull_request) Successful in 21m13s
Build Docker Image / build (push) Successful in 43s
4353595c01
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mehalter/hermes-agent-docker!15
No description provided.