Skip to content

Update dependency NousResearch/hermes-agent to v2026.9.11 - #241

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nousresearch-hermes-agent-2026.x
Open

Update dependency NousResearch/hermes-agent to v2026.9.11#241
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nousresearch-hermes-agent-2026.x

Conversation

@renovate

@renovate renovate Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Update Change
NousResearch/hermes-agent minor v2026.8.16v2026.9.11

Release Notes

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

v2026.9.11: Hermes Agent v0.21.2 (v2026.9.11)

Compare Source

Hermes Agent v0.21.2 (v2026.9.11) — The state.db Patch Release

Release Date: September 11, 2026

Patch release. v0.21.0 shipped a large rewrite of the session store's connection handling, and for some installs it made state.db fragile: second writers cancelling each other's locks, healthy databases reported as corrupt, one bad row killing sessions list. This release closes that class and rolls up everything else that landed on main in the four days since v0.21.1.

About this release

Measured at commit 04dd80a977f40b05e5b2054111747af07a61886a, the window since v0.21.1 contains 947 non-merge commits across 1,869 changed files (+182,504 / −15,564) and 312 merged PRs. 140 contributors appear in commits, co-author trailers, or salvage credits.

✨ Highlights

state.db reliability campaign (six PRs, 44 issues closed)

If your state.db broke after 0.21.0, this is the release for you. Six PRs fix the root causes rather than the symptoms:

Also in the window from the same subsystem: a fresh state.db no longer publishes FTS tables before owning the rebuild lock (#​106311), a handle that lost its WAL generation no longer checkpoints stale frames at shutdown (#​106315, #​106840), a clobbered first page is quarantined with its WAL instead of opened destructively (#​106587), WAL setup leaves an unverifiable database untouched (#​106568), and quarantined handles refuse VACUUM/FTS optimize (#​106343, #​106349). Most of these salvaged community diagnoses by @​kshitijk4poor.

Multi-profile isolation hardening

A cluster of fixes for installs running several profiles under one gateway (multiplex): secondary-profile bots no longer inherit the default profile's allow-lists (#​107616), adapters no longer send credentials to the default profile's host (#​107617), stdio MCP servers no longer receive the default profile's vault secrets (#​107630), MEDIA: delivery can no longer attach another profile's .env / auth.json / state.db (#​107609), Feishu drive callbacks and /p/<profile>/ webhook replies stay on the routed profile (#​107620, #​107626), and secondary profiles no longer get a sibling's Nous bearer from per-process memos (#​107611).

Desktop backend spawn storms are over

Bot Mode used to spawn or dial one backend per profile on launch and on every roster tick, hovering the Bots roster spawned a backend per row, and profile switches could spawn a duplicate primary. (#​108069, #​108107, #​108118, #​108134, #​107969, #​108112 — salvage #​102512, #​103634, #​103399, #​107997 and others by @​kshitijk4poor)

Password-blind credential vault

The agent can now sign in, pay, and fill addresses from 1Password, Bitwarden, or the local Hermes vault without ever seeing a secret; two-factor codes come from a saved authenticator key or are asked for in the user's UI (#​106480, #​107585). Private git plugins install with the user's stored credentials (#​106981).

Plugin catalog and one Plugins page

A curated, SHA-pinned plugin index with CLI, admission CI, docs and dashboard (#​69446); Desktop gets one Plugins page owning agent + desktop plugins, install, catalog and per-commit pinning (#​107212, #​107314, #​107321); Radio ships as an opt-in SDK plugin (#​107072).

Nous free tier and guided first launch

Free inference and connectors out of the box with one command to sign in (#​105258, #​105260), /login from a chat (#​105261), connector tools (Gmail, Linear, Notion, ...) searchable through tool_search (#​106842), and a guided first launch behind HERMES_GUEST_ONBOARDING=1 (#​107697, #​107958, #​107985, #​108211).

🐛 Notable Bug Fixes

Gateway & platforms

  • A bare display: key in config.yaml no longer crashes every gateway turn (#​106305); a queued-lane final refused by the platform is recorded and redelivered (#​106316); a stalled WebSocket send no longer blocks every later event (#​106581); the first turn no longer waits on the Python toolchain probe (#​106556).
  • Telegram bots must @​mention when bots_require_mention is on, breaking bot-to-bot loops (#​106534); Matrix renders LaTeX (#​106515); Signal renders markdown tables (#​106538); WhatsApp replies to view-once messages keep their quote (#​106541); media-only replies report SUCCESS everywhere (#​106557).

Providers & routing

  • /model and auxiliary auto never bill a provider you didn't select (#​107366); never auto-switch to a provider you have no credentials for (#​107281); Bedrock Claude/Converse/Mantle models survive /model, fallback and restore (#​107621, #​107658); Bedrock Guardrails enforced (#​107815).
  • Codex: patch-budget image 400 shrinks and retries (#​106525); unentitled primary + fallback no longer oscillate (#​106549); Azure Foundry replayed-reasoning rejection classified and pruned (#​106718 @​erosika). MCP OAuth refresh no longer erases the refresh token (#​106185). Anthropic clients send exactly one credential (#​107978).
  • DeepSeek V4.1 Flash on Nous Portal and OpenRouter pickers (#​107489); GPT Image 2.5 via OpenAI and FAL (#​105988); Opus 5 / Fable 5.1 on the native Anthropic picker (#​106636 @​xxxigm).

Agent loop & compression

  • One blocked periodic callback no longer stalls lease refresh (#​106308); a mid-turn /steer is persisted as its own user row (#​106317, #​106344); local-inference memory-ceiling rejections back off instead of compressing history (#​106307); context-overflow after partial streaming ends the turn (#​106567); length continuation stops when the prompt filled the window (#​106571); compression no longer times out silently on aux retries (#​106866); model_thresholds keys can be provider-scoped (#​108061).
  • Surface switch (Desktop↔TUI) no longer rebuilds the system prompt and busts the prompt cache (#​105844); CLI keeps the api_content sidecar so the cache survives an early persist (#​105842).

CLI, TUI & Desktop

Cron & Kanban

  • An off-tick "run now" no longer cancels the next scheduled run (#​106306); a killed manual run no longer blocks the next one for 5 minutes (#​106733); a one-shot changed to recurring keeps firing (#​106532); unpinned jobs run on their creation-snapshot model (#​106499); --clone-all no longer copies cron jobs (#​106478); kanban promote refuses undone parents (#​106550); kanban_request_review rejects unknown reviewer profiles (#​106547).

Tools & memory

  • A stdio MCP server dying mid-call no longer replays the tool call (#​106546); a skills-only background review can no longer delete memory entries (#​106310); mem0 memory no longer drops long turns (#​106542); tool_search returns nothing rather than five tools sharing one word (#​106676); remote NOPASSWD sudo no longer prompts (#​107939); RSS and Reddit reading no longer activate by default (#​105873).

Housekeeping

  • config.yaml backups live in one bounded backups/config/ dir (#​106388); hermes backup keeps the newest 3 zips (#​106455); hermes setup --reset backs up the real config (#​106453); debug share retention shrunk to 1 day on the dpaste fallback (#​106531).

👥 Contributors

Thank you to the 140 contributors whose commits, co-author trailers, and salvaged PRs landed in this window.

state.db campaign — salvaged PR authors: @​RikETS, @​JoaoMarcos44, @​Halldrix, @​TaoMasterCoder, @​chelsealong, @​ca-shrimp, @​gaoanze888, @​nikkoxgonzales, @​QDung210, @​fangliquanflq, @​Sahilvishnaliya, @​kshitijk4poor, @​jonpol01, @​HexLab98, @​Sora-bluesky, @​Xipong, @​efe-arv, @​liuhao1024, @​mssteuer, @​Mi55ed, @​SulthanZahran1, @​Finn763, @​nftpoetrist, @​jangomango76, @​leegunwoo98, @​ggoldani.

state.db campaign — issue reporters (the forensics in these threads were often better than the fixes): @​thedigitalcarpenterdad, @​Rroven, @​aoeman84, @​StephanRosin, @​rubensandrade-sketch, @​wanliqin, @​chenzheshushi-commits, @​CarlosReyesPena, @​revazone, @​reservassai-art, @​Cuttingwater, @​soroush5, @​e-shizz, @​shobhit-87labs, @​shivanathd, @​hoelzl, @​i8ei, @​Ace-Kelly, @​YinsenWANG, @​zbabiarz, @​Sravanjangam, @​0gl20shk0sbt36, @​RChina, @​bronder, @​ccwssy, @​bottenbenny, and @​Hitman117890 whose Discord report kicked the campaign off.

Everyone in the window (alphabetical): @​0genlab, @​0xalydev, @​100yenadmin, @​1052326311, @​686f6c61, @​69k4xmdfm2-blip, @​abundantbeing, @​Adolanium, @​Ahmett101, @​albert748, @​AlexxRussell, @​alt-glitch, @​auroracapital, @​austinpickett, @​babatorik, @​Bartok9, @​benbarclay, @​bennybuoy, @​brian717, @​briandevans, @​buihongduc132, @​ca-shrimp, @​cervantesh, @​Cesar-Azeredo, @​ChanPark03, @​chelsealong, @​ckomma, @​ClintonEmok, @​crazyief, @​ctaylor86, @​dalzio, @​DavidMetcalfe, @​Drexuxux, @​edosulai, @​efe-arv, @​emozilla, @​ericmaddox, @​erosika, @​ethernet8023, @​everm1nd, @​FalconOrtiz, @​fangliquanflq, @​Finn763, @​FirmamentalSpring, @​francip, @​g3org3yo, @​gaoanze888, @​ggoldani, @​Halldrix, @​haydster7, @​hbizi, @​helix4u, @​HexLab98, @​huklaa, @​IAvecilla, @​infinitycrew39, @​jahfaliabdulrahman-dev, @​jangomango76, @​JoaoMarcos44, @​jonpol01, @​jwilson411, @​KeyArgo, @​kokhlo, @​KoNit-K, @​kshitijk4poor, @​kyssta-exe, @​leegunwoo98, @​lesterlxt, @​liuhao1024, @​Mabolla, @​manuelschipper, @​MaxFreedomPollard, @​mearls0501, @​mengyuyuan, @​Mi55ed, @​MiseHinoha, @​mjshorty, @​mkrb84, @​moisesvalero, @​moken627-hub, @​mssteuer, @​nateEc, @​nftpoetrist, @​nickseelert, @​nikkoxgonzales, @​notwitcheer, @​onuraycicek, @​outdog-hwh, @​OutThisLife, @​philmossman, @​phuongvm, @​pierrenode, @​portavales, @​PRATHAMESH75, @​QDung210, @​rewbs, @​RikETS, @​romanovzky, @​ryantuc, @​Sahilvishnaliya, @​salch-cred, @​sgarrand, @​shannonsands, @​simpolism, @​Solitud1nem, @​somewheresy, @​Sora-bluesky, @​sprmn24, @​squevo, @​StellarisW, @​Stoltemberg, @​SulthanZahran1, @​Svector-anu, @​szicely, @​TaoMasterCoder, @​teknium1, @​ten82e, @​thedavidweng, @​tkaufmann, @​Totoro-qaq, @​Tranquil-Flow, @​tuancookiez-hub, @​TurgutKural, @​ugoenyioha, @​unsupportedpastels, @​victor-kyriazakos, @​webtecnica, @​wliu-dev, @​wukangcheng1994, @​Xipong, @​Xixiartemis, @​xkam7ar, @​xxxigm, @​yavarb, @​yoniebans, @​Youssef, @​yoyodine-industries, @​yuanchenglu, @​YuhGuan, @​Zeus-Deus.

Also: Youssef.

Updating

  • Existing install: hermes update
  • Fresh install: curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
  • Managed deployments should update through their deployment tooling using the new tag.
  • If your state.db was already damaged by 0.21.0/0.21.1: run hermes doctor first; it now names structural vs index damage correctly and points at hermes sessions recover --inspect-only (profile-pinned) when a rebuild isn't enough.

Full Changelog: v2026.9.7...v2026.9.11

v2026.9.7: Hermes Agent v0.21.1 (v2026.9.7)

Compare Source

Hermes Agent v0.21.1 (v2026.9.7)

Release Date: September 7, 2026

Patch release. This tag rolls up current main since v0.21.0 for tagged deployments and downstream consumers.

About this release

Measured at commit 6178e9f4eed8d99f4fc550add939d58c7bed6206, the window since v0.21.0 contains 5,139 non-merge commits across 4,364 changed files (+601,014 / −768,419). GitHub reports 632 merged PRs in the release window at preparation time. These figures exclude the release-version commit.

The rollup includes the codebase modularization, file-operation and startup performance work, provider and model updates, desktop session controls and browser annotations, MCP authorization improvements, cron scheduling and delivery fixes, and delegation reliability improvements. This patch does not attempt to enumerate or announce every feature in the window.

Full curated release notes for this window will ship with v0.22.0, covering everything since v0.21.0, including the intervening patch releases, feature details, and complete contributor credits.

Updating

  • Existing install: hermes update
  • Fresh install: curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
  • Managed deployments should update through their deployment tooling using the new tag.

Full Changelog: v2026.8.31...v2026.9.7

v2026.8.31: Hermes Agent v0.21.0 (v2026.8.31)

Compare Source

Hermes Agent v0.21.0 (v2026.8.31)

Release Date: August 31, 2026
Since v0.20.0: ~5,800 commits · ~2,475 merged PRs · ~5,680 files changed · ~869,000 insertions · ~135,000 deletions · ~2,100 issues closed · 760+ contributors

The Pantheon Release. v0.20.0 made Hermes the herald — he spoke, and he carried word to other agents. In v0.21.0 the gods assemble. Bot Mode ships built into the desktop app: a society of named agents with their own faces and group chats, where your bots talk to each other — and to you — like a team, not a toolbox. Around that spine: cron jobs gained memory and continuity so scheduled agents actually learn between runs, subagents can be steered live mid-flight, the MCP surface became a real command center, and the agent can now drive the desktop's own browser. This release rolls up everything from the v0.20.1–v0.20.6 infrastructure patch tags — those windows are fully documented here.


✨ Highlights

  • Bot Mode — your agents become a society, built in — Bot Mode is now a bundled, default-on part of the desktop app: every agent profile gets a name, a deterministic avatar face (with randomize/lock controls), and a place in a shared roster. Create Discord-style group chats where multiple bots and you talk in one room, @​-mention any bot from the composer, and give rooms names and pictures. Before, "multi-agent" meant plumbing; now it looks like a chat app full of coworkers. (#​87886, #​88243, #​89386, #​96726@​teknium1, @​OutThisLife, @​dokterdok)

  • hermes peer — bot-to-bot DMs between your agents — Any Hermes agent can now message any other by handle, across profiles and gateways, from the CLI or from inside a conversation. Ask your research bot to hand findings to your coding bot and get the reply back where you can read it. Replies land in each agent's canonical Bot Chat, so conversations between agents are durable and inspectable, not fire-and-forget. (#​88725, #​88178, #​91487@​teknium1)

  • Cron jobs that remember — Scheduled jobs stopped being goldfish. Cron agents now load and update persistent memory like every other agent, continuity=true carries each run's output into the next (so a monitor can dedupe against what it already reported), every job gets a durable notepad scratchpad, monitor-mode jobs skip the LLM entirely when nothing changed, and cron output can land in a bot's canonical Bot Chat — where the bot actually responds. Your 9am briefing job now knows what it told you yesterday. (#​91447, #​80774, #​81139, #​81138, #​91487@​teknium1, @​smwbev)

  • Steer your subagents while they rundelegate_task gained live orchestration: list running children, steer one mid-flight with a course correction, or stop it early and keep the partial result. Add optional JSON-schema validation on child outputs, per-delegation cost surfaced in results, and raised defaults (250 iterations, 10 concurrent children) — delegation went from fire-and-pray to actually managed parallel work. (#​85232, #​81144, #​81142, #​86506, #​86745@​teknium1)

  • The MCP command center — MCP servers and the catalog merged into one coherent desktop page with drag-in "paste anything" import, background health checks that nudge you to re-auth before a tool call fails, a fleet cost/usage overlay showing schema token estimates and 30-day usage per server, and hermes:// deep links that install an MCP server with explicit confirmation. Managing twenty MCP servers used to be config-file archaeology; now it's a dashboard. (#​87525, #​87572, #​87576, #​87579, #​87581@​teknium1)

  • A CLI power wave — Ctrl+P opens a fuzzy command palette, the /model picker filters as you type, /status shows reasoning mode, pending approvals, and context usage, and the status bar can display live cache-hit %, latency, and tokens/sec with per-field toggles. Plus: a global emergency stop, session pin/unpin, rotating task-oriented composer placeholders — and Ghostty-level terminal pets, because a companion should have a companion. (#​90730, #​90717, #​90745, #​98250, #​98282, #​97666@​teknium1, and salvaged community work)

  • The agent drives the desktop's browser — The in-app browser stopped being a window the agent could only look at: Hermes now navigates, clicks, and reads it directly, and pages can be popped out to your system browser with full link context menus. Ask it to walk a docs site or debug a web app and watch it happen inside your own app. (#​90197, #​89366@​OutThisLife, @​ethernet8023)

  • Six new providers and a model catalog wave — Meta Model API (Muse Spark) arrives as a built-in provider, alongside CommandCode, Tencent TokenPlan, Nebius Token Factory, Ramp Router, and Actual Computer. The catalogs picked up GLM-5.3-Flash, qwen3.8-max/flash, Gemini 3.7 Flash, MiniMax M3 free, and Nemotron 3.5 Lightning — and model_overrides lets you patch any model's context window or pricing yourself without waiting on a release. (#​88565, #​88308, #​97917, #​97916, #​97915, #​85560@​teknium1 and community)

  • Security hardening across the board — Protected agent-instruction files (AGENTS.md, skills, memory stores) now always require write approval so a prompt-injected agent can't quietly rewrite its own standing orders. A deep redaction sweep closed secret-leak gaps across terminal errors, .env file reads, checkpoints, and ACP logs; the approval system learned Windows destructive commands; and macOS permission grants finally survive updates via a stable TCC signing identity. (#​81152, #​80965, #​84428, #​95091@​teknium1 and community)


🏗️ Core Agent & Architecture

Providers & Models
  • New providers: Actual Computer inference (#​79644, salvage of #​26491), CommandCode with GOAT/Pro/Max plans (#​88308, salvage of #​32909), Meta Model API (Muse Spark) as a built-in provider plugin (#​88565), Tencent TokenPlan (#​97917), Nebius Token Factory (#​97916), and Ramp Router (#​97915).
  • Model catalog wave: qwen3.8-max and qwen3.8-flash (#​78024, #​96979), Gemini 3.7 Flash (#​85526), GLM-5.3-Flash across OpenRouter/Nous/z.ai/OpenCode (#​95621, #​96293), MiniMax M3 + Inkling free SKUs (#​96264), Nemotron 3.5 Lightning (#​84645), Meta Muse Spark 1.2 (#​88600).
  • Per-model metadata overrides via model_overrides config — patch context windows, pricing, or capabilities for any model without waiting on a release (#​85560).
  • Data-training-tier warnings — a unified selection-guard registry warns you across every picker surface when a model trains on your data (#​85917).
  • Pip-installed model providers discovered via entry points — third parties can ship providers as packages (#​85504, salvage #​81419).
  • Prompt caching engaged for LiteLLM Claude on the OpenAI wire (#​87517@​kshitijk4poor) and api.meta.ai routed through the Responses API for caching (#​88601).
  • Codex GPT context defaults back to the verified 272K, with explicit -900k picker variants for the large window (#​92797).
Agent Loop & Reliability
  • Stalled-provider recovery — a stalled stream no longer leaves Desktop silent or burns the retry budget (#​87236@​fangliquanflq).
  • MoA hardening cluster — the Mixture-of-Agents facade now survives client rebuilds, stream retries, provider rotation, and fallback/restore without leaking prepared requests to native clients (#​90212 and siblings).
  • Structured-output resilience — auxiliary calls translate response_format for Anthropic wires and retry when a provider rejects structured output (#​89589@​ethernet8023).
  • Compression: lean tail mode + a compaction recall eval harness to measure what compression actually preserves (#​87326).
  • Oversized tool results spill to cache instead of being truncated in sandbox-less sessions (#​89028).
  • clarify asks multiple independent questions in one call — one form instead of a chain of round-trips (#​89467@​ethernet8023).
  • Verify subsystem (port from superagent-ai/grok-cli): run-recipe detection + environment manifest so "it works" claims are backed by detected build/test commands (#​80686).
Sessions & State

📱 Messaging Platforms (Gateway)

  • Slack native live cards — real streaming replies via chat.startStream plus opt-in plan/task cards for tool progress (#​85476); outbound link-preview suppression across native and relay planes (#​95142@​benbarclay).
  • Telegram inline picker — every command and skill searchable via @​botname, bypassing Telegram's command-menu cap (#​98317).
  • Relay matured — native static/dynamic plugin initialization (#​77915@​bbednarski9), live-card ops with draft streaming + task cards (#​85796@​victor-kyriazakos), session-span segmentation (#​85467), voice-note STT restored over the relay lane (#​95274@​benbarclay), transport dedupe/fail-fast fixes (#​89584).
  • Gateway control socket — fleet consumers query the gateway itself (identify/status), and updaters pause gateways gracefully instead of tree-killing them (#​92447, #​95695).
  • Selective multiplex profile serving (#​83400), per-profile MCP lifecycle RPCs (#​86473), roster previews showing the latest message (#​85905), concise background-process notifications by default (#​85877).
  • Turn-reaper stack dumps — when the watchdog fires, wedged worker stacks are captured for diagnosis (#​86248), with loop-watchdog tuning knobs wired end-to-end (#​92317).
  • Split-delivery bug class closed — swallowed finals and split deliveries fixed as a class (#​79669@​kshitijk4poor, salvages [#&#820

Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

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

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

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

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


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/nousresearch-hermes-agent-2026.x branch from c9e05c3 to 2460d83 Compare August 21, 2026 17:45
@renovate renovate Bot changed the title Update dependency NousResearch/hermes-agent to v2026.8.18 Update dependency NousResearch/hermes-agent to v2026.8.19 Aug 21, 2026
@renovate
renovate Bot force-pushed the renovate/nousresearch-hermes-agent-2026.x branch from 2460d83 to 85e1598 Compare August 27, 2026 13:14
@renovate renovate Bot changed the title Update dependency NousResearch/hermes-agent to v2026.8.19 Update dependency NousResearch/hermes-agent to v2026.8.27 Aug 27, 2026
@renovate
renovate Bot force-pushed the renovate/nousresearch-hermes-agent-2026.x branch from 85e1598 to 9afc8a2 Compare August 31, 2026 21:15
@renovate renovate Bot changed the title Update dependency NousResearch/hermes-agent to v2026.8.27 Update dependency NousResearch/hermes-agent to v2026.8.31 Aug 31, 2026
@renovate
renovate Bot force-pushed the renovate/nousresearch-hermes-agent-2026.x branch from 9afc8a2 to ee6073f Compare September 8, 2026 01:43
@renovate renovate Bot changed the title Update dependency NousResearch/hermes-agent to v2026.8.31 Update dependency NousResearch/hermes-agent to v2026.9.7 Sep 8, 2026
@renovate
renovate Bot force-pushed the renovate/nousresearch-hermes-agent-2026.x branch from ee6073f to a163311 Compare September 11, 2026 21:17
@renovate renovate Bot changed the title Update dependency NousResearch/hermes-agent to v2026.9.7 Update dependency NousResearch/hermes-agent to v2026.9.11 Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants