Heads up This site is currently under heavy development.
← all tools
◆ AI Agent Frameworks

Hermes

v2026.8.27 open-source

The agent that grows with you

Summary

Hermes is an open-source, MIT-licensed AI agent built by Nous Research that runs continuously and improves itself over time, creating and refining its own skills, persisting memory, and building a model of the user across sessions rather than resetting each conversation. It installs as a command-line tool or desktop application on Windows, macOS, and Linux, and can also run headless on a VPS, GPU cluster, or serverless infrastructure, reachable through Telegram, Discord, Slack, WhatsApp, or a browser dashboard rather than tied to one machine. Its documentation distinguishes it from IDE-bound coding copilots and single-API chatbot wrappers, positioning it instead as an autonomous, model-agnostic agent aimed at developers and technical users who want a persistent assistant rather than a one-off query tool. Development is active, with thousands of contributors and releases shipping roughly every few weeks.

The agent that grows with you

What Hermes answers

Which model providers can I actually use, and can I change my mind later?

it runs any provider — Nous Portal, OpenRouter, OpenAI, or a self-hosted endpoint — and switching is a config change, not a rewrite

Do I have to run a server or manage infrastructure myself?

no, it installs as a command-line tool or desktop app, or runs headless on a cheap VPS, GPU box, or serverless platform that idles for free

What happens to skills and tools I'm not using?

niche and unused built-in skills are pruned or excluded by default, so the loaded set stays limited to what's actually invoked

Can I reach it from the messaging apps my team already uses?

yes, it connects to around twenty platforms including Telegram, Discord, Slack, WhatsApp, and iMessage, with new adapters added through a plugin hook rather than core changes

How do I extend it beyond the built-in tools?

it connects to MCP servers and lets you filter which of their tools are exposed, alongside a set of over sixty built-in tools

What happens if a conversation or task goes wrong?

multi-turn edits can be retracted and resent, sessions resume automatically after a restart, and delegated background tasks retry and are checked for stalls or hallucination

all 34 features, with the evidence for each →

Features

34 capabilities across 6 areas

Built from everything we hold on Hermes — every release we have summarised, its product documentation and how that documentation has changed, its README, its command-line surface and API, and runs we performed ourselves. Dates are when we first saw a capability, not when the vendor introduced it.

Capability area
AI Model Orchestration 5 capabilities Hermes connects to a wide range of LLM providers and runs prompts through single models, ensembles, or parallel subagents. This is the core of what the tool does — routing work to the right model or combination of models at the right time.
Background and parallel subagents shipped Delegates tasks to background subagents that run in parallel, returning handles immediately and streaming their activity in live watch-windows. 5 releases · 4 other sources · first seen Jun 2026

release

  • Adds a bundled Agent-to-Agent (A2A v1.0) plugin so Hermes can discover, communicate with, and be driven by other A2A-compatible agents. v2026.8.3 · Aug 2026 · source · release history
  • Makes delegate_task subagent dispatches produce live tail-able transcript files per child agent. v2026.7.20 · Jul 2026 · source · release history
  • Enables delegate_task to fan out multiple subagents in the background, consolidating all results into a single turn without blocking the chat. v2026.7.1 · Jul 2026 · source · release history
  • Enables background/async subagents via delegate_task(background=true), returning a handle immediately so work continues in parallel. v2026.6.19 · Jun 2026 · source · release history
  • Adds live subagent watch-windows in the desktop app, streaming a delegated agent's activity into its own pane. v2026.6.19 · Jun 2026 · source · release history

docs

  • Buzz Redirecting the Agent Send a message while the agent is working to correct the active turn: Model generation restarts with context — reasoning already shown and visible partial text are retained as an ordinary assistant checkpoint Completed work stays available — prior tool calls and results remain in the turn… docs-3215f1900cb1 · Jul 2026 · source
  • Buzz Redirecting the Agent Send a message while the agent is working to correct the active turn: Model generation restarts with context — reasoning already shown and visible partial text are retained as an ordinary assistant checkpoint Completed work stays available — prior tool calls and results remain in the turn… docs-6c0dc8310dc8 · Jul 2026 · source

example

  • Watch a subagent work in real time by tailing its live transcript as soon as it launches. tail -f <transcript-file> v2026.7.20 · Jul 2026 · source
  • Kick off a long research or build task in the background and keep the main session free while it runs. delegate_task(background=true) v2026.6.19 · Jun 2026 · source
LLM provider integrations shipped Connects Hermes to multiple LLM providers — including xAI Grok and Google Vertex AI — with managed authentication and a model picker available across all interfaces. 8 releases · first seen Jun 2026

release 8 total

  • Adds prompt caching coverage for tool schemas on native Anthropic without history loss. v2026.8.3 · Aug 2026 · source · release history
  • Adds new model catalog entries: GPT-5.6 (Sol/Terra/Luna + Pro variants), grok-4.5 (GA), moonshotai/kimi-k3, claude-fable-5/claude-sonnet-5, tencent/hy3 (GA), and LM Studio JIT local model loading. v2026.7.20 · Jul 2026 · source · release history
  • Streams reasoning model thinking live by default (display.show_reasoning on) — no more waiting at a spinner. v2026.7.20 · Jul 2026 · source · release history
  • Adds Fireworks AI and DeepInfra as first-class model providers, plus Upstage Solar. v2026.7.20 · Jul 2026 · source · release history
  • Adds max and ultra reasoning-effort tiers with per-model config overrides and per-slot effort in MoA presets. v2026.7.20 · Jul 2026 · source · release history
  • Adds Google Vertex AI as a first-class provider, with automatic OAuth2 token minting and refresh from a service-account JSON or Application Default Credentials — no static key required. v2026.7.1 · Jul 2026 · source · release history
Mixture-of-Agents (MoA) ensembles shipped Runs a prompt through several frontier models in parallel, streams each model's reasoning as labelled blocks, and synthesises a single final answer. 4 releases · 1 other source · first seen Jul 2026

release

  • Adds max and ultra reasoning-effort tiers with per-model config overrides and per-slot effort in MoA presets. v2026.7.20 · Jul 2026 · source · release history
  • New /moa command runs a single prompt through the default MoA preset as a one-shot, then restores the previous model. v2026.7.1 · Jul 2026 · source · release history
  • Streams each reference model's full reasoning as labelled blocks before the aggregator's live-streamed synthesis, making ensemble deliberation visible. v2026.7.1 · Jul 2026 · source · release history
  • Adds Mixture-of-Agents (MoA) presets as selectable virtual models under a moa provider, available in every model picker across CLI, TUI, desktop, and gateway. v2026.7.1 · Jul 2026 · source · release history

example

  • Run your hardest prompt through a named MoA ensemble to see each frontier model's reasoning before the aggregator synthesizes a final answer. /moa v2026.7.1 · Jul 2026 · source
Agent-to-Agent (A2A) interoperability shipped Enables Hermes to discover, communicate with, and be orchestrated by other agents that implement the A2A v1.0 protocol. 1 release · first seen Aug 2026

release

  • Adds a bundled Agent-to-Agent (A2A v1.0) plugin so Hermes can discover, communicate with, and be driven by other A2A-compatible agents. v2026.8.3 · Aug 2026 · source · release history
Image generation and editing shipped Lets users pass a source image and a prompt to edit, transform, or recompose it using any supported image-generation provider. 1 release · first seen Jun 2026

release

  • Extends image_generate with image-to-image editing — pass a source image and prompt to edit, transform, or recompose it across all supported image providers. v2026.6.19 · Jun 2026 · source · release history
Agent Autonomy and Learning 6 capabilities Hermes can run long-horizon tasks unsupervised, verify its own completion against real project checks, and continuously improve itself by saving memories and skills between sessions. These capabilities define how independently the agent can operate over time.
Skills management shipped Lets users discover, install, preview, and learn reusable skills from a scanned Skills Hub or by distilling them from directories, URLs, or recent workflows. 5 releases · 2 other sources · first seen Jun 2026

release

  • Adds the grounded-citations skill, which matches quotes against actual page text, links citations to exact evidence, and includes a fact-checking mode for any document or claim. v2026.8.3 · Aug 2026 · source · release history
  • Adds /init CLI command to scan a project and generate or update an AGENTS.md file. v2026.8.3 · Aug 2026 · source · release history
  • New /learn <anything> command distills a reusable skill from a directory, URL, or recent workflow and writes it to the project's CONTRIBUTING.md automatically. v2026.7.1 · Jul 2026 · source · release history
  • Enables finding and diffing user-modified bundled skills to surface local customizations. v2026.6.19 · Jun 2026 · source · release history
  • Adds a security scan on each skill in the overhauled Skills Hub browser, alongside connected hubs, a Featured section, and full skill previews before install. v2026.6.19 · Jun 2026 · source · release history

example

  • Bootstrap a new project by having Hermes scan it and generate an AGENTS.md with its conventions and structure. /init v2026.8.3 · Aug 2026 · source
  • Teach Hermes a repeatable workflow from a directory you just walked it through, so it's available as a skill next time without manual authoring. /learn ./scripts/deploy-workflow v2026.7.1 · Jul 2026 · source
Memory management shipped Provides atomic batch editing of the agent's memory store and a browsable, editable timeline of accumulated memories and skills. 4 releases · 2 other sources · first seen Jun 2026

release

  • Adds a declarative memory provider panel with full-config modal in the Desktop settings. v2026.7.20 · Jul 2026 · source · release history
  • New /journey command in CLI and TUI displays a browsable, editable timeline of all memories and skills Hermes has accumulated, with delete support. v2026.7.1 · Jul 2026 · source · release history
  • Adds a memory graph in the desktop app — a playable radial timeline of memories and skills that can be inspected and pruned. v2026.7.1 · Jul 2026 · source · release history
  • Upgrades the memory tool with an operations array for atomic batch add/replace/remove edits evaluated against the final character budget in a single call. v2026.6.19 · Jun 2026 · source · release history

docs

  • Learning Journey ( /journey The learning journey is a timeline view of everything Hermes has learned — saved skills and memory entries plotted over time (oldest at top, newest at bottom), with a playable "constellation" scrubber that replays the build-up. docs-4d1ccc27b646 · Jul 2026 · source

example

  • Inspect and prune everything Hermes knows about you — edit or delete any memory or skill from the timeline. /journey v2026.7.1 · Jul 2026 · source
Curator (background learning loop) shipped Runs a background self-improvement loop after each turn, using a cheaper model to decide what memories and skills are worth saving. 3 releases · 1 other source · first seen Jun 2026

release

  • Adds a compression-threshold configuration that is now settable per-model and in absolute tokens, with a guaranteed N-user-message tail so recent conversation always survives pruning. v2026.8.3 · Aug 2026 · source · release history
  • Routes post-turn self-improvement (memory/skill save decisions) to a cheaper auxiliary model with digested context, reducing cost of the background learning loop. v2026.7.1 · Jul 2026 · source · release history
  • Introduces Curator cost optimization: LLM consolidation now requires explicit opt-in (curator.consolidate: true or hermes curator run --consolidate); routine pruning runs token-free by default. v2026.6.19 · Jun 2026 · source · release history

example

  • Opt in to LLM-powered skill consolidation while keeping routine curation token-free on all other runs. hermes curator run --consolidate v2026.6.19 · Jun 2026 · source
Smart approvals shipped Routes flagged commands to an LLM reviewer that independently decides whether to approve or block them, removing per-command user prompts during routine automation. 3 releases · 1 other source · first seen Jul 2026

release

  • Adds hermes approvals suggest command to mine approval history into allowlist proposals. v2026.8.3 · Aug 2026 · source · release history
  • Enables smart approvals by default — an LLM reviewer independently assesses flagged commands instead of prompting the user each time. v2026.7.20 · Jul 2026 · source · release history
  • Adds /deny <reason> command to tell the agent why a command was refused so it can course-correct. v2026.7.20 · Jul 2026 · source · release history

docs

  • hermes approvals Approval-prompt tools — mine approval history into allowlist proposals. hermes skin List, switch, and tweak display skins. hermes console Open the safe Hermes command console. hermes journey learning memory-graph Timeline of learned skills + memories over time. docs-db5ad94c724d · Jul 2026 · source
Goal-oriented task completion shipped Lets users define evidence-based completion criteria so the agent judges task completion by running actual project checks rather than self-assessment. 3 releases · first seen Jul 2026

release

  • Adds patch self-diagnosis for already-applied edits and whitespace mismatches, write_file on-disk content verification, and near-miss probing for searches that match nothing. v2026.8.3 · Aug 2026 · source · release history
  • Raises the default tool-calling iteration limit from 90 to 500, enabling long autonomous runs that previously hit an artificial ceiling. v2026.8.3 · Aug 2026 · source · release history
  • New /goal completion contracts let users define evidence-based "done" criteria; the standing-goal loop judges completion by running actual project checks via a pre_verify hook. v2026.7.1 · Jul 2026 · source · release history
Scheduled automation (cron) shipped Lets users schedule recurring automations on a cron schedule using guided blueprints and a per-job model picker, with scale-to-zero support when idle. 3 releases · first seen Jun 2026

release

  • Adds a per-job model picker in the desktop cron create/edit dialog. v2026.7.20 · Jul 2026 · source · release history
  • Adds a pluggable CronScheduler provider system (cron.provider config key) with an InProcessCronScheduler and a Chronos NAS-mediated managed-cron provider for scale-to-zero scheduling. v2026.6.19 · Jun 2026 · source · release history
  • Introduces Automation Blueprints — schedule automations by name through a guided form, slash command, or conversation instead of writing cron syntax. v2026.6.19 · Jun 2026 · source · release history
Connectivity and Integrations 6 capabilities Hermes reaches users and external systems through messaging platforms, webhooks, MCP servers, and a resilient gateway layer. This area covers everything that lets the agent send and receive information beyond the local terminal.
Voice interaction shipped Provides conversational voice input and output with streaming TTS, barge-in interruption, a wake-word trigger, and voice note support across messaging platforms. 5 releases · 5 other sources · first seen Jul 2026

release

  • Adds voice note support on WhatsApp, Feishu, DingTalk, LINE, QQ, Photon, and Weixin, with auto-TTS replies delivered in the platform-appropriate codec (opus with captions). v2026.8.3 · Aug 2026 · source · release history
  • Adds streaming conversational voice mode with clause-by-clause TTS, barge-in interruption, and busy-aware silence detection across the CLI, desktop, and gateway adapters. v2026.8.3 · Aug 2026 · source · release history
  • Adds OpenAI gpt-transcribe as a supported STT provider with unified language resolution. v2026.8.3 · Aug 2026 · source · release history
  • Adds on-device open-vocabulary wake-word detection with multi-profile voice routing and a 'stop' keyword to end voice chat on any surface — no audio leaves the device while waiting. v2026.8.3 · Aug 2026 · source · release history
  • Adds a new hermes tools category for STT configuration with GUI toggles and dashboard dropdowns. v2026.8.3 · Aug 2026 · source · release history

docs

  • Speech-to-text supports eight providers: local faster-whisper (free, runs on-device), a local command wrapper, Groq, OpenAI Whisper API, Mistral, xAI, ElevenLabs Scribe, and DeepInfra. Voice message transcription works across Telegram, Discord, WhatsApp, and other messaging platforms. See docs-f9c4abc72c8b · Jul 2026 · source
  • You can interrupt the agent at ANY point in its turn — the microphone stays live from the moment you finish speaking until the reply has fully played (full duplex): Interject while it's thinking — in continuous voice mode, speaking during LLM generation (before any audio plays) interrupts the in-flight turn and your… docs-c8309f8a3299 · Jul 2026 · source
  • run hermes setup voice to enable voice support docs-fd1b7add54d0 · Jul 2026 · source
  • For hands-free session start — saying "hey hermes" (or any phrase) to open a fresh voice session on the CLI, TUI, or desktop app — see Wake Word Ending a voice chat by voice Say "stop" — and nothing else — to end the voice conversation hands-free. docs-e7dc1c7a05f5 · Jul 2026 · source
  • Wake Word — Hands-free "Hey Hermes" trigger for the CLI, TUI, and desktop app. An on-device hotword listener starts a voice session when you speak the wake phrase. docs-0562ebcce8d7 · Jul 2026 · source
Messaging platform connectors shipped Integrates Hermes with Telegram, WhatsApp Business Cloud API, iMessage via Photon Spectrum, and Raft agent networks without requiring local relay hardware. 4 releases · 4 other sources · first seen Jun 2026

release

  • Adds Telegram Bot API 10.1 rich message rendering — better formatting and native markup on by default, with opt-out. v2026.6.19 · Jun 2026 · source · release history
  • Adds official WhatsApp Business Cloud API adapter — Meta's first-party hosted path with no QR-scanning bridge process. v2026.6.19 · Jun 2026 · source · release history
  • Adds Raft agent network integration as a new gateway channel, letting external Raft agents wake Hermes via a wake-channel bridge with metadata-only payloads. v2026.6.19 · Jun 2026 · source · release history
  • Adds iMessage support via Photon Spectrum — no Mac relay or BlueBubbles bridge required; authenticate with hermes photon login and a device code. v2026.6.19 · Jun 2026 · source · release history

docs

  • Photon (iMessage) SimpleX Hermes Relay Hermes Relay (experimental) is not a chat platform itself — it is a connector system that fronts platforms like Discord, Telegram, Slack, and WhatsApp through an external connector that owns the platform credentials. docs-4a290a5e5d4e · Jul 2026 · source
  • Photon (iMessage) SimpleX Hermes Relay Hermes Relay (experimental) is not a chat platform itself — it is a connector system that fronts platforms like Discord, Telegram, Slack, and WhatsApp through an external connector that owns the platform credentials. docs-48ea8905bc9f · Jul 2026 · source
  • Buzz Collaboration Workspaces Buzz — Block's Nostr-based human+agent workspace. Three integration paths: Buzz Desktop spawns Hermes as a managed ACP runtime, the buzz-acp relay bridge hosts a Hermes identity server-side, or the native gateway platform joins Buzz channels with full Hermes memory/skills/approvals/cron. docs-c448d1df3c3f · Jul 2026 · source

example

  • Connect Hermes to iMessage through Photon's managed line pool — no Mac relay needed. hermes photon login v2026.6.19 · Jun 2026 · source
MCP server catalog shipped Maintains a catalog of MCP servers, including an official Unreal Engine 5.8 server, that can be connected and configured from the profile builder. 1 release · 4 other sources · first seen Jun 2026

Shared capability: MCP server

release

  • Adds an official Unreal Engine 5.8 MCP server to the MCP catalog. v2026.6.19 · Jun 2026 · source · release history

docs

  • Coming from Claude Code? The mcpServers block in your ~/.claude.json maps to in Hermes' — and hermes import-agent claude-code migrates it (along with skills and instructions) automatically. docs-691dc5f9e106 · Aug 2026 · source
  • MCP Elicitation Support MCP servers can ask the user for structured input mid-tool-call via the elicitation/create protocol (mcp Python SDK ≥ 1.11.0). docs-ba93a03ee273 · Jul 2026 · source
  • stays as-is) and a warning is logged. Bare Cursor-style SecretRef syntax is also accepted: ${env:VAR_NAME} resolves exactly like (the env: prefix is stripped), so MCP or provider snippets copied from Cursor / Claude configs work unchanged in both mcp_servers block. docs-1ba5cd918c4d · Jul 2026 · source
  • Figma remote MCP Figma's hosted endpoint ( https://mcp.figma.com/mcp ) allowlists Dynamic Client Registration by exact client_name — bare "Hermes Agent" 403s, while "Claude Code" "Codex" succeed. docs-efc0daf77c35 · Jul 2026 · source
Inbound relay and gateway auth shipped Adds a signed-HTTP inbound relay receiver with connector-to-gateway authentication and a CLI for enrolling new connectors. 2 releases · first seen Jun 2026

release

  • Adds signed outbound webhooks that push HMAC-verified lifecycle events (session activity, turn completions, tool events) to any registered HTTP endpoint — no polling required. v2026.8.3 · Aug 2026 · source · release history
  • Adds a signed-HTTP inbound relay receiver with connector-to-gateway channel auth and an enroll CLI. v2026.6.19 · Jun 2026 · source · release history
Gateway scale-to-zero and resilience shipped Puts the gateway dormant when idle, wakes it on demand, and maintains a durable delivery ledger so responses are redelivered after a crash. 2 releases · first seen Jul 2026

release

  • Adds a durable delivery-obligation ledger in state.db so final responses are redelivered on next boot if the gateway crashed before platform delivery (covers Telegram, Discord, Slack, and others). v2026.7.20 · Jul 2026 · source · release history
  • Gateway supports scale-to-zero: goes dormant when idle, wakes on demand, and performs drain coordination before restarts or migrations to avoid dropping in-flight conversations. v2026.7.1 · Jul 2026 · source · release history
Outbound event webhooks shipped Pushes HMAC-signed lifecycle events — session activity, turn completions, and tool events — to registered HTTP endpoints so external systems receive updates without polling. 1 release · first seen Aug 2026

Shared capability: Outbound webhooks (the product notifies you)

release

  • Adds signed outbound webhooks that push HMAC-verified lifecycle events (session activity, turn completions, tool events) to any registered HTTP endpoint — no polling required. v2026.8.3 · Aug 2026 · source · release history
Security and Credential Safety 4 capabilities Hermes applies layered controls to protect credentials, restrict dangerous operations, and isolate execution environments. These capabilities reduce the risk of credential leakage, prompt injection, and unintended side-effects during automated runs.
Security hardening shipped Applies a layered set of defensive controls including token redaction, metadata-access restrictions, subprocess secret stripping, and webhook body-size caps. 5 releases · 4 other sources · first seen Jul 2026

release

  • Adds a consecutive-denial circuit breaker to stop misbehaving approval loops, plus a new approval gate for docker/podman daemon-redirect commands. v2026.8.3 · Aug 2026 · source · release history
  • Adds an approval gate specifically for docker/podman daemon-redirect commands. v2026.8.3 · Aug 2026 · source · release history
  • Scopes Vertex credentials away from subprocess env, adds a shared credential-read guard for media/vision/image-gen local file reads, adds webhook body-size caps across all aiohttp servers, and redacts bot tokens in Telegram transport errors. v2026.7.20 · Jul 2026 · source · release history
  • Introduces user-defined deny rules that block commands even under yolo mode. v2026.7.20 · Jul 2026 · source · release history
  • Security hardening: blocks cron base_url overrides that could exfiltrate provider credentials, locks down MCP-config persistence attack surface, adds Slack xapp- token redaction, enforces cloud-metadata floor on every browser backend, and strips dynamic Hermes secrets from subprocess spawn environments. v2026.7.1 · Jul 2026 · source · release history

docs

  • Runtime Limits Long-running Hermes server surfaces (including the gateway and hermes serve --isolated ) apply the configured RLIMIT_NOFILE soft limit during startup when the operating system supports it: runtime nofile_soft_limit . docs-7bd3d411bebb · Aug 2026 · source
  • For Docker sandboxes, you can also enable the egress credential-injection proxy so the sandbox never sees your real API keys — only opaque proxy tokens that work exclusively from behind a local TLS-intercepting daemon. See Egress proxy . docs-e08c1234d51b · Jul 2026 · source
  • hermes egress Outbound credential-injection firewall for remote terminal sandboxes (iron-proxy). Disabled by default. See Egress proxy hermes import-agent Import a Claude Code ( ~/.claude ) or Codex CLI ( ~/.codex ) setup. docs-7e35f8d92a39 · Jul 2026 · source
  • docker stop/kill/restart docker compose down/stop/kill/restart Container lifecycle (also catches global flags and docker-compose docker -H --host --context DOCKER_HOST= DOCKER_CONTEXT= Docker daemon redirect — the command targets a different (often remote) daemon docker context use Switches the default daemon for all… docs-ff6aa6c7c5a8 · Jul 2026 · source
Terminal execution backends shipped Lets users choose the execution backend — local, Docker, SSH, Modal, Daytona, or Singularity — per session, with health probes visible in the desktop. 2 releases · 2 other sources · first seen Jul 2026

release

  • Adds truncated terminal output spill-to-file so the agent can read back output that exceeded the display limit. v2026.8.3 · Aug 2026 · source · release history
  • Adds a terminal execution backend picker (local/docker/ssh/modal/daytona/singularity) with per-backend health probes in the Desktop Capabilities tab. v2026.7.20 · Jul 2026 · source · release history

docs

  • vercel_sandbox Vercel Sandbox cloud microVM Cloud execution with snapshot-backed filesystem persistence # or: docker, ssh, singularity, modal, daytona, vercel_sandbox docker run -d ... docs-9d0c69b5e67d · Jul 2026 · source

example

  • Instantly run a shell command from inside a Hermes CLI session without consuming a model turn. !git status v2026.8.3 · Aug 2026 · source
Secret management shipped Resolves credentials from multiple pluggable secret backends in priority order, including native 1Password vault integration. 3 releases · 1 other source · first seen Jul 2026

release

  • Adds Bitwarden and 1Password (op:// references) as pluggable SecretSource providers, so API keys no longer need to live in plaintext .env files. v2026.7.20 · Jul 2026 · source · release history
  • Adds 1Password (op://) as a native secret source, letting Hermes resolve credentials directly from 1Password vaults. v2026.7.7 · Jul 2026 · source · release history
  • Adds pluggable SecretSource interface with a multi-source orchestrator, enabling secrets to be resolved from multiple backends in priority order. v2026.7.7 · Jul 2026 · source · release history

docs

  • token Rotate the access token: validates the new token against Bitwarden before storing it in (a rejected token changes nothing). Accepts for non-interactive use and --no-verify to skip the probe. docs-22740ad5bed8 · Jul 2026 · source
Egress credential-injection proxy documented Runs a local TLS-intercepting proxy that replaces real API keys with opaque tokens inside Docker sandboxes, preventing credential exposure during remote execution. 2 other sources · first seen Jul 2026

docs

  • For Docker sandboxes, you can also enable the egress credential-injection proxy so the sandbox never sees your real API keys — only opaque proxy tokens that work exclusively from behind a local TLS-intercepting daemon. See Egress proxy . docs-e08c1234d51b · Jul 2026 · source
  • hermes egress Outbound credential-injection firewall for remote terminal sandboxes (iron-proxy). Disabled by default. See Egress proxy hermes import-agent Import a Claude Code ( ~/.claude ) or Codex CLI ( ~/.codex ) setup. docs-7e35f8d92a39 · Jul 2026 · source
Configuration and Profile Management 6 capabilities Hermes gives users a browser-based profile builder and fine-grained controls over models, routing, sessions, and secrets without requiring manual config-file editing. This area covers everything needed to set up, organise, and maintain how the tool behaves.
Session management shipped Provides fine-grained session lifecycle controls including bulk archive, filter-based pruning with dry-run previews, and per-run usage reporting. 5 releases · 5 other sources · first seen Jul 2026

release

  • Adds /focus CLI command for a reduced-output view with hidden-line recovery. v2026.8.3 · Aug 2026 · source · release history
  • Expands hermes sessions prune with a full filter surface: time bounds (--started-before/--started-after), model, provider, user/chat origin, git branch, token count, cost, tool calls, and more — filters now match all ages when any attribute filter is supplied, dropping the implicit 90-day cutoff. v2026.7.7 · Jul 2026 · source · release history
  • Adds hermes sessions archive subcommand to bulk soft-hide sessions without deleting them. v2026.7.7 · Jul 2026 · source · release history
  • Prune dry-run preview now reports match count plus the oldest and newest matching session's age span. v2026.7.7 · Jul 2026 · source · release history
  • Adds --usage-file flag to hermes -z (one-shot mode) to write a JSON usage report after each run. v2026.7.7 · Jul 2026 · source · release history

docs

  • Resume a previous session by ID or title. The keyword latest resumes the most recent session (workspace-scoped, same lookup as -c --in <dir> Change into <dir> before starting or resuming. Scopes --resume latest -c lookups to that directory's workspace and keeps the session there (skips the recorded-cwd restore). docs-5ddd370b228e · Aug 2026 · source
  • /context [all] Visual context-usage breakdown — glyph block grid + per-category token table (system prompt / tools / skills / memory / conversation / free space). /context all adds per-skill and per-toolset costs. docs-2d863a12f32a · Jul 2026 · source

example

  • Inspect what is consuming your context window before a long autonomous run to decide whether to compress. /context v2026.8.3 · Aug 2026 · source
  • Capture a JSON token/cost usage report after a one-shot automation run for billing or audit purposes. hermes -z "summarize /var/log/auth.log" --usage-file usage.json v2026.7.7 · Jul 2026 · source
  • Bulk-archive recent CI smoke-test sessions by source without deleting them, then confirm what was hidden. hermes sessions archive --source cron --started-after 2026-07-01 v2026.7.7 · Jul 2026 · source
Profile and configuration management shipped Provides a browser-based profile builder and profile-based message routing, letting users configure models, skills, MCP servers, and channel routing without editing config files. 3 releases · 1 other source · first seen Jun 2026

release

  • Adds hermes import-agent command to migrate a Claude Code or Codex CLI setup into Hermes in one command. v2026.8.3 · Aug 2026 · source · release history
  • Supports profile-based message routing in a single multiplexed gateway — route guilds, channels, or threads to fully isolated profiles. v2026.7.20 · Jul 2026 · source · release history
  • Adds a full profile builder to the dashboard — configure model, skills, and MCP servers from the browser without editing config.yaml. v2026.6.19 · Jun 2026 · source · release history

docs

  • Actual Computer Your own hardware as a private inference cluster — hosted relay or local daemon ACTUAL_API_KEY (relay) or ACTUAL_BASE_URL=http://127.0.0.1:8080 (local, no key) Moving to another machine — hermes backup migrates your whole setup (or a single profile ); no need to rebuild from scratch docs-deb36f9e2d48 · Aug 2026 · source
Context compaction and pruning shipped Automatically compresses conversation history when token usage approaches configurable thresholds, preserving a guaranteed tail of recent messages. 4 releases · first seen Aug 2026

release

  • Adds a global-hotkey quick-entry window to capture a thought into any session from anywhere in the OS. v2026.8.3 · Aug 2026 · source · release history
  • Adds patch self-diagnosis for already-applied edits and whitespace mismatches, write_file on-disk content verification, and near-miss probing for searches that match nothing. v2026.8.3 · Aug 2026 · source · release history
  • Adds a compression-threshold configuration that is now settable per-model and in absolute tokens, with a guaranteed N-user-message tail so recent conversation always survives pruning. v2026.8.3 · Aug 2026 · source · release history
  • Adds proactive tool-result pruning, per-turn micro-compaction, and progress-aware timeouts to context compression for large-window models. v2026.8.3 · Aug 2026 · source · release history
Context window inspection shipped Lets users see how the active context window is allocated across system prompt, tools, skills, memory, and conversation before or during a run. 1 release · 2 other sources · first seen Jul 2026

release

  • Adds /context CLI command to break down exactly what is filling the context window. v2026.8.3 · Aug 2026 · source · release history

docs

  • /context [all] Visual context-usage breakdown — glyph block grid + per-category token table (system prompt / tools / skills / memory / conversation / free space). /context all adds per-skill and per-toolset costs. docs-2d863a12f32a · Jul 2026 · source

example

  • Inspect what is consuming your context window before a long autonomous run to decide whether to compress. /context v2026.8.3 · Aug 2026 · source
Session export and fine-tuning dataset generation shipped Exports a session's conversation history as a secrets-scrubbed, Hugging Face-ready trace suitable for building fine-tuning datasets. 1 release · 1 other source · first seen Jul 2026

release

  • Adds hermes sessions export with Markdown, Quarto, HTML, prompt-only, and Hugging Face trace output formats, a --redact secret-scrubbing pass, and filters by age, workspace, and platform. v2026.7.20 · Jul 2026 · source · release history

example

  • Export a session history as a Hugging Face-ready trace with secrets scrubbed — useful for building fine-tuning datasets from real agent conversations. hermes sessions export --redact v2026.7.20 · Jul 2026 · source
Subscription and billing management shipped Lets users view their plan, preview upgrade costs, apply changes, and top up credits directly from the terminal or TUI. 1 release · 1 other source · first seen Jul 2026

release

  • Adds /subscription and /topup commands to manage your Nous plan and billing directly from the terminal or TUI. v2026.7.20 · Jul 2026 · source · release history

example

  • Manage your Nous subscription tier without leaving the terminal — view your plan, preview upgrade cost, and apply changes. /subscription v2026.7.20 · Jul 2026 · source
Desktop and Developer Experience 7 capabilities Hermes ships a desktop application with coding project support, a plugin SDK, theming, and voice interaction alongside CLI and TUI interfaces. This area covers the surfaces and tooling that make the agent practical for day-to-day development work.
Coding Projects in desktop app shipped Adds first-class coding project support to the desktop app with a project sidebar, git worktree management, and a project-to-repo-to-lane organisational model. 4 releases · 1 other source · first seen Jul 2026

release

  • Adds a global-hotkey quick-entry window to capture a thought into any session from anywhere in the OS. v2026.8.3 · Aug 2026 · source · release history
  • Adds /diff CLI command to show staged, all, or session changes from any surface. v2026.8.3 · Aug 2026 · source · release history
  • Adds desktop artifacts: versioned cards with sandboxed live preview in a right-rail viewer so generated HTML/apps run safely beside the chat. v2026.8.3 · Aug 2026 · source · release history
  • Adds first-class coding Projects to the desktop app — a sidebar, coding rail, review pane, git worktree management, and a project → repo → lane model. v2026.7.1 · Jul 2026 · source · release history

docs

  • 1. File encoding 2. Process management 3. Path separators Repo-local review checklists: .agents/checks/*.md Projects built on (or reviewed by) Hermes can keep reviewer checklists inside the repository under .agents/checks/ . docs-7812b4ed76c5 · Aug 2026 · source
Desktop app theming shipped Supports installing any VS Code Marketplace theme into the desktop app, with per-profile theme assignment and per-session colour overrides. 2 releases · 1 other source · first seen Jun 2026

release

  • Adds per-session color override and project-inherited color/icon in the desktop session sidebar. v2026.7.20 · Jul 2026 · source · release history
  • Supports installing any VS Code Marketplace theme directly into the desktop app, with per-profile theme assignment. v2026.6.19 · Jun 2026 · source · release history

docs

  • font_family # Desktop terminal font; e.g. "MesloLGS NF" terminal.font_family controls the embedded terminal in Hermes Desktop. It accepts either one locally installed family name (for example, MesloLGS NF ) or a CSS font stack. docs-b7dc91c5ef33 · Aug 2026 · source
Multi-line prompt composition shipped Opens the user's preferred editor for composing multi-line markdown prompts, queuing the result as the next message in CLI or TUI. 2 releases · 1 other source · first seen Jul 2026

release

  • Adds mid-turn redirect capability: typing a correction while the agent is working redirects the active turn, preserving work in flight and the original prompt. v2026.8.3 · Aug 2026 · source · release history
  • New /prompt command opens $EDITOR for composing multi-line prompts in markdown, queuing the result as the next message. v2026.7.1 · Jul 2026 · source · release history

docs

  • Ctrl+S Stash the prompt. Parks the current draft and clears the composer so you can send something else first. Press Ctrl+S again on an empty composer to bring the draft back (cursor at the end, attached images restored). docs-bcf1a794be0b · Aug 2026 · source
Startup performance shipped Reduces first-turn time-to-first-token by roughly 80% across all interfaces by moving capability detection off the critical path and caching results to disk. 3 releases · first seen Jul 2026

release

  • Reduces hermes -w cold start from ~14 s to ~1.8 s and makes hermes update no-ops 2–6 s faster. v2026.8.3 · Aug 2026 · source · release history
  • Cuts cold-start first-turn latency ~80% (4.3s → 0.9s) across CLI, TUI, gateway, desktop, and cron. v2026.7.20 · Jul 2026 · source · release history
  • Cuts first-turn time-to-first-token by ~80% across CLI, gateway, TUI, desktop, and cron by moving blocking Discord capability detection off the critical path and caching it to disk. v2026.7.7 · Jul 2026 · source · release history
Desktop plugin SDK shipped Provides a plugin SDK for building GUI extensions with floating pane placement and multi-window support, shipping a Kanban board as the first bundled plugin. 1 release · 1 other source · first seen Aug 2026

release

  • Adds a plugin SDK with ctx.download for handing users files, floating pane placement, and multiple GUI windows; includes Kanban as the founding plugin. v2026.8.3 · Aug 2026 · source · release history

docs

  • latest # Resume the most recent session (same as -c) latest --in ./dir # Resume ./dir's latest session, staying in ./dir Plugin management hermes plugins commands manage native Hermes plugins and portable Agent Plugins v1 packages through the same opt-in workflow: hermes plugins install owner/repository --no-enable docs-536eb20f120b · Aug 2026 · source
Shell escape shipped Lets users run a shell command instantly from the CLI with a `!command` prefix without consuming a model turn. 1 release · first seen Aug 2026

release

  • Adds !command shell escape to run a shell command instantly from the CLI without spending a model turn. v2026.8.3 · Aug 2026 · source · release history
Desktop app rendering performance shipped Cuts markdown-rendering CPU usage significantly via incremental block lexing, virtualised diff views, and eliminated per-token sidebar re-renders. 1 release · first seen Jul 2026

release

  • Delivers 14× less markdown-splitter CPU via incremental block lexing, virtualized review-pane diffs, and eliminated per-token sidebar re-renders in the desktop app. v2026.7.20 · Jul 2026 · source · release history
Capability
Evidence

Lines in monospace are the tool's own words — help text parsed from its source, or an endpoint from its API document. Everything else is our summary of a dated release or documentation change, linked back to the source it came from.

Release history

  1. docs update Aug 31, 2026 · issue 012

    Hermes adds database tuning, status-bar field selection, subagent request overrides, and WebSocket keepalive config keys.

    └──▷ USE IT
    Redirect session temp artifacts to a persistent disk path on an Arch-based host where /tmp is a small RAM-backed tmpfs that Hermes can fill under load.
    config.yaml
    terminal:
      temp_dir: /var/lib/hermes/session-tmp
    Route all subagent delegation calls to the fastest available OpenRouter provider using per-child request overrides.
    config.yaml
    delegation:
      model: "deepseek/deepseek-v4-flash-0731"
      endpoint: "https://openrouter.ai/api/v1"
      api_key: "sk-or-..."
      request_overrides:
        extra_body:
          provider:
            sort: throughput
    Show only model, context usage, cache hit ratio, and session token total in the CLI/TUI status bar — suppressing all other segments.
    config.yaml
    display:
      status_bar:
        fields:
          - context_detail
          - cache_hit
          - total_tokens
    • Adds optional WAL sizing pragmas database.wal_autocheckpoint (pages between checkpoints) and database.journal_size_limit (cap in bytes) to config.yaml.
    • Adds terminal.temp_dir config key and TERMINAL_TEMP_DIR environment variable to redirect session temp artifacts (logs, sandboxes, spilled tool results) away from RAM-backed tmpfs; unset paths auto-prune artifacts older than 72 hours hourly.
    • Adds docker_shared_container_key config key and TERMINAL_DOCKER_SHARED_CONTAINER_KEY environment variable to opt trusted profiles into a shared Docker container identity, enabling cross-profile container reuse in collaborative workspaces.
    • Adds display.status_bar.fields config key to select which CLI/TUI status-bar segments are visible — including opt-in total_tokens (session Σ, never shown by default), cache_hit, tps, latency, compressions, bg_tasks, and others.
    • Adds WebSocket keepalive tuning keys ws_ping_interval (default: 20.0 s), ws_ping_timeout (default: 20.0 s), and ws_orphan_reap_grace_s (default: 20.0 s), plus startup_orphan_sweep to close session rows orphaned by a dead gateway process at boot.
    +3 moreshow less
    • Adds lean tail-retention mode (default) for context compaction — clamped 2.5% tail, 10K–25K tokens, with session log, anchor index, and session_search recovery pointers in one auxiliary summarizer call, yielding ~3x fewer retained tokens after compaction versus the legacy 0.20× verbatim tail.
    • Auxiliary task timeouts are now configurable in config.yaml: vision defaults to 120 s, approval to 30 s, and compression to 120 s — useful when using slow local models for auxiliary tasks.
    • Compression fallback now retries a timed-out summary once against the first entry of auxiliary.compression.fallback_chain before skipping compaction and warning the user.
    └──▷ BREAKING ON UPGRADE
    • !AUXILIARY_WEB_EXTRACT_* environment variables are obsolete — web extraction no longer uses an auxiliary LLM, so any existing config relying on these variables has no effect.
  2. docs update Aug 30, 2026 · issue 011

    Hermes adds unattended_mode config to control dangerous-command handling in webhook and API sessions.

    └──▷ USE IT
    Set unattended API sessions to block dangerous commands immediately rather than waiting for an unreachable human approver.
    yaml
    unattended_mode: deny
    • Adds unattended_mode config key with deny and approve values to define how programmatic sessions (webhook, msgraph_webhook, api_server) respond to dangerous-command prompts — deny blocks the command instantly so the agent finds another path, approve auto-approves everything in unattended context.
  3. docs update Aug 30, 2026 · issue 011

    Hermes adds /bg and /btw commands for background tasks and aside questions without interrupting the current conversation.

    └──▷ TRY IT
    Kick off a security audit of all Python files in a repo while continuing to work on other tasks in the same session.
    $ /bg analyze all Python files in this repo and list any security issues
    Scan today's system logs for errors in the background without pausing an active coding or analysis session.
    $ /bg Analyze the logs in /var/log and summarize any errors from today
    • Adds /bg <prompt> command to run a task in the background while the current conversation continues uninterrupted.
    • Adds /btw <question> command to ask a side question about the current conversation without breaking its flow.
  4. docs update Aug 30, 2026 · issue 011

    Hermes adds glob-pattern tool filtering, tools.default_excluded block-lists, and automatic OAuth 2.1 relay in Desktop for remote backends.

    └──▷ USE IT
    Re-enable a family of tools that were blocked by a server's default_excluded list after installation.
    config.yaml
    mcp_servers:
      my-api-server:
        tools:
          exclude:
            - "*_admin_*"
    Filter a large auto-generated OpenAPI server to only the DNS-related tools using a glob pattern.
    config.yaml
    mcp_servers:
      cloudflare:
        tools:
          include:
            - "*_dns_*"
    Complete OAuth 2.1 sign-in against a remote Hermes backend without needing a tunnel or manual token paste.
    📍In the Desktop app, go to MCP Setup, select the hosted server (e.g. Linear or Sentry), and click 'Sign in'. Desktop hosts the callback listener on your local machine and relays the authorization to the remote gateway automatically.
    • Adds tools.default_excluded config key — a curated block-list of names and glob patterns that skips the tool-selection checklist on install and writes tools.exclude automatically; everything not matched stays enabled, including tools added by the server later.
    • Adds glob-pattern support to mcp_servers.<name>.tools.include and mcp_servers.<name>.tools.exclude in config.yaml — patterns like *_dns_* match case-sensitively against tool names, enabling practical filtering of servers that expose thousands of auto-generated endpoint tools.
    • Hermes Desktop now automatically hosts the OAuth 2.1 loopback callback listener on the local machine and relays the authorization back to a remote gateway — no tunnel, paste, or proxy required when running the MCP setup UI against a remote backend.
  5. docs update Aug 30, 2026 · issue 011

    Hermes adds /songsee skill and promotes Plan mode to a built-in command that saves markdown plans to the workspace.

    └──▷ HOW TO FIND IT
    Analyze the frequency spread of an audio mix using the /songsee skill.
    📍In the Hermes chat input, type: /songsee analyze the frequency spread of this mix
    • Adds /songsee skill for analyzing the frequency spread of an audio mix directly in Hermes.
    • Promotes Plan mode to a built-in command that inspects context, writes a markdown implementation plan instead of executing the task, and saves the result relative to the active workspace/backend working directory.
  6. docs update Aug 30, 2026 · issue 011

    Hermes adds extra_tools config to whitelist additional tools for background memory review forks.

    └──▷ USE IT
    Allow a custom staging tool to run during background memory review without granting it to the full parent agent session.
    yaml
    extra_tools:
      - propose_shared_memory
    • Adds extra_tools setting to a profile config, letting practitioners opt named tools (e.g. propose_shared_memory) into the background review fork's runtime whitelist for unattended memory, skill-management, and read-only file operations.
  7. docs update Aug 30, 2026 · issue 011
    └──▷ TRY IT
    Kick off a deployment while continuing to chat — the build runs in the background and you stay unblocked.
    $ /bg Build and deploy the staging environment
    • New /bg <prompt> command runs a task in the background so the conversation continues uninterrupted — supports long-running work like cluster health checks, builds, research, or file organization.
  8. docs update Aug 30, 2026 · issue 011

    Hermes gains granular SQLite tuning, status-bar field selection, WebSocket keepalive config, and per-subagent request overrides

    └──▷ USE IT
    Redirect session temp artifacts to fast local SSD storage on a host where /tmp is a small RAM-backed tmpfs (common on Arch-based distros).
    ~/.hermes/config.yaml
    terminal:
      temp_dir: /mnt/fast-ssd/hermes-tmp
    Route all subagent API calls to the fastest available OpenRouter provider using per-child request overrides.
    ~/.hermes/config.yaml
    delegation:
      model: "deepseek/deepseek-v4-flash-0731"
      endpoint: "https://openrouter.ai/api/v1"
      api_key: "sk-or-..."
      request_overrides:
        extra_body:
          provider:
            sort: throughput
    Show only model, duration, and opt-in session token total in the CLI/TUI status bar for a minimal, focused interface.
    ~/.hermes/config.yaml
    display:
      status_bar:
        fields:
          - duration
          - total_tokens
    • Adds database.journal_mode config key to config.yaml to select SQLite journal mode (wal default or delete) for state.db, with guidance for network mounts and virtiofs setups.
    • Adds database.synchronous config key (values: OFF, NORMAL, FULL, EXTRA / 0–3) to set durability level per state.db connection; macOS enforces a floor of FULL.
    • Adds optional database.wal_autocheckpoint (pages) and database.journal_size_limit (bytes) config keys to control WAL sizing for state.db.
    • Adds terminal.temp_dir config key (also TERMINAL_TEMP_DIR env var) to redirect session temp artifacts — background-process logs, code-execution sandboxes, spilled tool results — away from RAM-backed tmpfs; auto-prunes files older than 72 hours when unset.
    • Adds terminal.docker_shared_container_key config key (also TERMINAL_DOCKER_SHARED_CONTAINER_KEY env var) to opt trusted profiles into a shared Docker container identity, enabling explicit cross-profile collaboration while keeping task, egress, and network isolation checks.
    +9 moreshow less
    • Adds display.status_bar.fields config key to choose which status-bar segments are visible in the CLI/TUI, including opt-in total_tokens session total; supported field names include context_detail, context_pct, cache_hit, latency, tps, compressions, bg_tasks, bg_processes, bg_subagents, goal, duration, prompt_elapsed, idle_since, focus, yolo, battery, title, and total_tokens.
    • Adds hygiene_max_turn_hold_seconds config key (default 10) to cap how long an incoming turn waits on hygiene compression before proceeding uncompressed, preventing silent freezes on Telegram and similar transports.
    • Adds delegation.request_overrides config key for per-child request settings (e.g. extra_body with OpenRouter routing hints) applied on every subagent API call across all three resolution branches.
    • Adds delegation.surface_child_process_notifications: true config key to deliver child background-process completion/watch notifications (with subagent attribution) to the parent conversation.
    • Adds server.trusted_proxies config key accepting IP addresses or CIDR networks allowed to supply X-Forwarded-Proto and X-Forwarded-For headers from reverse proxies.
    • Adds server.ws_ping_interval and server.ws_ping_timeout config keys (default 20.0 seconds each) for WebSocket keepalive tuning on non-loopback binds, useful on high-latency links such as Tailscale or distant SSH tunnels.
    • Adds server.startup_orphan_sweep config key to close session rows orphaned by a dead gateway process at boot.
    • Compression tail retention now supports a lean mode (default) — clamped 2.5% tail, 10K–25K tokens, with digests, anchor index, and session_search recovery pointers — alongside the previous legacy mode (0.20× threshold verbatim tail), yielding roughly 3× fewer retained tokens after compaction.
    • ChatGPT-authenticated requests to the official Codex endpoint now automatically send originator: hermes-agent and User-Agent: HermesAgent/<version> for OpenAI third-party identity compliance; direct OpenAI API and custom proxy endpoints are unchanged.
    └──▷ BREAKING ON UPGRADE
    • !AUXILIARY_WEB_EXTRACT_* environment variables are obsolete — web extraction no longer uses an auxiliary LLM, so any existing config referencing these variables has no effect.
    • !An existing on-disk WAL state.db is never live-downgraded when database.journal_mode: delete is configured — Hermes keeps WAL and logs an error; converting requires stopping all processes and running PRAGMA journal_mode=DELETE offline.
  9. docs update Aug 30, 2026 · issue 011

    Hermes CLI gains --oneshot and --query-file flags, smarter port-conflict detection, and restart-phase recovery for supervised gateways.

    └──▷ TRY IT
    Answer a single query from a file and exit — useful in CI pipelines or non-interactive scripts.
    $ hermes chat --oneshot --query-file query.txt
    Start the backend on an ephemeral port to avoid conflicts when running multiple instances; parse the announced port for downstream scripts.
    $ hermes serve --port 0
    • Adds --oneshot flag to hermes chat to answer a single query and exit, replicating pre-0.21 single-query behavior; without it, -q seeds an interactive session that stays open — useful for OS launchers and desktop integrations.
    • Port-conflict detection on hermes backend startup now prints machine-readable sentinel BACKEND_PORT_IN_USE port=<port> to stdout and exits with code EX_TEMPFAIL instead of a generic error, letting scripts and the desktop app distinguish 'port occupied' from 'backend broken'.
    • Pass --port 0 to bind a free ephemeral port; the successful boot announces the chosen port via HERMES_BACKEND_READY port=<port>.
    • Restart-phase recovery now retries supervised gateway profiles through a clean Python process if the in-process restart aborts during import; only restarts confirmed by systemctl --user is-active are reported as verified, while others are recorded as relaunch_attempted.
  10. docs update Aug 30, 2026 · issue 011
    └──▷ TRY IT
    Kick off a cluster health check in the background while you keep chatting — useful in incident response when you need parallel awareness without losing your place.
    $ /bg Check all servers in the cluster and report any that are down
    Trigger a full staging build and deploy without pausing your current conversation thread.
    $ /bg Build and deploy the staging environment
  11. docs update Aug 30, 2026 · issue 011
    └──▷ TRY IT
    Trigger a background security audit of all Python files while continuing to work in the same session.
    $ /bg analyze all Python files in this repo and list any security issues
    Check the status of a previously launched background task without disrupting the active conversation.
    $ /bg
  12. docs update Aug 30, 2026 · issue 011

    Hermes adds three new LLM gateway integrations: Ramp Router, Nebius Token Factory, and Tencent TokenPlan.

    └──▷ TRY IT
    Route requests across OpenAI, Anthropic, and xAI providers through Ramp Router without changing your existing workflow.
    $ RAMP_ROUTER_API_KEY=<your-key>
    Access Tencent Hy models via an Anthropic-compatible endpoint by setting the TokenPlan key.
    $ TOKENPLAN_API_KEY=<your-key>
    • Adds RAMP_ROUTER_API_KEY to enable Ramp Router, a Responses-native LLM gateway with routing across OpenAI, Anthropic, xAI, and other providers.
    • Adds NEBIUS_API_KEY to enable Nebius Token Factory, providing access to open models on Nebius AI cloud.
    • Adds TOKENPLAN_API_KEY to enable Tencent TokenPlan, which exposes Tencent Hy models via an Anthropic-style endpoint.
  13. docs update Aug 29, 2026 · issue 010

    Hermes adds fine-grained database, temp, Docker, WebSocket, and compression config keys across database and gateway settings

    └──▷ USE IT
    Switch state.db to DELETE journal mode on a network-mounted filesystem where WAL is unsafe, and cap the WAL file size.
    config.yaml
    database:
      journal_mode: delete
      journal_size_limit: 67108864  # 64 MiB
    Redirect session temp artifacts away from a RAM-backed tmpfs (common on Arch-based distros) to a persistent local path that won't fill under load.
    config.yaml
    terminal:
      temp_dir: /var/lib/hermes/session-tmp
    Allow two trusted profiles to share a single Docker container while keeping all other profiles isolated.
    config.yaml
    docker_shared_container_key: team/workspace
    • Adds database.journal_mode config key to config.yaml to switch state.db between wal (default) and delete journal modes — useful for network mounts or virtiofs setups where WAL is unsafe.
    • Adds terminal.temp_dir config key (and TERMINAL_TEMP_DIR environment variable) to redirect where Hermes stores session temp artifacts on the local backend; defaults to honoring TMPDIR/TMP/TEMP or ~/.hermes/cache/terminal, with auto-pruning of artifacts older than 72 hours.
    • Adds docker_shared_container_key config key (and TERMINAL_DOCKER_SHARED_CONTAINER_KEY environment variable) to opt trusted profiles into a shared Docker container identity, replacing per-profile isolation with a common sanitized label — similar-looking keys like team/workspace and team_workspace are disambiguated with a digest suffix.
    • Adds hygiene_max_turn_hold_seconds config key (default 10) to cap how long the gateway holds an incoming message waiting on hygiene compression before proceeding uncompressed, preventing transport idle-timeout disconnects on slow summary models.
    • Changes tail-retention mode default to lean — clamped 2.5% tail, 10K–25K tokens retained, with digests, anchor index, and session_search recovery pointers in the summary — producing ~3x fewer retained tokens after compaction versus the previous legacy (0.20× threshold verbatim tail) mode.
    +3 moreshow less
    • Adds auxiliary.compression.fallback_chain config support: when hygiene_max_turn_hold_seconds elapses, Hermes retries compression once against the first entry of the fallback chain before skipping compaction and warning the user.
    • Adds startup_orphan_sweep feature: on every gateway boot, rows with source tui, desktop, or subagent older than HERMES_TUI_SESSION_TTL_S (default 6 hours) are closed with end_reason: startup_orphan_reap, clearing phantom 'active' sessions from /resume and dashboards; messaging-platform and live in-memory sessions are excluded.
    • Adds automatic originator: hermes-agent and User-Agent: HermesAgent/<version> headers to ChatGPT-authenticated requests to the official OpenAI Codex endpoint to satisfy OpenAI's third-party harness identification requirement; direct OpenAI API and custom proxy requests are unchanged.
    └──▷ BREAKING ON UPGRADE
    • !Compression and fallback model settings are now config.yaml-only; AUXILIARY_WEB_EXTRACT_* environment variables are obsolete — web extraction no longer uses an auxiliary LLM.
    • !An existing on-disk WAL database is never live-downgraded when database.journal_mode: delete is configured — Hermes keeps WAL and logs an error; converting requires stopping all processes and running PRAGMA journal_mode=DELETE offline.
  14. docs update Aug 28, 2026 · issue 009

    Hermes Agent launches with multi-platform install, Desktop app, messaging gateway, Tool Gateway, and CLI config commands.

    └──▷ TRY IT
    Fastest way to get Hermes fully configured — logs into Nous Portal, selects the provider, and enables the Tool Gateway in one step.
    $ hermes setup --portal
    Install Hermes on a headless server or unprivileged service account where browser automation is not needed.
    $ curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
    Connect Hermes to a messaging platform (Telegram, Discord, Slack, etc.) for an always-on bot or workflow after the base CLI chat is working.
    $ hermes gateway setup
    • Adds hermes setup --portal to log in to Nous Portal, set Nous as the LLM provider, and enable the Tool Gateway (web search, image generation, TTS, cloud browser) in a single command.
    • Adds hermes gateway setup CLI command to configure messaging platform integrations (Telegram, Discord, Slack, and others).
    • Adds hermes model command to choose and configure LLM provider and model.
    • Adds hermes tools command to configure which tools are enabled.
    • Adds hermes config set and hermes config get commands to set and inspect individual configuration values.
    +9 moreshow less
    • Adds hermes config check and hermes config migrate commands to validate and migrate configuration after updates.
    • Adds hermes profile import and hermes import commands for restoring a single agent profile or a full backup when moving to another machine.
    • Adds hermes doctor diagnostic command that identifies missing dependencies and surfaces the detected install method (git installer, Docker, or NixOS).
    • Adds hermes desktop command to launch the Desktop application after a CLI-only install.
    • Supports --skip-browser flag on the install script to skip Playwright/Chromium installation for headless deployments.
    • Supports --skip-computer-use flag on the install script to defer cua-driver (Computer Use toolset) installation to on-demand.
    • Supports root-mode FHS install layout (/usr/local/lib/hermes-agent/, /usr/local/bin/hermes) for shared-machine and system service deployments, with per-user config still under ~/.hermes/ or $HERMES_HOME.
    • Includes Tool Gateway giving access to web search, image generation, TTS, and a cloud browser through a single Nous Portal subscription.
    • Provides Nix flake, declarative NixOS module, and optional container mode for Nix/NixOS users (best-effort support).
  15. docs update Aug 28, 2026 · issue 009

    Hermes Agent launches as a terminal-native autonomous coding and task agent with persistent memory, skills, multi-platform messaging, and broad LLM provider support.

    └──▷ TRY IT
    Install Hermes Agent on Linux, macOS, or WSL2 in a single step.
    $ curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
    Keep an autonomous session alive by re-prompting every 10 minutes when idle — useful for long-running deployment monitors.
    $ /heartbeat every 10m Check the deployment.
    Migrate an existing Claude Code setup into Hermes, preserving instructions, allowlists, MCP servers, skills, and memories.
    📍In the Hermes CLI, run: Import from Other Agents — choose 'Claude Code' to import from ~/.claude
    • Supports config.yaml for configuring providers, models, and API keys across Nous Portal, OpenRouter, OpenAI, Anthropic, Google, and any OpenAI-compatible endpoint.
    • Adds .hermes.md, AGENTS.md, CLAUDE.md, and .cursorrules as project-level context files auto-injected into every conversation.
    • Adds @-syntax (Context References) for attaching files, folders, git diffs, and URLs inline in messages.
    • Installs via curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash on Linux, macOS, WSL2, and Termux (Android).
    • Runs on local, Docker, SSH, Daytona, Modal, or Singularity terminal backends.
    +30 moreshow less
    • Messaging gateway supports 21+ platforms natively — including Telegram, Discord, Slack, SMS, and Matrix — plus IRC and Microsoft Teams via plugins.
    • Ships a TUI (Ink terminal UI) with mouse support, rich overlays, and non-blocking input alongside the classic CLI.
    • Includes a native desktop app (Hermes Desktop) for macOS, Windows, and Linux with streaming tool output, side-by-side previews, file browser, voice, cron, profiles, skills, and settings.
    • Supports git worktrees to run multiple isolated Hermes agents safely on the same repository.
    • Adds Checkpoints and Rollback via shadow git repos and automatic snapshots for filesystem safety on destructive operations.
    • Introduces Bot Mode — profiles become named Bots with individual chat, role, model, memory, skills, and avatar; bots can run routines, share group chats, and message each other.
    • Adds Skills System with on-demand knowledge documents, agent-managed skill creation, and a Skills Hub.
    • Includes a Curator subsystem for background maintenance of agent-created skills — usage tracking, staleness detection, archival, and LLM-driven review.
    • Supports external memory provider plugins including Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, and Supermemory.
    • Adds LSP-based semantic diagnostics wired into the post-write lint check used by write_file and patch, supporting pyright, gopls, rust-analyzer, and more.
    • Adds Mixture of Agents (MoA) presets that appear as selectable models under the Mixture of Agents provider.
    • Supports Deliverable Mode — ships generated charts, PDFs, spreadsheets, and other files as native attachments in messaging platforms.
    • Adds Session Heartbeats — a recurring idle prompt (e.g. /heartbeat every 10m) that re-enters the current session automatically.
    • Adds Recurring Loops to re-run a prompt on a recurring interval inside a session.
    • Adds Wake Word ('Hey Hermes') for hands-free voice session activation.
    • Adds Subscription Proxy to expose a Nous Portal subscription (or other OAuth provider) as an OpenAI-compatible endpoint for external apps.
    • Supports one-command import from Claude Code (~/.claude) or OpenAI Codex CLI (~/.codex) — migrates instructions, allowlists, MCP servers, skills, and memories.
    • Adds Managed Scope — an administrator-pinned, user-immutable config and secrets layer via a system-level managed directory.
    • Adds Egress proxy and credential-injection proxy (iron-proxy) for controlled outbound traffic.
    • Supports Bitwarden Secrets Manager, 1Password, and a Command Helper as pluggable secret sources.
    • Adds Google Workspace skill for sending email, managing calendar events, searching Drive, and reading/writing Sheets and Docs via OAuth2.
    • Supports NixOS deployment including a fully declarative NixOS module and container mode via nix run.
    • Adds a browser-based Hermes Web Dashboard for managing configuration, API keys, and agent administration.
    • Adds Extending the Dashboard capability — build themes and plugins with custom tabs, shell slots, page-scoped slots, and backend API routes.
    • Adds Profile Distributions for packaging and sharing a complete agent profile.
    • Adds Pets (Petdex Mascots) — animated mascots that react to agent activity across CLI, TUI, and desktop.
    • Adds Skins and Themes for customizing the Hermes CLI appearance.
    • Adds Spotify integration.
    • Supports running multiple gateways simultaneously via multi-profile gateway configuration.
    • Supports connecting Hermes Desktop to multiple Hermes instances simultaneously.
  16. docs update Aug 28, 2026 · issue 009

    Hermes Desktop voice mode now uses a client-direct path for STT/TTS, skipping the gateway relay for supported providers.

    • Adds client-direct voice mode for Hermes Desktop when connected to a remote gateway: the desktop fetches STT/TTS settings via GET /api/audio/voice-config, then calls providers directly so audio never traverses the gateway link.
    • Microphone audio goes straight from the desktop to the profile's STT provider; only the resulting text is forwarded to the gateway as the prompt.
    • Reply text streamed over the chat socket is synthesized locally by the desktop's TTS provider, keeping audio entirely off the gateway link.
    • Supports client-direct wire for OpenAI (including Nous-managed audio), Groq, Mistral, DeepInfra (OpenAI-compatible), xAI Grok STT, and ElevenLabs STT + TTS.
    • Providers that cannot run remotely (local Whisper, TTS, command providers, plugins) and any older backend lacking GET /api/audio/voice-config automatically fall back to the relay path (/api/audio/transcribe and the speech WebSocket).
    +2 moreshow less
    • Adds client_direct config setting to force the relay path for every provider, overriding client-direct negotiation.
    • Session credentials are held in desktop memory only for the duration of the voice session and are never written to disk on the client.
  17. docs update Aug 28, 2026 · issue 009

    Hermes MCP config gains glob pattern support for tool filtering and a tools.default_excluded block-list for large OpenAPI servers.

    • Adds tools.default_excluded config key in config.yaml to declare a curated block-list of tool names and glob patterns for MCP servers with very large auto-generated tool surfaces (e.g. ~3,300 OpenAPI endpoint tools); installing such a server skips the checklist and writes tools.exclude automatically.
    • Adds glob pattern support to tools.exclude and tools.include entries in mcp_servers.<name> config — e.g. include: ["*_dns_*"] registers every tool whose name contains _dns_; plain entries without metacharacters remain exact-match; globs are matched case-sensitively.
    • Supports OAuth 2.1 authentication for hosted MCP servers including Cloudflare, Linear, Sentry, Atlassian, Asana, Figma, and Stripe, replacing static bearer tokens.
  18. docs update Aug 28, 2026 · issue 009

    Hermes gains fine-grained SQLite tuning, cross-profile Docker sharing, WebSocket keepalive config, and child-process notification surfacing.

    └──▷ USE IT
    Switch state.db to DELETE journal mode on a network-mounted filesystem where WAL is unsafe, and cap the journal size.
    config.yaml
    database:
      journal_mode: delete
      journal_size_limit: 67108864  # 64 MB cap
    Let two trusted profiles share one Docker container so they collaborate in a single workspace rather than spinning up separate containers.
    config.yaml
    docker_shared_container_key: team/workspace
    Raise WebSocket keepalive timeouts and orphan grace period to avoid spurious disconnects on a high-latency Tailscale link.
    config.yaml
    trusted_proxies:
      - 100.64.0.1
    ws_ping_interval: 60.0
    ws_ping_timeout: 60.0
    ws_orphan_reap_grace_s: 90.0
    • Adds database.journal_mode config key (values: wal (default) or delete) to control the SQLite journal mode for state.db, with a warning when a manually converted database is silently flipped back to WAL on open.
    • Adds database.synchronous config key (values: OFF, NORMAL, FULL, EXTRA or 03) to set the durability level per state.db connection; on macOS, values below FULL are refused to guard against Darwin fsync reordering.
    • Adds database.wal_autocheckpoint and database.journal_size_limit optional integer config keys to tune WAL checkpoint frequency and cap WAL/journal file size in bytes.
    • Adds docker_shared_container_key config key (also settable via TERMINAL_DOCKER_SHARED_CONTAINER_KEY) to opt trusted profiles into a shared Docker container identity, replacing per-profile isolation for profiles that intentionally collaborate in one trusted workspace.
    • Adds delegation.surface_child_process_notifications: true config key to deliver background-process completion and watch notifications from subagent child processes to the parent conversation (suppressed by default).
    +8 moreshow less
    • Adds trusted_proxies config key accepting IP addresses or bounded CIDR networks that are allowed to supply X-Forwarded-Proto and X-Forwarded-For headers; loopback is trusted automatically and /0 wildcards are rejected.
    • Adds ws_ping_interval (default 20.0 s) and ws_ping_timeout (default 20.0 s) config keys for WebSocket keepalive tuning on non-loopback binds, useful for high-latency links like Tailscale or distant SSH tunnels.
    • Adds ws_orphan_reap_grace_s config key (default 20.0 s) controlling how long a WS-detached session waits before the orphan reaper collects it.
    • Adds startup_orphan_sweep behavior — on every gateway boot, session rows with source tui, desktop, or subagent that are older than the session TTL (HERMES_TUI_SESSION_TTL_S, default 6 hours) are closed with end_reason: startup_orphan_reap, clearing phantom 'active' sessions from /resume and dashboards.
    • Adds lean tail-retention mode for context compression (clamped 2.5% tail, 10K–25K tokens, with digests, anchor index, and session-search recovery pointers; ~3x fewer retained tokens after compaction) alongside the existing legacy (0.20× threshold verbatim tail) mode.
    • Adds compression fallback via auxiliary.compression.fallback_chain — on summary-model timeout Hermes retries once against the first entry in the fallback chain before skipping compaction.
    • ChatGPT-authenticated requests to the official OpenAI Codex endpoint now automatically send originator: hermes-agent and User-Agent: HermesAgent/<version> to satisfy OpenAI's third-party harness identification requirement; direct API and custom proxy requests are unchanged.
    • Notes that AUXILIARY_WEB_EXTRACT_* environment variables are now obsolete — web extraction no longer uses an auxiliary LLM.
    └──▷ BREAKING ON UPGRADE
    • !An existing on-disk WAL state.db is never live-downgraded when database.journal_mode: delete is set — Hermes keeps WAL and logs an error. To convert, stop all processes using the database and run PRAGMA journal_mode=DELETE offline.
    • !AUXILIARY_WEB_EXTRACT_* environment variables are obsolete and no longer take effect — web extraction no longer uses an auxiliary LLM model.
  19. docs update Aug 28, 2026 · issue 009

    Hermes Bot Mode gains typed failure reason codes, automatic cross-machine roster propagation, and Desktop-relayed bot-to-bot messaging.

    └──▷ TRY IT
    Message a Hermes Cloud agent from a local bot, disambiguating when the same handle exists on multiple connected machines.
    $ message_agent(target="moxie@hermes-cloud", …)
    • Adds machine-readable reason codes (provider_auth_or_access, provider_quota_limit, provider_rate_limit, provider_server_error, context_overflow, missing_config, model_unavailable, runtime_offline, queued_expired, delivery_timeout, target_busy, unknown) to failed bot-turn and relay-delivery notifications, letting a calling agent branch on the code rather than parse error prose; the Desktop needs-attention badge uses the same codes.
    • Failed delivery turns now auto-retry at most once for transient failures (runtime offline, delivery timeout, provider rate limit, provider server error); a context_overflow failure retries with a context-compression pass so the turn fits within model limits; auth, quota, and configuration failures surface immediately without retrying.
    • Cross-machine bot messaging via message_agent(target="<handle>", …) or target="<handle>@<connection>" for disambiguation — the Desktop relays messages between any registered gateway (local, remote URL, SSH, Hermes Cloud, Docker) with no extra setup.
    • Agent rosters propagate automatically across all connected gateways: each Bot Chat's teammate list includes agents on other connected machines with names, roles, and machine labels, refreshing when agents appear, disappear, or are renamed.
  20. docs update Aug 28, 2026 · issue 009

    Hermes CLI gains --query-file, --oneshot, --port 0 ephemeral binding, and machine-readable port-conflict sentinel lines.

    └──▷ TRY IT
    Pipe a one-shot query into Hermes from a file in CI, getting a single answer and a clean exit.
    $ hermes chat --oneshot --query-file ./prompt.txt
    Start the Hermes backend on a free ephemeral port to avoid conflicts when multiple instances run side-by-side.
    $ hermes serve --port 0
    • Adds --query-file flag to hermes chat to read a query from a file instead of stdin.
    • Adds --oneshot flag to hermes chat to answer a query and exit (restoring pre-0.21 single-query behavior) rather than seeding an interactive session.
    • Adds -q short flag as a seed-prompt option; on a real TTY this seeds an interactive session, while with --oneshot or non-TTY stdio it answers and exits.
    • Adds --port 0 to hermes backend startup to bind a free ephemeral port, with the chosen port announced via the HERMES_BACKEND_READY port=<port> sentinel line on stdout.
    • Emits a machine-readable BACKEND_PORT_IN_USE port=<port> sentinel line to stdout and exits with code EX_TEMPFAIL when the requested port is already occupied, enabling scripts and desktop integrations to distinguish port conflicts from backend failures.
    +1 moreshow less
    • Adds restart-phase recovery: if an in-process restart aborts during import of a freshly pulled tree, supervised gateway profiles are retried through a clean Python process; restarts are reported as relaunch_attempted when not independently confirmed by systemctl --user is-active.
  21. docs update Aug 28, 2026 · issue 009

    Hermes adds Browser Use Cloud as an alternative managed browser integration with stealth, CAPTCHA solving, and residential proxies.

    • Adds Browser Use Cloud as an alternative cloud browser provider, offering managed Chromium with stealth mode, residential proxies, CAPTCHA solving, and reusable browser profiles for agent-driven web automation.
  22. v2026.8.27 Aug 27, 2026 · issue 009

    Hermes v2026.8.27 adds fleet profile rail, consent-gated real Chromium profile browsing, TTL result caching, OS-keychain encryption, MCP catalog expansion, and more.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.27 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.27
    • Adds fleet profile rail showing every registered gateway's agents on a single strip in the desktop UI.
    • Supports consent-gated real-profile browsing using the user's default Chromium profile for local browsing, with a Windows close-with-approval flow.
    • Adds TTL result caching for web_search and web_extract tool calls.
    • Adds opt-in OS-keychain encryption for stored secrets, eliminating per-launch macOS Keychain prompts.
    • Expands the remote MCP catalog to 50+ live-verified vendor-hosted servers, including Cloudflare, Grafana Cloud, Better Stack, and Railway.
    +12 moreshow less
    • Gives the desktop Browser its own OS window.
    • Enables updaters to pause gateways over the control socket instead of tree-killing them.
    • Adds multi-query support and stemming to tool_search.
    • Makes lean-tail compression the default.
    • Adds pluggable terminal environment backends.
    • Adds shared Docker container identities.
    • Adds Slack link-unfurl controls.
    • Adds new models to pickers: GLM-5.3-Flash (via z-ai/glm-5.3-flash on OpenRouter and Nous Portal), MiniMax M3 free, and MiniMax H3 Max video.
    • Adds cron durable-incident acknowledgements and clearer code-skew failure messages.
    • Network-bound serve backends now survive hermes update on their recorded endpoints.
    • Folds an agent-as-provider's own tool work back into the turn.
    • Carries the review handoff summary into the kanban wake turn.
    └──▷ BREAKING ON UPGRADE
    • !Image and package-managed installs now refuse unsafe in-place updates (phase 3 of #91277) — upgrade paths that previously performed in-place updates will be rejected.
  23. v2026.8.19 Aug 21, 2026 · issue 004

    Hermes v2026.8.19 adds a 5-vendor keyless web ring with failover, keyed-backend rescue, agent-driven browser preview, and desktop theme/glass updates.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.19 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.19
    • Expands the keyless web tier to a 5-vendor round-robin ring (Exa, Parallel, Tavily, Firecrawl, Keenable) with automatic ring failover on rate-limit-shaped errors; served_by field marks the actual vendor on rescued results.
    • Adds Tavily keyed/keyless dual auth via X-Tavily-Access-Mode: keyless and X-Client-Name: hermes-agent headers in plugins/web/keyless_mcp.py.
    • New drive_preview and annotate_preview agent tools let the agent interact with and annotate a browser preview page it has opened.
    • Desktop preview overlay now shows a real-time display of what the agent is doing on the page, driven by real input rather than synthetic events.
    • Desktop: durable element handles and delta-only page updates replace full-page snapshots in the act engine.
    +5 moreshow less
    • Consolidates hermes version into hermes --version, removing the subcommand.
    • Desktop update flow now updates every target — remote backends, other gateways, and the app itself — in a single operation.
    • Desktop ships GitHub themes with Nous blue as default, an accent picker plugin (off by default), and glass effects tuned per appearance and platform.
    • Identical agent tool re-calls are now deduplicated into reference stubs in context rather than duplicate payloads, reducing token consumption.
    • Keyed web rescue annotates results with rescued_from and backend_error fields naming the original failure and retry semantics.
    └──▷ BREAKING ON UPGRADE
    • !The hermes version subcommand is removed; use hermes --version instead.
  24. v2026.8.18 Aug 18, 2026 · issue -001

    Hermes v2026.8.18 adds tabbed SESSIONS|BOTS sidebar, NVIDIA SkillEvaluator advisory scanning, glass UI surfaces, and cron media-send hardening.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.18 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.18
    └──▷ TRY IT
    Update an existing Hermes install while getting accurate status if your branch is parked.
    $ hermes update
    • Adds hermes update parked-branch honesty, now accurately reporting when the local branch is parked rather than silently misreporting state.
    • Adds NVIDIA SkillEvaluator Tier 1 advisory scanning on skill installs, running license and security checks before a skill is installed.
    • Adds configurable timeout for cron media-send jobs, with support for manual-run attachments and surfacing of missed-fire events.
    • Adds a tabbed SESSIONS|BOTS sidebar with per-bot hide/unhide controls.
    • Adds desktop glass/translucency UI surface work including matte glass, a frost picker, and macOS pre-select behavior.
    +2 moreshow less
    • Adds native OS notifications for kanban board events.
    • Extends Bot Mode group-chat support with fixes for long-running member turns, Markdown rendering, and cross-machine routing.
  25. v2026.8.18 Aug 18, 2026 · issue 001

    Hermes v2026.8.18 adds Browser Use CLI 3.0 mode, hermes peer bot-to-bot DMs, Meta Muse Spark provider, inline plugin components, and per-plugin durable storage.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.18 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.18
    └──▷ TRY IT
    Send a direct message from one bot to another across machines or gateways without opening an interactive session.
    $ hermes peer <target> "Run the nightly audit and report back"
    • Adds hermes peer CLI subcommand for bot-to-bot DMs across machines and gateways.
    • Bundles the Meta Model API (Muse Spark) provider plugin and adds Meta Muse Spark 1.2 to the OpenRouter curated picker.
    • Enables plugins to render inline components inside assistant messages via ::name{...} directives, including ::preview for live in-message page previews.
    • Adds per-plugin durable data directories that survive plugin updates and removal.
    • Adds cross-connection Bot Mode — Create-on picker and multi-machine group chats, plus a disband (delete) action for group chats.
    +4 moreshow less
    • Adds NVIDIA SkillEvaluator Tier 1 advisory scanning (license and security checks) on skill installs, plus project-skill quarantine and non-interactive trust inheritance.
    • Widget clicks now reach the agent as hidden user turns, making widget interaction a first-class agentic response path.
    • Surfaces an in-app warning (with installer link) in About when the app build is out of sync with the runtime.
    • Adds the Browser Use mode A/B benchmark to the evals suite (from PR #81958).
  26. v2026.8.16.2 Aug 17, 2026 · issue 001

    Hermes v2026.8.16.2 adds Bot Mode plugin, Cua Driver 0.20, remote gateway headers, /rollback --all, and raised Codex OAuth context limits.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.16.2 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.16.2
    • Bundles Bot Mode (hermes-bots) as a built-in, default-on desktop plugin implementing the core teammate protocol for Bot Chat sessions.
    • Supports Cua Driver 0.20 runtime contracts for computer-use, including auto-repair of installed drivers that fail the runtime contract at update or runtime.
    • Adds remote gateway headers support in the desktop app, carried through the connections registry, test probes, and Settings UI.
    • Adds status bar reconnect for offline gateways and self-healing for dropped SSH/HTTP registered remote connections in the desktop.
    • Adds connection-aware plugin routing in the desktop, scoping plugin socket connections and session/pin lists per connection.
    +4 moreshow less
    • Raises Codex OAuth context to 900K tokens for the gpt-5.6 family and gpt-5.4 (subscription 1M rollout), up from a previous raise to 350K for live-verified sessions.
    • Adds context-manager protocol support on SessionDB for safer session database lifecycle management.
    • Adds capability-refresh and timeless prompts for eternal Bot Chat sessions, plus a one-time protocol upgrade path for legacy Bot Chat sessions.
    • Syncs bundled Bot Mode with a multi-source roster.
  27. v2026.8.16.2 Aug 17, 2026 · issue -002

    Hermes v2026.8.16.2 adds Bot Mode plugin, Cua Driver 0.20, remote gateway headers, /rollback --all, and raised Codex OAuth context limits.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.16.2 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.16.2
    • Bundles Bot Mode (hermes-bots) as a built-in, default-on desktop plugin implementing the core teammate protocol for Bot Chat sessions.
    • Supports Cua Driver 0.20 runtime contracts for computer-use, including auto-repair of installed drivers that fail the runtime contract at update or runtime.
    • Adds remote gateway headers support in the desktop app, carried through the connections registry, test probes, and Settings UI.
    • Adds status bar reconnect for offline gateways and self-healing for dropped SSH/HTTP registered remote connections in the desktop.
    • Adds connection-aware plugin routing in the desktop, scoping plugin socket connections and session/pin lists per connection.
    +4 moreshow less
    • Raises Codex OAuth context to 900K tokens for the gpt-5.6 family and gpt-5.4 (subscription 1M rollout), up from a previous raise to 350K for live-verified sessions.
    • Adds context-manager protocol support on SessionDB for safer session database lifecycle management.
    • Adds capability-refresh and timeless prompts for eternal Bot Chat sessions, plus a one-time protocol upgrade path for legacy Bot Chat sessions.
    • Syncs bundled Bot Mode with a multi-source roster.
  28. v2026.8.16 Aug 16, 2026 · issue 001

    Hermes v2026.8.16 adds key_cmd credential source, lean compaction mode, SDK plugin exports, and per-turn wall-clock timing.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.16 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.16
    └──▷ USE IT
    Use a short-lived SSO token from an internal auth CLI instead of a static API key, so credentials never go stale mid-session.
    .env
    providers:
      my-gateway:
        base_url: https://gateway.internal.example.com/v1
        api_mode: chat_completions
        key_cmd: my-auth-cli print-token --profile prod
    • Adds key_cmd credential source in the providers config block, letting Hermes run an arbitrary command to mint short-lived bearer tokens instead of storing static keys — output can be a bare token or JSON with access_token / expires_in fields; tokens are cached until near expiry.
    • Exports McpTab, ToolsetConfigPanel, and HermesGateway type from @hermes/plugin-sdk, plus host.getGateway() returning the live $gateway instance, so desktop plugins can render full credential/OAuth/MCP configuration panels identical to Settings → Capabilities.
    • Adds per-turn wall-clock duration display in the desktop transcript.
    • Adds user-facing authorization flow for cua-driver browser attachment in computer-use mode.
    • Adds multi-source agent support in the desktop app (sockets, roster, SDK, fan-out updates).
    +1 moreshow less
    • Adds INFO log records for 'prompt accepted / turn finished' on the Desktop/TUI turn path.
  29. v2026.8.16 Aug 16, 2026 · issue -003

    Hermes v2026.8.16 adds key_cmd credential source, lean compaction mode, SDK plugin exports, and per-turn wall-clock timing.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.16 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.16
    └──▷ USE IT
    Use a short-lived SSO token from an internal auth CLI instead of a static API key, so credentials never go stale mid-session.
    .env
    providers:
      my-gateway:
        base_url: https://gateway.internal.example.com/v1
        api_mode: chat_completions
        key_cmd: my-auth-cli print-token --profile prod
    • Adds key_cmd credential source in the providers config block, letting Hermes run an arbitrary command to mint short-lived bearer tokens instead of storing static keys — output can be a bare token or JSON with access_token / expires_in fields; tokens are cached until near expiry.
    • Exports McpTab, ToolsetConfigPanel, and HermesGateway type from @hermes/plugin-sdk, plus host.getGateway() returning the live $gateway instance, so desktop plugins can render full credential/OAuth/MCP configuration panels identical to Settings → Capabilities.
    • Adds per-turn wall-clock duration display in the desktop transcript.
    • Adds user-facing authorization flow for cua-driver browser attachment in computer-use mode.
    • Adds multi-source agent support in the desktop app (sockets, roster, SDK, fan-out updates).
    +1 moreshow less
    • Adds INFO log records for 'prompt accepted / turn finished' on the Desktop/TUI turn path.
  30. v2026.8.13 Aug 13, 2026 · issue 001

    Hermes v2026.8.13 adds setup_mcp consent cards, profiles.list/profiles.create ws RPCs, per-route webhook toolset overrides, and an image.generate ws RPC for plugins.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.13 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.13
    └──▷ USE IT
    Enumerate all profiles from a desktop plugin to build a roster UI, including a last-session preview per profile.
    javascript
    // Inside a desktop plugin, via host.request ws JSON-RPC
    host.request('profiles.list', { include_sessions: true })
    • Adds profiles.list and profiles.create ws JSON-RPC methods (in tui_gateway/methods_profiles.py), letting desktop plugins enumerate profiles (name, path, model/provider, description, skill_count, optional last_session preview via include_sessions) and create new profiles without going through the dashboard REST router.
    • Adds image.generate ws RPC for plugin surfaces, enabling plugins to trigger image generation through the agent backend.
    • Adds per-route toolset overrides for webhook agent runs, allowing different tool sets to be configured per webhook route.
    • Adds setup_mcp tool with an inline MCP consent card rendered as an interactive clarify-style blocking bridge in the desktop transcript, letting users approve MCP server connections without leaving the conversation.
    • Suggests MCP servers from the composer draft as brand pills in the desktop UI.
    +6 moreshow less
    • Adds cron and blueprint recipe shortcuts to the sidebar nav rail in the desktop app.
    • Surfaces model drift impact in the desktop cron view.
    • Adds skill-match, connection-repair, and recurrence-to-cron suggestion providers in the desktop composer.
    • Labels the agent's recommended choice on every clarify surface, rendered in tertiary text in the desktop UI.
    • Quietly suppresses composer suggestions the user has repeatedly ignored.
    • Adds marquee animation for clipped inline row titles on hover in the desktop app.
  31. v2026.8.13 Aug 13, 2026 · issue -006

    Hermes v2026.8.13 adds setup_mcp consent cards, profiles.list/profiles.create ws RPCs, per-route webhook toolset overrides, and an image.generate ws RPC for plugins.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.13 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.13
    └──▷ USE IT
    Enumerate all profiles from a desktop plugin to build a roster UI, including a last-session preview per profile.
    javascript
    // Inside a desktop plugin, via host.request ws JSON-RPC
    host.request('profiles.list', { include_sessions: true })
    • Adds profiles.list and profiles.create ws JSON-RPC methods (in tui_gateway/methods_profiles.py), letting desktop plugins enumerate profiles (name, path, model/provider, description, skill_count, optional last_session preview via include_sessions) and create new profiles without going through the dashboard REST router.
    • Adds image.generate ws RPC for plugin surfaces, enabling plugins to trigger image generation through the agent backend.
    • Adds per-route toolset overrides for webhook agent runs, allowing different tool sets to be configured per webhook route.
    • Adds setup_mcp tool with an inline MCP consent card rendered as an interactive clarify-style blocking bridge in the desktop transcript, letting users approve MCP server connections without leaving the conversation.
    • Suggests MCP servers from the composer draft as brand pills in the desktop UI.
    +6 moreshow less
    • Adds cron and blueprint recipe shortcuts to the sidebar nav rail in the desktop app.
    • Surfaces model drift impact in the desktop cron view.
    • Adds skill-match, connection-repair, and recurrence-to-cron suggestion providers in the desktop composer.
    • Labels the agent's recommended choice on every clarify surface, rendered in tertiary text in the desktop UI.
    • Quietly suppresses composer suggestions the user has repeatedly ignored.
    • Adds marquee animation for clipped inline row titles on hover in the desktop app.
  32. v2026.8.3 Aug 3, 2026 · issue -016

    Hermes v2026.8.3 adds conversational voice with barge-in, A2A v1.0, signed webhooks, grounded citations, a plugin SDK, and a CLI power-user wave.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.3 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.3
    └──▷ TRY IT
    Quickly run a shell command from within a Hermes CLI session without consuming a model turn — useful for checking git status or running a test mid-conversation.
    $ !git status
    Bootstrap an AGENTS.md for a new project so Hermes understands the repo layout before starting autonomous work.
    $ hermes /init
    Migrate an existing Claude Code or Codex CLI configuration into Hermes in a single step.
    $ hermes import-agent
    • Adds !command shell-escape mode to run a shell command from the CLI instantly without spending a model turn.
    • Adds /init CLI command to scan a project and generate or update an AGENTS.md file.
    • Adds /diff CLI command to show staged, all, or session-level changes from any surface.
    • Adds /context CLI command to break down exactly what is filling the current context window.
    • Adds /focus CLI command for a reduced-output view with hidden-line recovery.
    +19 moreshow less
    • Adds hermes import-agent command to migrate a Claude Code or Codex CLI setup into Hermes in one command.
    • Adds hermes approvals suggest command to mine approval history and produce allowlist proposals.
    • Raises the default tool-calling iteration limit from 90 to 500, removing an artificial ceiling on long autonomous runs.
    • Introduces the grounded-citations skill, which matches quotes against actual page text, links citations to exact evidence, and includes a fact-checking mode for any document or claim.
    • Adds signed outbound webhooks that push HMAC-signed lifecycle events (session activity, turn completions, tool events) to any registered HTTP endpoint — no polling required.
    • Adds a bundled Agent-to-Agent (A2A v1.0) plugin so Hermes can discover, talk to, and be driven by other A2A-compatible agents.
    • Adds streaming conversational voice with clause-by-clause TTS, barge-in interruption, and busy-aware silence detection across the CLI, desktop, and gateway adapters.
    • Adds on-device open-vocabulary wake-word detection with multi-profile voice routing and a 'stop' keyword to end voice chat hands-free.
    • Extends voice support to WhatsApp, Feishu, DingTalk, LINE, QQ, Photon, and Weixin — incoming voice notes are transcribed and auto-TTS replies are delivered platform-aware (opus, captions).
    • Adds hermes tools category for STT configuration, GUI toggles, dashboard dropdowns, unified language resolution, and OpenAI gpt-transcribe support.
    • Adds a unified spoken-text preprocessor that strips markdown, code, and URLs from speech across all TTS providers.
    • Adds desktop artifacts: versioned cards with sandboxed live-preview in a right-rail viewer so generated HTML/apps run safely next to chat.
    • Ships a plugin SDK with ctx.download for file delivery, floating pane placement, and multiple GUI windows; Kanban ships as the founding plugin.
    • Adds a global-hotkey quick-entry window to capture input into any session from anywhere in the OS.
    • Adds mid-turn redirect capability — type a correction while the agent is working and the active turn course-corrects while preserving work in flight and the original prompt.
    • Makes compression thresholds configurable per-model and in absolute tokens, and adds a guaranteed N-user-message tail so recent conversation always survives pruning.
    • Adds a consecutive-denial circuit breaker in smart approvals to stop a misbehaving approval loop.
    • Adds a new approval gate for docker/podman daemon-redirect commands.
    • Reduces hermes -w cold-start time from ~14 s to ~1.8 s and makes hermes update no-ops 2–6 s faster through lazy SDK loading and config-read optimizations.
  33. v2026.8.3 Aug 3, 2026 · issue 001

    Hermes v2026.8.3 adds streaming voice with barge-in, A2A v1.0, signed outbound webhooks, grounded citations, a plugin SDK, and a wave of new CLI commands.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.8.3 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.8.3
    └──▷ TRY IT
    Run a shell command from within a Hermes CLI session without spending a model turn — useful for quick checks like listing files or running a test while staying in context.
    $ !ls -la
    Migrate an existing Claude Code or Codex CLI configuration into Hermes in one step.
    $ hermes import-agent
    • Adds !command shell-escape syntax to run a shell command instantly from the CLI without consuming a model turn.
    • Adds /init CLI command to scan a project and generate or update an AGENTS.md file.
    • Adds /diff CLI command to show staged, all, or session file changes from any surface.
    • Adds /context CLI command to break down exactly what is filling the current context window.
    • Adds /focus CLI command for a reduced-output view with hidden-line recovery.
    +18 moreshow less
    • Adds hermes import-agent command to migrate a Claude Code or Codex CLI setup into Hermes in one command.
    • Adds hermes approvals suggest command to mine approval history into allowlist proposals.
    • Adds the grounded-citations skill, making Hermes produce research where every claim is backed by a verifiable source — quotes are matched against actual page text and citations link to exact evidence.
    • Adds a fact-checking mode (via the grounded-citations skill) that evaluates any document or claim and reports what checks out, what does not, and what could not be verified.
    • Adds signed outbound webhooks that push HMAC-signed lifecycle events (session activity, turn completions, tool events) to any registered HTTP endpoint, enabling integration without polling.
    • Adds Agent-to-Agent (A2A v1.0) protocol support as a bundled plugin, allowing Hermes to discover, communicate with, and be driven by other A2A-compatible agents.
    • Adds STT as its own hermes tools category with GUI toggles, dashboard dropdowns, unified language resolution, and support for OpenAI's gpt-transcribe.
    • Adds streaming, clause-by-clause conversational voice with barge-in (interrupt mid-sentence by speaking), busy-aware silence detection, and hands-free control across the CLI, desktop, and gateway adapters.
    • Adds on-device open-vocabulary wake word detection and multi-profile voice routing, so different wake phrases can reach different profiles without audio leaving the device.
    • Adds voice note transcription and auto-TTS replies on WhatsApp, Feishu, DingTalk, LINE, QQ, Photon, and Weixin, with platform-aware codec selection (opus where required, correct caption attachment).
    • Adds artifact rendering in the desktop app: versioned cards with sandboxed live preview in a right-rail viewer so generated HTML/apps run safely alongside the chat.
    • Adds a plugin SDK to the desktop app, with Kanban as the founding plugin, ctx.download for delivering files to users, floating pane placement, and multiple GUI windows.
    • Adds a global-hotkey quick-entry window that captures a thought into any session from anywhere in the OS.
    • Adds mid-turn redirect capability: type a correction while the agent is working and the active turn course-corrects with the new guidance, preserving work in flight and the original prompt.
    • Adds a consecutive-denial circuit breaker to smart approvals that stops misbehaving approval-request loops, plus a new approval gate for docker/podman daemon-redirect commands.
    • Raises the default tool-calling iteration limit from 90 to 500, removing an artificial wall for long autonomous runs.
    • Adds proactive tool-result pruning, per-turn micro-compaction, a guaranteed N-user-message tail, and configurable compression thresholds per-model and in absolute tokens to keep long sessions coherent.
    • Reduces hermes -w cold-start time from ~14 s to ~1.8 s and makes hermes update no-ops 2–6 s faster; adds prompt caching for tool schemas on native Anthropic.
  34. v2026.7.20 Jul 20, 2026 · issue -030

    Hermes v2026.7.20 adds /subscription, /topup, Bitwarden/1Password secret sources, live subagent transcripts, session export, smart approvals, and new AI providers.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.7.20 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.7.20
    └──▷ TRY IT
    Export a full session history as a Hugging Face-ready trace with secrets scrubbed, filtered to the last 30 days, for use as a fine-tuning dataset.
    $ hermes sessions export --format huggingface --age 30d --redact
    Check your current Nous plan, preview upgrade cost, and apply the change without opening a browser.
    $ /subscription
    Refuse a flagged command and give the agent an explicit reason so it can choose a safer alternative instead of retrying the same approach.
    $ /deny 'This command writes to /etc — use a local config path instead'
    • Adds /subscription and /topup commands to manage Nous billing plans — including upgrade previews, scheduled-change banners, and undo — directly from the TUI or CLI without visiting the billing website.
    • Adds /deny <reason> command so the agent receives an explicit refusal rationale and can course-correct, alongside user-defined deny rules that block commands even under yolo mode.
    • Adds a pluggable SecretSource interface with Bitwarden and 1Password (op:// references) providers, supporting multiple simultaneous vaults, deterministic precedence, conflict warnings, and per-variable provenance — so API keys no longer have to live in a plaintext .env.
    • Adds hermes sessions export with output formats Markdown, Quarto, HTML, prompt-only, and Hugging Face-ready traces; supports full filter surface (age, workspace, platform), an opt-in --redact secret-scrubbing pass, and compacted-session lineage stitching.
    • Adds a durable delivery-obligation ledger in state.db that records final responses around the platform send and redelivers them on next boot, closing a silent-loss window for Telegram, Discord, Slack, and other channels.
    +8 moreshow less
    • Adds live transcript files for delegate_task dispatches — each subagent writes one human-readable log per child, tail -f-able from the moment agents launch — plus durable background-delegation completion via an ownership-checked ledger.
    • Enables display.show_reasoning ON by default so reasoning models stream their thinking live instead of showing a spinner.
    • Adds profile-based message routing to the gateway: a single multiplexed bot token can route specific guilds, channels, or threads to different profiles, each with isolated config, skills, memory, and secrets.
    • Adds reasoning effort tiers max and ultra, per-model reasoning-effort overrides in config, per-slot effort in MoA presets, and per-task effort for auxiliary models.
    • Adds Fireworks AI and DeepInfra as first-class providers (Fireworks includes cost estimation and a #2 slot in the provider picker), plus Upstage Solar; adds model catalog entries for GPT-5.6 (Sol/Terra/Luna + Pro variants), grok-4.5 (GA), moonshotai/kimi-k3, claude-fable-5/claude-sonnet-5, GA tencent/hy3, and LM Studio JIT model loading.
    • Smart approvals are now the default: an LLM reviewer independently assesses flagged commands per-invocation instead of prompting for manual approval every time.
    • Desktop app gains a billing settings tab matching the terminal /subscription flow.
    • Cold-start first-turn latency cut ~80% (approximately 4.3 s to 0.9 s) across CLI, gateway, TUI, desktop, and cron, with per-token response-box painting and prompt-build caching.
  35. v2026.7.20 Jul 20, 2026 · issue 001

    Hermes v2026.7.20 adds password-manager secret sources, live subagent transcripts, /subscription, smart approvals, and session export with redaction.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.7.20 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.7.20
    └──▷ TRY IT
    Export a workspace's sessions as a Hugging Face-ready trace dataset with secrets scrubbed, for use as fine-tuning or eval data.
    $ hermes sessions export --redact
    Watch a subagent work in real time by tailing its live transcript file the moment it is dispatched via delegate_task.
    $ tail -f <transcript-file>
    Check which terminal execution backends are available and their health status before switching to Docker isolation.
    $ curl -s http://localhost:<port>/api/tools/terminal/backends | jq .
    • Adds /subscription and /topup commands to the TUI and CLI for managing Nous plans — view allowance, preview upgrade cost, apply changes, and undo — without leaving the terminal; desktop gets a matching billing settings tab.
    • Adds /deny <reason> command so the agent receives an explanation when a command is refused and can course-correct.
    • Adds a pluggable SecretSource interface supporting Bitwarden and 1Password (op:// references) as secret backends, with multiple vaults enabled simultaneously, deterministic precedence, conflict warnings, and per-variable provenance.
    • Adds GET /api/tools/terminal/backends and PUT /api/tools/terminal/backend REST endpoints to enumerate and set the terminal execution backend (local / docker / ssh / modal / daytona / singularity) with per-backend health probes.
    • Adds a terminal execution backend picker to the Desktop Capabilities tab with per-backend health probes (docker CLI+daemon, ssh config keys, modal/daytona credentials, singularity/apptainer binary) and setup guidance.
    +18 moreshow less
    • Adds GET /api/tools/toolsets/{name}/config per-provider status field (ready / needs_keys / needs_auth / needs_setup) so the Desktop Capabilities tab shows truthful provider readiness instead of a guessed 'Ready' pill.
    • Adds hermes sessions export with output formats Markdown, Quarto, HTML, prompt-only, and Hugging Face-ready traces; filter flags for age, workspace, and platform; an --redact secret-scrubbing pass; and compacted-session lineage stitching.
    • Adds live-viewable subagent transcripts: delegate_task dispatches return tail-able transcript files with every tool call, result, and streamed reply per child agent.
    • Adds a durable delivery-obligation ledger in state.db that records final responses around the platform send and redelivers them on next boot, closing a silent-loss window for Telegram, Discord, Slack, and other channels.
    • Adds profile-based message routing to the multiplexed gateway, letting a single bot token route specific guilds, channels, or threads to isolated profiles each with their own config, skills, memory, and secrets.
    • Adds user-defined deny rules that block commands even under yolo mode, and enables smart approvals (LLM-based per-command review) as the new default instead of prompting the user for every flagged command.
    • Adds display.show_reasoning defaulting ON so reasoning models stream their thinking live instead of showing a spinner.
    • Adds max and ultra reasoning effort tiers for GPT-5.6 and Codex, per-model reasoning-effort overrides in config, per-slot effort in MoA presets, and per-task effort for auxiliary models.
    • Adds Fireworks AI and DeepInfra as first-class providers (Fireworks with cost estimation and a #2 slot in the provider picker); adds Upstage Solar provider.
    • Adds support for GPT-5.6 (Sol/Terra/Luna + Pro variants), grok-4.5 (GA), moonshotai/kimi-k3, claude-fable-5, claude-sonnet-5, tencent/hy3 (GA), and LM Studio JIT model loading for local setups.
    • Adds a declarative memory provider panel with full-config modal in Desktop settings, with provider config schemas in plugins/memory/*/config_schema.py.
    • Adds a per-job model picker to the cron create/edit dialog in the desktop app.
    • Adds per-session color override and project-inherited color and icon to desktop sessions, shared across the sidebar and tabs.
    • Adds custom endpoint settings panel to the desktop app.
    • Adds incremental markdown rendering to the TUI so output paints per token instead of waiting for complete lines.
    • Achieves ~80% reduction in cold-start first-turn latency (approximately 4.3s to 0.9s) across CLI, gateway, TUI, desktop, and cron by moving Discord capability detection off the critical path with a token-keyed 24-hour disk cache and background refresh.
    • Reduces desktop streaming markdown CPU cost by 14× via incremental block lexing and virtualizes review-pane diffs to eliminate Shiki freeze on large outputs.
    • Adds surface for all xAI TTS parameters in the desktop GUI config and lists config-defined command TTS/STT providers in desktop settings.
  36. v2026.7.1 Jul 1, 2026 · issue -049

    Hermes v2026.7.1 adds MoA as a selectable model, /learn, /journey, /prompt, Vertex AI OAuth2, background subagent fan-out, and completion contracts for /goal.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.7.1 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.7.1
    └──▷ TRY IT
    Teach Hermes a custom triage workflow from your runbook URL so it's available as a reusable skill in future sessions.
    $ /learn https://wiki.internal/runbooks/incident-triage
    Compose a detailed, multi-line threat-model prompt in your editor instead of fighting a single-line input.
    $ /prompt
    • Adds Mixture-of-Agents (MoA) presets as selectable virtual models under a moa provider, available in CLI, TUI, desktop, and gateway model pickers.
    • Adds /moa as a one-shot command that runs a single prompt through the default MoA preset, then restores the previous model.
    • Streams each reference model's reasoning as labelled blocks before the aggregator's live-streamed final answer.
    • Adds /learn <anything> to distill a reusable skill from a directory, URL, or recent workflow and write it automatically per CONTRIBUTING.md standards.
    • Adds /journey to the CLI and TUI: a browsable, editable timeline of all memories and skills the agent has accumulated.
    +10 moreshow less
    • Adds a desktop memory graph — a playable radial timeline of memories and skills that can be pruned from the UI.
    • Adds completion contracts to /goal: define what 'done' looks like and the standing-goal loop judges completion against evidence, not model assertion.
    • Adds a pre_verify hook for wiring custom checks into the goal-completion verification loop.
    • Enables delegate_task to fan out multiple subagents in the background, returning a single consolidated result when all finish.
    • Adds first-class coding Projects to the desktop app, including a sidebar, coding rail, review pane, git worktree management, and a project → repo → lane model.
    • Adds scale-to-zero support and drain coordination to the gateway, allowing idle instances to go dormant and resume without dropping in-flight conversations.
    • Adds Google Vertex AI as a first-class provider, with automatic OAuth2 token minting and refresh from a service-account JSON or Application Default Credentials.
    • Adds /prompt command that opens $EDITOR for composing multi-line prompts in markdown before queuing them as the next message.
    • Routes the post-turn self-improvement fork to an auxiliary model with digested context, reducing cost of background memory/skill saving.
    • Hardens MCP-config persistence attack surface, blocks cron base_url credential-exfiltration overrides, adds non-reusable sentinel for prefix secrets in file reads, redacts Slack xapp- tokens, enforces a browser cloud-metadata floor on every backend, and applies an aiohttp CVE floor across lazy messaging paths.
  37. v2026.6.19 Jun 19, 2026 · issue -061

    Hermes v0.17.0 adds iMessage via Photon, Raft agent network, background subagents, image editing, WhatsApp Business API, and atomic memory operations.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.6.19 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.6.19
    └──▷ TRY IT
    Connect Hermes to iMessage via Photon so it can send and receive messages in blue-bubble threads without any Mac relay.
    $ hermes photon login
    Run background skill curation (inactivity sweep only) for free, then opt in to LLM-powered consolidation only when you explicitly want it.
    $ hermes curator run --consolidate
    • Adds iMessage platform plugin via Photon Spectrum — authenticate with hermes photon login and send/receive iMessages with no Mac relay or BlueBubbles bridge required.
    • Adds Raft agent network adapter — connect Hermes as an external gateway agent on Raft via a wake-channel bridge, with privacy-by-contract wake payloads carrying only metadata.
    • Adds background/async subagents via delegate_task(background=true) — dispatches a subagent that runs independently and re-enters the conversation as a new turn when complete.
    • Adds image-to-image editing to image_generate — pass a source image and prompt to edit, transform, or recompose existing images across all supported image providers.
    • Adds Automation Blueprints — schedule recurring tasks by answering guided questions instead of writing cron expressions, rendered as forms, slash commands, or agent conversations.
    +9 moreshow less
    • Adds grok-composer-2.5-fast (Cursor's Composer model) to the xAI OAuth model picker with a full 200k context window, usable via an existing xAI Grok subscription.
    • Adds full profile builder to the dashboard — configure model, skills, and MCP servers from the browser without editing config.yaml, with a global multi-profile switcher.
    • Adds official WhatsApp Business Cloud API adapter — connect via Meta's first-party hosted API without a QR-scanning bridge process.
    • Adds Telegram Bot API 10.1 rich message support — proper formatting, native markup, and cleaner long-message handling, enabled by default with an opt-out.
    • Upgrades the memory tool with an operations array for atomic batch add/replace/remove edits evaluated against the final character budget in a single call.
    • Adds Skills Hub browser rehaul — connected hubs, Featured section, full skill previews, and a security scan on each skill before installation.
    • Adds curator cost optimization — LLM-powered consolidation now requires explicit opt-in (curator.consolidate: true or hermes curator run --consolidate), making routine background curation zero-token by default.
    • Hardens dashboard authentication — all token-required endpoints return 401 behind the OAuth gate, websocket auth uses the served dashboard token, and a warning fires when a public_url override is silently rejected.
    • Adds desktop app rebindable keyboard shortcuts, native OS notifications with per-type toggles, live subagent watch-windows, VS Code Marketplace theme installation, resizable terminal pane, RTL/bidi auto-detection, and per-thread composer drafts.
  38. v2026.6.5 Jun 6, 2026 · issue -074

    Hermes v2026.6.5 ships a native desktop app, browser admin panel, /undo, fuzzy model picker, and NVIDIA skills tap.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.6.5 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.6.5
    └──▷ TRY IT
    Back up a conversation that went off the rails and re-send your last message with edits, without losing the session.
    $ /undo 3
    Drop into the classic CLI interface for a single invocation even if your default is set to TUI.
    $ hermes chat --cli
    Run the Nous Portal quick-setup flow to go from a fresh install to a configured, chatting agent in seconds.
    $ hermes portal
    • Adds Hermes Desktop — a native Electron app for macOS, Linux, and Windows with streaming chat, drag-and-drop files, clipboard image paste, Cmd+K command palette, in-app self-update, and an inline model picker.
    • Enables connecting the desktop app to a remote Hermes gateway via OAuth or username/password, with per-profile remote host targeting and concurrent multi-profile sessions.
    • Adds a full browser-based administration panel: Channels page (Telegram, Discord, Slack, etc.), MCP catalog with enable/disable toggles, credential management, webhook creation, memory configuration, and one-click Debug Share.
    • Ships a complete Simplified Chinese (简体中文) translation across all desktop UI surfaces, switchable via Appearance settings (display.language).
    • Adds /undo [N] command to retract the last N user turns across CLI, TUI, and messaging platforms (Telegram, Discord, etc.), with the last message prefilled for editing.
    +7 moreshow less
    • Adds --cli flag to hermes chat and a configurable default interface (cli or tui), plus a unified /model command and Sessions overlay in the TUI.
    • Adds hermes portal as a human-readable alias for the Quick Setup flow via Nous Portal, getting new users from install to first message without docs.
    • Adds NVIDIA/skills as a built-in trusted Skills Hub tap alongside OpenAI, Anthropic, and HuggingFace — CUDA-X, AIQ, cuOpt and other NVIDIA skills are one install away.
    • Adds fuzzy search to the model picker across desktop, web dashboard, TUI, and CLI; model catalog now refreshes hourly; multi-endpoint providers grouped to reduce duplicates.
    • Adds new models to the picker: deepseek-v4-flash, MiniMax-M3 (1M context), qwen3.7-plus.
    • Adds environments: relevance gate for skills, keeping context-specific skills (kanban, docker/s6) out of the index unless explicitly requested.
    • Enables pruning of unused built-in skills (not just agent-created ones) via the curator, with per-skill usage tracking.
    └──▷ BREAKING ON UPGRADE
    • !The bundled skill set removes spotify, linear, kanban-codex-lane, debugging-hermes-tui-commands, and several empty category markers by default; setups relying on these skills being auto-loaded must install them explicitly via hermes skills install.
    • !Heavier/niche skills (dspy, subagent-driven-development, minecraft-modpack-server, pokemon-player, hermes-s6-container-supervision, and the Baoyu creative set) are no longer loaded by default and must be installed explicitly.
    • !Building the desktop app now requires Node ≥20.19 or ≥22.12.
  39. v2026.5.29 May 29, 2026 · issue -082

    Hermes v2026.5.29 adds explicit Docker insecure opt-in, full 19,932-entry skills catalog, and memory providers now receive completed-turn context.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.5.29 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.5.29
    └──▷ TRY IT
    Run Hermes in Docker with LAN access while explicitly opting into insecure dashboard mode — required after the bind-host inference removal.
    $ docker run -e HERMES_DASHBOARD_INSECURE=1 -p 0.0.0.0:8080:8080 nous-research/hermes-agent
    • Adds HERMES_DASHBOARD_INSECURE=1 env var as an explicit opt-in to disable the dashboard's loopback auth guard in Docker, replacing silent bind-host inference.
    • Expands the skills.sh catalog from 858 to 19,932 entries by walking the full sitemap instead of a single paginated page.
    • Memory providers now receive completed-turn message context, enabling richer recall across sessions.
    • Narrows hindsight recall_types default to observation-only, giving more targeted hindsight behavior out of the box.
    └──▷ BREAKING ON UPGRADE
    • !Docker setups that previously relied on bind-host inference to enable --insecure must now explicitly set HERMES_DASHBOARD_INSECURE=1 or the dashboard's same-origin guard will remain active.
  40. v2026.5.28 May 28, 2026 · issue -083

    Hermes v2026.5.28 adds multi-agent Kanban swarms, promptware defense, Bitwarden secret management, 4500× faster session search, and a curated MCP catalog.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.5.28 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.5.28
    └──▷ TRY IT
    Spin up a full parallel agent swarm to decompose and execute a complex task across cheap and expensive models.
    $ hermes kanban swarm "Refactor the auth module and write tests"
    Discover and install a Nous-vetted MCP server interactively — credentials are prompted and written to ~/.hermes/.env automatically.
    $ hermes mcp
    • Adds hermes kanban swarm command to auto-decompose a task into a full Swarm v1 graph (root, parallel workers, gated verifier, gated synthesizer, shared blackboard) with per-task model overrides, scheduled start times, and retry fingerprinting.
    • Adds promptware/Brainworm-class injection defense: ~15 new threat patterns in tools/threat_patterns.py, memory scanning at load time, and delimiter markers on tool results to prevent impersonation of system content.
    • Rebuilds session_search into a no-LLM, three-mode tool (discovery ~20ms, scroll ~1ms, browse) — eliminating ~$0.30/call and ~90s latency.
    • Adds Bitwarden Secrets Manager integration: set BWS_ACCESS_TOKEN and Hermes pulls all provider credentials from Bitwarden at startup, with secrets.bitwarden.override_existing toggle and EU/self-hosted server support.
    • Adds ntfy as the 23rd messaging platform plugin — no signup or API key required, just a topic URL, enabling push notifications from cron jobs, kanban completions, or send_message.
    +9 moreshow less
    • Adds skill bundles: a single /<name> slash command loads a named group of skills simultaneously; ships three new optional skills: code-wiki, openhands, and web-pentest.
    • Adds TUI session orchestrator: list, switch, refresh, and close multiple live sessions within one Ink TUI window, with a session-scoped model picker.
    • Adds two new image generation providers: Krea 2 Medium ($0.03) and Krea 2 Large ($0.06), auto-discovered via hermes tools → Image Generation → Krea.
    • Adds hermes mcp interactive picker backed by a Nous-vetted MCP server catalog; installs servers with one keystroke and writes credentials to ~/.hermes/.env.
    • Adds OpenHands orchestration skill under optional-skills/autonomous-ai-agents/openhands/ for delegating coding sub-tasks to any LiteLLM-supported provider, usable in kanban swarms and /delegate flows.
    • Adds xAI Web Search as a plugins/web/xai/ provider alongside Brave/Tavily/Exa/SearXNG/DDGS/Firecrawl, reusing existing Grok OAuth or XAI_API_KEY credentials.
    • Cold-start improvements cut hermes --version latency 63% (701ms → 258ms), Termux cold start from 2.9s to 0.8s, and per-conversation function calls by 47% (399k → 213k for a 31-turn chat).
    • Adds worker status endpoints /workers/active, /runs/{id}, and /inspect for observing kanban swarm worker state.
    • Adds security-guidance plugin that pattern-matches dangerous code writes.
  41. v2026.5.16 May 16, 2026 · issue -095

    Hermes v2026.5.16 adds SuperGrok OAuth, an OpenAI-compatible local proxy, X search, Teams integration, LINE/SimpleX platforms, and dozens of new capabilities.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.5.16 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.5.16
    └──▷ TRY IT
    Route Aider (or any OpenAI-compatible tool) through your Claude Pro or SuperGrok subscription — no API key needed.
    $ hermes proxy &
    aider --openai-api-base http://localhost:<port> --openai-api-key dummy
    Install Hermes from PyPI and launch immediately — no repo clone required.
    $ pip install hermes-agent && hermes
    • Adds xAI Grok as a SuperGrok OAuth provider with grok-4.3 bumped to a 1M-token context window — no API key required.
    • New hermes proxy command exposes an OpenAI-compatible local endpoint backed by Claude Pro, ChatGPT Pro, or SuperGrok OAuth, letting tools like Codex, Aider, Cline, and Continue consume any subscription without an API key.
    • Adds x_search as a first-class built-in tool for searching X (Twitter) via OAuth or API key — no skill install or custom integration needed.
    • Adds full Microsoft Teams integration: Microsoft Graph auth, webhook listener, pipeline plugin runtime, and outbound delivery.
    • Hermes is now installable via pip install hermes-agent from PyPI — no repo clone or shell installer required.
    +18 moreshow less
    • Adds cross-session 1-hour Claude prompt caching (system prompt, skills, memory) for Anthropic, OpenRouter, and Nous Portal backends.
    • Browser CDP calls are 180× faster via a persistent Chrome DevTools connection shared across browser_console evaluations.
    • Cold-start launch time reduced by ~19 seconds through deferred adapter loading, disk-cached model catalogs, parallel doctor checks, and a chat -q banner-skip flag.
    • Adds LINE and SimpleX Chat as first-class messaging platforms, bringing the total to 22.
    • /handoff now transfers the full active session — messages, tool calls, and context — live to a new model, persona, or profile.
    • Native platform button UI for clarify multiple-choice prompts on Telegram and Discord.
    • Discord channel history is now backfilled by default when the agent joins a channel or thread for the first time.
    • vision_analyze now passes raw pixels directly to vision-capable models (GPT-5, Claude, Gemini, Grok-vision) instead of converting to a text description.
    • Adds a per-turn file-mutation verifier footer summarizing paths, line counts, and deltas after every turn that writes or edits files.
    • Adds unified video_generate tool with pluggable provider backends, supporting new video models via a one-file plugin.
    • computer_use cua-driver backend now works with non-Anthropic models.
    • Heavy backends (Slack, Matrix, Feishu, DingTalk, image-gen SDKs, voice/TTS providers) now lazy-install on first use, with a supply-chain advisory checker scanning every install.
    • Adds Zed ACP Registry integration via uvx.
    • Adds native Windows beta support.
    • Adds 9 new optional skills.
    • Adds OpenRouter Pareto Code router.
    • Adds huggingface/skills as a trusted default skill tap.
    • Clickable URLs now render in any terminal.
    └──▷ BREAKING ON UPGRADE
    • !The [all] extras no longer include dependencies now covered by lazy-installation — packages previously pulled in by pip install hermes-agent[all] may no longer be present at install time and will instead be fetched on first use.
  42. v2026.5.7 May 7, 2026 · issue -104

    Hermes v2026.5.7 ships durable multi-agent Kanban, /goal persistence, video analysis, 8 P0 security closures, and Google Chat as platform #20.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.5.7 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.5.7
    └──▷ TRY IT
    Lock the agent onto a long-running investigation target so it stays on task across multiple conversation turns without drifting.
    $ /goal Enumerate all exposed S3 buckets in the org and produce a findings report
    Archive stale curator entries and prune orphaned data in one pass to keep the knowledge store clean.
    $ hermes curator archive && hermes curator prune
    • Adds durable multi-agent Kanban board with heartbeats, zombie detection, per-task retries, hallucination gate, and multi-project support across profiles.
    • New /goal command locks the agent onto a target across turns (Ralph loop as a first-class primitive).
    • New video_analyze tool enables native video understanding on Gemini and compatible multimodal models.
    • Adds xAI Custom Voices as a TTS provider with voice cloning support.
    • Adds Google Chat as the 20th supported messaging platform; introduces generic platform-plugin hooks so third-party adapters drop in without touching core.
    +22 moreshow less
    • Gateway now auto-resumes interrupted sessions after restart, /update restarts, or source-file reloads.
    • Security hardening: redaction is ON by default, Discord role-allowlists are now guild-scoped (closes CVSS 8.1 cross-guild DM bypass), WhatsApp rejects strangers by default, TOCTOU windows closed across auth.json and MCP OAuth, browser enforces cloud-metadata SSRF floor, cron scans assembled skill content for prompt injection, and hermes debug share redacts at upload.
    • Checkpoints v2 rewrites state persistence with real pruning, disk guardrails, and no orphan shadow repos.
    • New no_agent cron mode runs a script-only watchdog, skipping the agent entirely.
    • Adds allowed_channels / allowed_chats / allowed_rooms platform allowlist config across Slack, Telegram, Mattermost, Matrix, and DingTalk.
    • Providers are now pluggable via ProviderProfile ABC and plugins/model-providers/ directory.
    • API server gains X-Hermes-Session-Key header for stable per-session long-term memory.
    • MCP gains SSE transport with OAuth forwarding, stale-pipe retries, image results surfaced as MEDIA tags, and keepalive on long-lived lifecycle waits.
    • Curator grows hermes curator archive, prune, and list-archived subcommands; manual hermes curator run is now synchronous.
    • ACP gains /steer and /queue endpoints to direct the in-flight agent or queue follow-ups from Zed, VS Code, or JetBrains.
    • TUI adds /model picker with inline auth, collapsible startup banner sections, and a context-compression counter in the status bar.
    • Dashboard adds a Plugins management page, Profiles management page, sortable analytics tables, reverse-proxy support via X-Forwarded-Prefix, and a new default-large 18px theme.
    • SearXNG ships as a native search-only backend; web tools now support different backends per capability (search vs extract vs browse).
    • OpenRouter response caching adds explicit cache control for models that expose it.
    • New [[as_document]] skill directive forces gateway to deliver output as a document on supported platforms.
    • New transform_llm_output plugin lifecycle hook lets plugins reshape or filter LLM output before it enters the conversation.
    • Nous OAuth tokens now persist across profiles via a shared token store.
    • QQBot gains native approval keyboards with feature parity to Telegram/Discord, plus chunked upload and quoted attachments.
    • Adds 6 new optional skills: Shopify (Admin + Storefront GraphQL), here.now, shop-app personal shopping assistant, Anthropic financial-services bundle, kanban-video-orchestrator, and searxng-search.
    • Adds new models: deepseek/deepseek-v4-pro, x-ai/grok-4.3, openrouter/owl-alpha (free), and tencent/hy3-preview.
    • Static gateway and CLI messages now translated to 7 locales: Chinese, Japanese, German, Spanish, French, Ukrainian, and Turkish.
    • Adds 100 new CLI startup tips covering cron, kanban, curator, plugins, and lesser-known flags.
    └──▷ BREAKING ON UPGRADE
    • !Redaction is now ON by default — setups that relied on unredacted output in hermes debug share or logs will now receive redacted content without explicit opt-out.
    • !WhatsApp now rejects messages from unknown senders by default — existing deployments open to strangers will need to explicitly configure acceptance.
    • !Discord role-allowlists are now guild-scoped — cross-guild role grants that previously allowed DM access will no longer work.
  43. v2026.4.30 Apr 30, 2026 · issue -111

    Hermes v2026.4.30 adds autonomous skill curation, 5 new inference providers, 2 new messaging platforms, Spotify/Google Meet integrations, one-shot mode, and ~57% faster TUI cold start.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.4.30 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.4.30
    └──▷ TRY IT
    Run a quick, non-interactive prompt against a specific model without entering the TUI — useful in CI pipelines or shell scripts.
    $ hermes -z "Summarize the top 3 CVEs from today's NVD feed" --provider openrouter --model nous-hermes-3
    Check whether an update is available and back up your HERMES_HOME before applying it.
    $ hermes update --check
    Inspect which skills the Curator considers most- and least-used before manually pruning or after a curation cycle.
    $ hermes curator status
    • Adds hermes curator autonomous background agent that grades, prunes, and consolidates your skill library on a 7-day cron cycle, writing per-run reports to logs/curator/run.json and REPORT.md.
    • Adds hermes curator status to rank skills by usage, showing most-used and least-used entries.
    • Upgrades the self-improvement review fork to class-first (rubric-based) grading with active-update bias, proper provider/model/credential inheritance, and clean memory-provider shutdown.
    • Promotes ComfyUI v5 (official CLI + REST + hardware-gated local install) from optional to built-in by default.
    • Promotes TouchDesigner-MCP from optional to built-in by default, expanded with GLSL, post-FX, audio, geometry, and 9 new reference docs.
    +20 moreshow less
    • Adds new Humanizer skill that strips AI-isms from text output.
    • Adds /reload-skills slash command and direct-URL skill install support.
    • Upgrades LM Studio from a custom-endpoint alias to a full native inference provider with dedicated auth, hermes doctor checks, reasoning transport, and live /models listing.
    • Adds four new inference providers: GMI Cloud, Azure AI Foundry (with auto-detection), MiniMax (OAuth with PKCE browser flow), and Tencent Tokenhub.
    • Makes the gateway a plugin host with drop-in messaging adapters; ships Microsoft Teams as the first plugin-delivered platform.
    • Adds Tencent 元宝 (Yuanbao) as the 18th native gateway messaging platform with text and media delivery.
    • Adds native Spotify integration: 7 tools (play, search, queue, playlists, devices) behind PKCE OAuth, interactive setup wizard, bundled skill, and cron usage.
    • Adds Google Meet plugin for joining calls, transcribing, speaking, and following up via realtime OpenAI transport and a bundled Node bot server.
    • Adds hermes -z <prompt> non-interactive one-shot mode with --model, --provider, and HERMES_INFERENCE_MODEL support.
    • Adds hermes update --check preflight check and opt-in pre-update HERMES_HOME backup.
    • Adds a Models dashboard tab with per-model analytics and in-browser switching of main and auxiliary models.
    • Adds remote model catalog manifest so new OpenRouter and Nous Portal models appear without a release.
    • Adds native multimodal image routing based on each model's actual vision capability rather than provider defaults.
    • Adds native multi-image sending across Telegram, Discord, Slack, Mattermost, Email, and Signal; adds centralized audio routing with FLAC support and Telegram document fallback.
    • Adds LaTeX rendering, /reload .env hot-reload, pluggable busy-indicator styles, opt-in auto-resume of last session, session delete from /resume picker with d, modified mouse-wheel line scroll, and a /mouse toggle to suppress ConPTY phantom mouse injection in the TUI.
    • Bundles Langfuse observability plugin and hermes-achievements plugin that scans full session history.
    • Adds a pluggable tts.providers.<name> registry and ships Piper as a native local TTS provider.
    • Adds Vercel Sandbox as an execute_code/terminal backend.
    • Adds configurable prompt_caching.cache_ttl (5-minute default, 1-hour opt-in) for cost savings on bursty sessions.
    • Cuts visible TUI cold start by ~57% via lazy agent init, lazy imports, mtime-cached load_config(), memoized get_tool_definitions() with TTL-cached check_fn results, and precompiled dangerous-command patterns.
    └──▷ BREAKING ON UPGRADE
    • !Secret redaction is now off by default; working setups that relied on automatic secret redaction must explicitly opt in via redaction.enabled: true.
  44. v2026.4.23 Apr 23, 2026 · issue -118

    Hermes v2026.4.23 adds a full Ink TUI, native AWS Bedrock, 5 new inference providers, QQBot, and a vastly expanded plugin surface.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.4.23 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.4.23
    └──▷ TRY IT
    Launch the new interactive TUI for a rich, real-time agent session with streaming output and subagent observability.
    $ hermes --tui
    Course-correct a running agent mid-task without interrupting its turn or breaking prompt cache.
    $ /steer focus only on files under src/auth/ and skip any database migrations
    • Adds hermes --tui: a full React/Ink rewrite of the interactive CLI with sticky composer, live streaming, OSC-52 clipboard support, per-turn stopwatch, git branch status bar, /clear confirm, light-theme preset, and subagent spawn observability overlay.
    • Adds pluggable agent/transports/ layer with AnthropicTransport, ChatCompletionsTransport, ResponsesApiTransport, and BedrockTransport — each owning its own format conversion and API shape.
    • Adds native AWS Bedrock provider support via the Converse API.
    • Adds five new inference providers: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, and Vercel ai-gateway (with pricing and dynamic discovery).
    • Adds GPT-5.5 access via ChatGPT Codex OAuth, with live model discovery wired into the model picker so new OpenAI releases appear without catalog updates.
    +18 moreshow less
    • Adds QQBot as the 17th supported messaging platform via QQ Official API v2, with QR scan-to-configure setup wizard, streaming cursor, emoji reactions, and DM/group policy gating.
    • Expands plugin surface: plugins can now register slash commands (register_command), dispatch tools directly (dispatch_tool), veto tool execution from pre_tool_call hooks, rewrite tool results (transform_tool_result), transform terminal output (transform_terminal_output), ship image_gen backends, and add custom dashboard tabs.
    • Adds /steer <prompt> command to inject mid-run nudges to a running agent after its next tool call without interrupting the turn or breaking prompt cache.
    • Adds shell hook support so any shell script can be wired as a Hermes lifecycle hook (pre_tool_call, post_tool_call, on_session_start, etc.) without writing a Python plugin.
    • Adds webhook direct-delivery mode to forward payloads straight to a platform chat without invoking the agent — enabling zero-LLM push notifications for alerting and uptime checks.
    • Adds explicit orchestrator role for subagents with configurable max_spawn_depth, plus a file-coordination layer so concurrent sibling subagents share filesystem state without clobbering each other.
    • Adds a dedicated 'Configure auxiliary models' screen in hermes model for per-task model overrides (compression, vision, session_search, title_generation).
    • Adds extensible web dashboard plugin system: third-party plugins can add custom tabs, widgets, and views; paired with live-switching themes controlling colors, fonts, layout, and density without a reload.
    • Adds dashboard i18n (English + Chinese), mobile-responsive layout, real per-session API call tracking, and one-click update and gateway restart buttons.
    • Adds per-provider and per-model request_timeout_seconds configuration.
    • Adds configurable API retry count via agent.api_max_retries.
    • Adds Kimi K2.6 across OpenRouter, Nous Portal, native Kimi, and HuggingFace.
    • Adds Xiaomi MiMo v2.5-pro and v2.5 on OpenRouter, Nous Portal, and native providers.
    • Adds Claude Opus 4.7 to the Nous Portal catalog.
    • Adds /model merging of models.dev entries for additional providers.
    • Adds Gemini routing through the native AI Studio API for improved performance.
    • Adds xAI Grok upgraded to the Responses API.
    • Adds Ollama cloud provider support, GLM continuation, think=false control, surrogate sanitization, and /v1 hint.
    └──▷ BREAKING ON UPGRADE
    • !auto auxiliary model routing now defaults to the main model for side tasks for all users — previously, aggregator users were silently routed to a cheap provider-side default.
  45. v2026.4.16 Apr 16, 2026 · issue -125

    Hermes v2026.4.16 adds Nous Tool Gateway: web search, image gen, TTS, and browser automation for Portal subscribers.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.4.16 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.4.16
    └──▷ TRY IT
    Enable gateway-backed tools for a Portal subscriber without configuring any separate API keys.
    $ hermes model
    Verify which gateway tools are active after opt-in via use_gateway config.
    $ hermes tools && hermes status
    • New Nous Tool Gateway gives paid Nous Portal subscribers automatic access to web search (Firecrawl), image generation (FAL / FLUX 2 Pro), text-to-speech (OpenAI TTS), and browser automation (Browser Use) — no extra API keys required.
    • Per-tool opt-in via use_gateway config key, with full visibility through hermes tools and hermes status.
    • Runtime now prefers the gateway over direct API keys when both are present.
    └──▷ BREAKING ON UPGRADE
    • !The HERMES_ENABLE_NOUS_MANAGED_TOOLS environment variable is replaced by subscription-based detection via the Nous Tool Gateway; setups relying on that env var will no longer activate managed tools.
  46. v2026.4.13 Apr 13, 2026 · issue -128

    Hermes v2026.4.13 adds iMessage/WeChat, Fast Mode, local web dashboard, background process monitoring, backup/restore, and 16-platform coverage.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.4.13 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.4.13
    └──▷ TRY IT
    Enable priority-queue routing for low-latency responses when working with GPT-5.4 or Claude in an active session.
    $ /fast
    Watch a background build or server process and get notified the moment it prints a key event, without polling.
    yaml
    watch_patterns: ["listening on port", "ERROR", "build failed"]
    Snapshot your full Hermes setup before a major upgrade, then restore it on a new machine.
    $ hermes backup && hermes import <path>
    • Adds local browser-based web dashboard for managing agent settings, sessions, skills, and gateway configuration without editing config files.
    • Adds /fast toggle for priority-queue routing on OpenAI (GPT-5.4, Codex) and Anthropic (Claude) models for significantly lower latency.
    • Adds iMessage integration via BlueBubbles with auto-webhook registration and setup wizard.
    • Adds native WeChat (Weixin) support via iLink Bot API with streaming, media uploads, and markdown link handling.
    • Adds WeCom callback-mode adapter for self-built enterprise apps with atomic state persistence.
    +17 moreshow less
    • Adds Termux/Android support — run Hermes natively on Android with TUI optimizations, voice backend, and /image command.
    • Adds watch_patterns for background process monitoring, delivering real-time alerts when output matches defined patterns without polling.
    • Adds native xAI (Grok) provider with direct API access, model catalog, and setup wizard integration.
    • Adds Xiaomi MiMo as a first-class provider with setup wizard, model catalog, and empty response recovery.
    • Adds Qwen OAuth provider with portal request support.
    • Adds pluggable context engine slot via hermes plugins for swapping in custom context engines (filtering, summarization, domain injection).
    • Adds unified SOCKS proxy, DISCORD_PROXY, and system proxy auto-detection across all gateway platforms.
    • Adds hermes backup and hermes import commands for full backup and restore of configuration, sessions, skills, and memory.
    • Adds /debug slash command across all platforms and hermes debug share to upload a full debug report to a pastebin.
    • Adds /compress <focus> for guided context compression scoped to a specific topic.
    • Adds allowed-channels whitelist config for Discord.
    • Adds DISCORD_REPLY_TO_MODE setting for Discord.
    • Adds rate limit header capture displayed in /usage.
    • Adds custom providers to /model listings and resolution.
    • Adds fallback provider activation on repeated empty responses with user-visible status.
    • Adds 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, API server auth enforcement, git argument injection prevention, and approval button authorization.
    • Expands platform support to 16 messaging platforms including BlueBubbles (iMessage) and WeChat alongside existing Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, SMS, DingTalk, Feishu, WeCom, Mattermost, Home Assistant, and Webhooks.
  47. v2026.4.8 Apr 8, 2026 · issue -133

    Hermes v2026.4.8 adds MCP OAuth 2.1, live model switching, background task notifications, Google AI Studio, and OSV malware scanning.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.4.8 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.4.8
    └──▷ TRY IT
    Switch to a different model mid-session without restarting — useful when you need a more capable or cheaper model for the next task.
    $ /model gemini-2.5-pro
    Tail agent logs in real time to debug tool execution or provider errors across a running session.
    $ hermes logs --tail
    • Adds notify_on_complete for background tasks — agent is automatically notified when long-running processes (builds, tests, deployments) finish, eliminating polling.
    • New /model command enables live model and provider switching mid-session across CLI, Telegram, Discord, Slack, and other gateway platforms.
    • Adds native Google AI Studio (Gemini) provider with automatic context length detection via models.dev registry.
    • Adds MCP OAuth 2.1 PKCE support for standards-compliant MCP server authentication.
    • Adds automatic OSV malware scanning of MCP extension packages on install.
    +20 moreshow less
    • Adds approval buttons on Slack and Telegram for dangerous command approvals — replaces typing /approve with native inline buttons.
    • Adds inactivity-based agent timeouts — agents are only timed out when truly idle, not when actively running tools.
    • Adds hermes logs command for tailing and filtering structured agent logs written to ~/.hermes/logs/ (agent.log + errors.log).
    • Adds config structure validation at startup to catch malformed YAML before it causes cryptic failures.
    • Expands plugin system: plugins can now register CLI subcommands, receive request-scoped API hooks with correlation IDs, prompt for required env vars during install, and hook into session lifecycle events.
    • Adds MiniMax TTS provider (speech-2.8) for text-to-speech.
    • Adds interactive model picker with inline buttons for Telegram and Discord.
    • Adds xAI (Grok) prompt caching via x-grok-conv-id header.
    • Adds model pricing display for OpenRouter and Nous Portal providers.
    • Adds free-tier Xiaomi MiMo v2 Pro model on Nous Portal for auxiliary tasks (compression, vision, summarization).
    • Adds Matrix Tier 1 support: reactions, read receipts, rich formatting, and room management.
    • Adds Discord channel controls and ignored-channels configuration.
    • Adds Signal MEDIA: tag delivery and Mattermost file attachments.
    • Self-optimized GPT/Codex tool-use guidance via automated behavioral benchmarking, patching 5 failure modes for improved reliability on OpenAI models.
    • Adds thinking-only prefill continuation for structured reasoning on supported models.
    • Oversized tool results are now saved to file instead of being destructively truncated.
    • Adds HERMES_PORTAL_BASE_URL env var to override the Nous portal base URL during login.
    • Adds Z.AI endpoint auto-detection via probe and cache.
    • Adds non-agentic model warning when loading Hermes LLM models not designed for tool use.
    • Security hardening: consolidated SSRF protections, timing attack mitigations, tar traversal prevention, credential leakage guards, cron path traversal hardening, and cross-session isolation.
  48. v2026.4.3 Apr 3, 2026 · issue -138

    Hermes v2026.4.3 adds pluggable memory backends, credential pool rotation, Camoufox stealth browser, secret exfiltration blocking, and ACP/MCP editor integration.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.4.3 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.4.3
    └──▷ TRY IT
    Install the Camoufox stealth browser backend so the agent can browse without bot detection.
    $ hermes tools
    Configure multiple API keys for the same provider so Hermes rotates them automatically under load or on 401 failures.
    yaml
    # In config.yaml
    credential_pool:
      - provider: openai
        api_key: sk-key-one
      - provider: openai
        api_key: sk-key-two
    Maintain a persistent session across multiple API server requests so the agent retains context between calls.
    $ curl -X POST https://localhost:8080/v1/chat \
      -H 'X-Hermes-Session-Id: my-session-42' \
      -H 'Content-Type: application/json' \
      -d '{"message": "continue the analysis"}'
    • Adds pluggable memory provider interface — third-party backends (Honcho, vector stores, custom DBs) implement a provider ABC and register via the plugin system.
    • Adds same-provider credential pools with automatic least_used rotation and 401-triggered failover across multiple API keys via credential_pool config.
    • Adds Camoufox anti-detection browser backend for stealth browsing with persistent sessions, VNC URL discovery, and configurable SSRF bypass; auto-install via hermes tools.
    • Adds inline diff previews for file write and patch operations in the tool activity feed.
    • Adds API server session continuity via X-Hermes-Session-Id headers and real-time tool progress streaming for Open WebUI integration.
    +11 moreshow less
    • Adds ACP support for client-provided MCP servers — VS Code, Zed, and JetBrains editor MCP servers are picked up as additional agent tools.
    • Adds secret exfiltration blocking: browser URLs and LLM responses are scanned for secret patterns, blocking URL-encoded, base64, and prompt-injection exfiltration attempts.
    • Expands credential directory protection to .docker, .azure, and .config/gh; redacts execute_code sandbox output.
    • Adds developer role support for GPT-5 and Codex models.
    • Adds Anthropic long-context tier 429 handling — automatically reduces context to 200k on tier limit hits.
    • Adds auto-detection of models from server probe during custom endpoint setup.
    • Adds skill-aware slash commands — gateway dynamically registers installed skills as slash commands with paginated /commands list.
    • Makes config.yaml the single source of truth for endpoint URLs, eliminating conflicts with environment variables.
    • Adds Honcho full integration parity as the reference memory provider plugin with profile-scoped host/peer resolution.
    • Adds token usage persistence for non-CLI sessions.
    • Adds DM thread sessions seeded with parent transcript to preserve context.
  49. v2026.3.30 Mar 30, 2026 · issue -142

    Hermes v2026.3.30 adds multi-instance profiles, MCP server mode, Feishu/WeCom/Slack multi-workspace support, fallback provider chains, and Exa search.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.3.30 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.3.30
    └──▷ TRY IT
    Run isolated staging and production agent instances from a single Hermes installation without credential collisions.
    $ hermes profile create staging
    hermes -p staging model set nous/hermes-3-70b
    hermes -p staging chat
    Keep agent tasks running even when your primary provider is rate-limited or down by configuring an automatic failover chain.
    yaml
    # config.yaml
    fallback_providers:
      - openrouter
      - nous-portal
      - local-ollama
    • New hermes profile create/list/switch/delete/export/import/rename commands enable fully isolated multi-instance deployments, each with its own config, memory, sessions, skills, and gateway service with token-lock credential isolation.
    • New hermes mcp serve exposes conversations, sessions, messages, and attachments to any MCP-compatible client (Claude Desktop, Cursor, VS Code) via stdio or Streamable HTTP transports.
    • Official Dockerfile enables running Hermes Agent in a container in both CLI and gateway modes with volume-mounted config.
    • New fallback_providers config key enables an ordered failover chain across multiple inference providers.
    • Adds full gateway adapter for Feishu/Lark with event subscriptions, message cards, group chat, image/file attachments, and interactive card callbacks.
    +12 moreshow less
    • Adds new gateway adapter for WeCom (Enterprise WeChat) supporting text, image, and voice messages, group chats, and callback verification.
    • Slack gateway now supports multi-workspace OAuth, connecting a single gateway to multiple workspaces via an OAuth token file with per-workspace bot token resolution.
    • Telegram adapter gains webhook mode as a production alternative to polling, plus configurable group mention gating (always, @mention-only, or regex-triggered).
    • Adds Exa as an alternative web search and content extraction backend alongside Firecrawl and DuckDuckGo, configured via EXA_API_KEY.
    • Skills and credential files can now be mounted into Modal and Docker remote backends so remote terminal sessions share the same skills and secrets as local execution.
    • Discord gateway adds a DISCORD_IGNORE_NO_MENTION env variable to skip messages that @mention other users or bots but not Hermes.
    • Discord gateway adds a processing reaction emoji that appears while a request is in flight and is removed on completion.
    • Matrix adapter sends voice messages as native Matrix voice events via MSC3245 instead of file attachments.
    • Mattermost adapter gains configurable mention behavior to respond without requiring an @mention.
    • Gemini 3.1 preview models added to OpenRouter and Nous Portal catalogs.
    • Rate limit (429) responses now display a user-friendly message with a Retry-After countdown.
    • Curated model lists are now preferred over live API probes when the probe returns fewer models.
    └──▷ BREAKING ON UPGRADE
    • !When no provider is configured, Hermes now raises a clear error instead of silently routing to OpenRouter.
  50. v2026.3.28 Mar 28, 2026 · issue -144

    Hermes v2026.3.28 adds Hugging Face inference, Telegram topic isolation, plugin lifecycle hooks, native Modal SDK, and a Nix flake.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.3.28 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.3.28
    • Adds Hugging Face Inference API as a first-class provider with auth, setup wizard, curated agentic model picker, and live /models endpoint probe.
    • Enables Telegram Private Chat Topics for project-based conversations with per-topic skill binding and isolated workflows within a single chat.
    • Activates plugin lifecycle hooks — pre_llm_call, post_llm_call, on_session_start, and on_session_end — now firing in the agent loop and CLI/gateway.
    • Replaces swe-rex dependency with native Modal SDK (Sandbox.create.aio + exec.aio), eliminating tunnel requirements for the Modal terminal backend.
    • Adds GPT_TOOL_USE_GUIDANCE to enforce tool calls in GPT models instead of prose descriptions, and strips stale budget warnings from conversation history.
    +15 moreshow less
    • Introduces Nix flake with full uv2nix build, NixOS module with persistent container mode, and auto-generated config keys from Python source.
    • Expands Nous Portal to 400+ available models via a single provider endpoint.
    • Adds /resume CLI handler and reopen_session API for returning to previous sessions.
    • Adds --source flag for third-party session isolation by origin.
    • Introduces session search recent-sessions mode — omit query to browse recent sessions with titles, previews, and timestamps.
    • Exposes compression.target_ratio, protect_last_n, and threshold in DEFAULT_CONFIG for ratio-based context compression tuning.
    • Persists reasoning across gateway session turns with new schema v6 columns (reasoning, reasoning_details, codex_reasoning_items).
    • Adds supply chain hardening: CI workflow scanning PRs for supply chain attack patterns, pinned dependency ranges, and regenerated uv.lock with hashes.
    • Adds per-model native output limits for Anthropic models (128K for Opus 4.6, 64K for Sonnet 4.6) replacing hardcoded 16K max_tokens.
    • Adds thinking-budget exhaustion detection to skip useless continuation retries when a model uses all output tokens on reasoning.
    • Gives subagents independent iteration budgets.
    • Surfaces all retry, fallback, and compression events to the user as formatted messages.
    • Adds auto-discovery of fallback IPs via DNS-over-HTTPS when api.telegram.org is unreachable.
    • Removes /model slash command from CLI and gateway in favor of hermes model subcommand.
    • Increases API timeout default from 900s to 1800s to support slow-thinking models.
    └──▷ BREAKING ON UPGRADE
    • !The /model slash command is removed from CLI and gateway; use the hermes model subcommand instead.
    • !The summary_target_tokens config key is replaced with ratio-based scaling; existing configurations referencing it will have no effect.
    • !The litellm dependency is removed; any external code or plugins that relied on it will break.
  51. v2026.3.23 Mar 24, 2026 · issue -148

    Hermes v2026.3.23 adds an OpenAI-compatible API server, 6 messaging adapters, 4 inference providers, and MCP OAuth 2.1 management.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.3.23 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.3.23
    └──▷ TRY IT
    Inject a local config file and a live URL into context before asking a question — useful for grounding the agent in current data without copy-pasting.
    $ hermes chat '@file config/rules.yaml @url https://example.com/policy "Does our config comply with this policy?"'
    • Adds OpenAI-compatible /v1/chat/completions API server with /api/jobs REST API for cron job management, SQLite-backed response persistence, input limits, field whitelists, and CORS origin protection.
    • Adds 6 new messaging platform adapters: Signal, DingTalk, SMS (Twilio), Mattermost, Matrix, and Webhook — joining existing Telegram, Discord, and WhatsApp support, with exponential-backoff auto-reconnect.
    • Adds @file and @url context injection with tab completions in the CLI for Claude Code-style context references.
    • Adds 4 new inference providers: GitHub Copilot (OAuth + token validation, 400k context), Alibaba Cloud / DashScope, Kilo Code, and OpenCode Zen/Go.
    • Adds hermes mcp command suite for installing, configuring, and authenticating MCP servers with full OAuth 2.1 PKCE flow.
    +20 moreshow less
    • Adds gateway prompt caching — caches AIAgent instances per session to preserve Anthropic prompt cache across turns, reducing cost on long conversations.
    • Adds NeuTTS local TTS provider backend with built-in setup flow.
    • Enables CLI streaming by default with spinner and tool progress display during streaming mode.
    • Adds /statusbar command to toggle a persistent config bar showing model and provider info in the prompt.
    • Adds /queue command to queue prompts for the agent without interrupting the current run.
    • Adds /permission command to switch approval mode dynamically during a session.
    • Adds /browser command for interactive browser sessions from the CLI.
    • Adds /cost command for live pricing and usage tracking in gateway mode.
    • Adds /approve and /deny commands replacing bare text approval in gateway mode.
    • Adds show_reasoning config option to display reasoning/thinking blocks during inference.
    • Adds context pressure warnings for CLI and gateway modes.
    • Adds ${ENV_VAR} substitution support in config.yaml.
    • Adds real-time config reload — config.yaml changes apply without restarting the agent.
    • Adds custom_models.yaml for user-managed model additions.
    • Adds priority-based context file selection with CLAUDE.md support.
    • Adds merging of nested YAML sections instead of full replacement on config update.
    • Adds overhaul of context compression with structured summaries, iterative updates, token-budget tail protection, configurable summary endpoint, and fallback model support.
    • Adds context length detection overhaul with models.dev integration, provider-aware resolution, fuzzy matching for custom endpoints, and /v1/props support for llama.cpp.
    • Adds eager fallback to a backup model on rate-limit errors.
    • Adds endpoint metadata support for querying local servers for actual context window size and pricing.
    └──▷ BREAKING ON UPGRADE
    • !The ANTHROPIC_BASE_URL environment variable is removed to avoid collisions — configurations relying on it will no longer apply.
  52. v2026.3.17 Mar 17, 2026 · issue -155

    Hermes v2026.3.17 adds streaming, a plugin architecture, native Anthropic provider, voice mode, PII redaction, persistent shell, and CDP browser attach.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.3.17 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.3.17
    └──▷ TRY IT
    Extend Hermes with a custom security tool (e.g., a CVE lookup) without forking the project.
    $ cp my_cve_lookup_tool.py ~/.hermes/plugins/
    Attach Hermes browser tools to an already-open Chrome session for live inspection and interaction via CDP.
    $ /browser connect
    • Adds unified streaming infrastructure delivering real-time token-by-token output in the CLI and all gateway platforms.
    • Introduces a first-class plugin architecture: drop Python files into ~/.hermes/plugins/ to add custom tools, commands, and hooks without forking.
    • Adds native Anthropic provider with Claude Code credential auto-discovery, OAuth PKCE flows, and native prompt caching — no OpenRouter required.
    • New smart approvals system learns which commands are safe and remembers preferences; /stop command immediately kills the current agent run.
    • Adds Honcho memory integration with async writes, configurable recall modes, session title support, and multi-user isolation in gateway mode.
    +16 moreshow less
    • Adds voice mode: push-to-talk in CLI, voice notes in Telegram/Discord, Discord voice channel support, and local Whisper transcription via faster-whisper.
    • Concurrent tool execution via ThreadPoolExecutor runs multiple independent tool calls in parallel, reducing multi-tool turn latency.
    • New privacy.redact_pii setting automatically scrubs personally identifiable information before sending context to LLM providers.
    • New /browser connect command attaches browser tools to a live Chrome instance via Chrome DevTools Protocol.
    • Adds Vercel AI Gateway as a provider, routing Hermes through Vercel's model catalog and infrastructure.
    • Rebuilt centralized provider router with call_llm API, unified /model command, auto-detect provider on model switch, and direct endpoint overrides.
    • New ACP server enables VS Code, Zed, and JetBrains to connect to Hermes as an agent backend with full slash command support.
    • Persistent shell mode lets local and SSH terminal backends maintain shell state (working directory, env vars, aliases) across tool calls.
    • Adds --pass-session-id flag to include the session ID in the system prompt.
    • Adds Anthropic Context Editing API support.
    • New system gateway service mode allows running Hermes as a system-level systemd service.
    • Reasoning hot reload allows changing reasoning settings in gateway mode without a restart.
    • Adds Agentic On-Policy Distillation (OPD) RL training environment for distilling agent policies.
    • Native Anthropic auxiliary vision support uses Claude's native vision API for image processing instead of OpenAI-compatible endpoints.
    • Accepts unlisted models with a warning instead of rejecting them outright.
    • CLI token counts are now persisted to the session DB for use with /insights.
    └──▷ BREAKING ON UPGRADE
    • !Default group gateway sessions now use per-user isolation instead of shared state across users in group chats.
  53. v2026.3.12 Mar 12, 2026 · issue -159

    Hermes Agent v2026.3.12 adds MCP client support, multi-platform messaging gateways, git worktree isolation, filesystem rollback, and 70+ bundled skills.

    └──▷ GET THIS VERSION
    $ git clone --branch v2026.3.12 https://github.com/NousResearch/hermes-agent.git
    # already have the repo? check out this version:
    $ git checkout v2026.3.12
    └──▷ TRY IT
    Run an isolated agent session in a git worktree to safely work on a feature branch without touching your main working tree.
    $ hermes -w
    Send a one-shot query non-interactively for use in scripts or CI pipelines.
    $ hermes --quiet "Summarize the open CVEs in SECURITY.md"
    Check the health of all configured LLM providers and integrations before deploying.
    $ hermes doctor
    • Adds MCP (Model Context Protocol) client with stdio and HTTP transports, reconnection, resource/prompt discovery, and server-initiated LLM sampling requests.
    • Adds multi-platform messaging gateway supporting Telegram, Discord, Slack, WhatsApp, Signal, Email (IMAP/SMTP), and Home Assistant with unified session management and media attachments.
    • Adds hermes -w flag to launch isolated agent sessions in git worktrees for safe parallel work on the same repository.
    • Adds filesystem checkpoints with automatic snapshots before destructive operations and /rollback command to restore prior state.
    • Adds Skills Ecosystem with 70+ bundled and optional skills across 15+ categories, a Skills Hub for community discovery, per-platform enable/disable, and prerequisite validation.
    +48 moreshow less
    • Adds ACP Server for VS Code, Zed, and JetBrains editor integration via the Agent Communication Protocol standard.
    • Adds data-driven CLI skin/theme engine with 7 built-in skins (default, ares, mono, slate, poseidon, sisyphus, charizard) and support for custom YAML skins.
    • Adds centralized provider router with unified call_llm() / async_call_llm() API and resolve_provider_client() for automatic credential resolution across all LLM consumers.
    • Adds support for OpenAI Codex (Responses API) with ChatGPT subscription and OAuth vision/multimodal content.
    • Adds Kimi Code API, z.ai/GLM, Kimi/Moonshot, MiniMax, and Azure OpenAI as first-class providers.
    • Adds self-hosted Firecrawl support.
    • Adds OpenRouter provider routing via provider_preferences configuration.
    • Adds /reasoning command for configuring reasoning effort level and display toggle.
    • Adds /personality command for setting and disabling custom agent personalities.
    • Adds /verbose slash command to toggle debug output at runtime.
    • Adds /insights command for usage analytics, cost estimation, and activity patterns.
    • Adds /background command for managing background processes.
    • Adds /compress, /usage, and /update slash commands to the gateway.
    • Adds /resume command for switching to named sessions in the gateway.
    • Adds session naming with unique titles, auto-lineage, rich listing, and resume-by-name.
    • Adds interactive session browser with search filtering.
    • Adds Honcho AI-native cross-session user modeling.
    • Adds --quiet / -Q flag for programmatic single-query mode.
    • Adds --fuck-it-ship-it flag to bypass all approval prompts.
    • Adds hermes tools subcommand with a curses UI for per-platform tool enable/disable.
    • Adds hermes doctor subcommand for health checks across all configured providers.
    • Adds hermes update subcommand with auto-restart for the gateway service.
    • Adds user-defined quick commands that bypass the agent loop.
    • Adds simple fallback model configuration for provider resilience.
    • Adds configurable subagent provider/model with full credential resolution.
    • Adds tool call repair middleware with auto-lowercase and invalid-tool handling.
    • Adds smart context length probing with persistent caching and banner display.
    • Adds Nous Portal as a first-class provider in the setup wizard.
    • Adds config migration system (currently v7) and modular setup wizard with section subcommands.
    • Adds terminal bell notification when the agent finishes a task.
    • Adds clipboard image paste via Alt+V / Ctrl+V.
    • Adds up/down arrow history navigation in the interactive CLI.
    • Adds Signal messenger gateway via signal-cli-rest-api with media URL support.
    • Adds full email gateway platform via IMAP/SMTP.
    • Adds Home Assistant REST tools and WebSocket gateway with service discovery.
    • Adds DISCORD_ALLOW_BOTS config option for bot message filtering.
    • Adds WhatsApp native media sending (images, videos, documents) and multi-user session isolation.
    • Adds Telegram forum topic session isolation and browser screenshot sharing via MEDIA: protocol.
    • Adds configurable background process watcher notifications.
    • Adds edit_message() for Telegram, Discord, and Slack with fallback.
    • Adds /model validation against the live API instead of hardcoded lists.
    • Adds /model and /provider unified single view.
    • Adds reasoning effort configuration via /reasoning command.
    • Adds iteration budget pressure via tool result injection and shared budget across parent and subagent delegation.
    • Adds atomic write for .env to prevent API key loss on crash.
    • Adds multiple named custom provider support.
    • Adds loading indicators for slow slash commands.
    • Adds tools summary flag.
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →