Skip to content

hermes-agent 2026.5.16 - #283141

Merged
BrewTestBot merged 2 commits into
mainfrom
bump-hermes-agent-2026.5.16
May 16, 2026
Merged

hermes-agent 2026.5.16#283141
BrewTestBot merged 2 commits into
mainfrom
bump-hermes-agent-2026.5.16

Conversation

@BrewTestBot

Copy link
Copy Markdown
Contributor

Created by brew bump


Created with brew bump-formula-pr.

  • resource blocks have been checked for updates.
release notes
# Hermes Agent v0.14.0 (v2026.5.16)

Release Date: May 16, 2026
Since v0.13.0: 808 commits · 633 merged PRs · 1393 files changed · 165,061 insertions · 545 issues closed (12 P0, 50 P1) · 215 community contributors (including co-authors)

The Foundation Release — Hermes Agent installs and runs anywhere now. Native Windows ships in early beta with a full PowerShell installer story, a pip install hermes-agent wheel lands on PyPI, lazy-deps reshape what pip install hermes-agent actually pulls down, the supply-chain checker scans every install/upgrade for unsafe versions, and a new OpenAI-compatible local proxy lets Codex / Aider / Cline talk to OAuth-only providers (Claude Pro, ChatGPT Pro, SuperGrok). The cold-start wave shaves ~19 seconds off hermes launch, browser-tool CDP calls run 180x faster, and hermes tools All-Platforms drops from 14s to under 1.5s. Two new messaging platforms (LINE and SimpleX Chat) and a Microsoft Graph foundation (Teams pipeline + webhook adapter) land alongside /handoff that finally transfers sessions live, vision_analyze passing pixels through to vision-capable models, x_search as a first-class tool, LSP semantic diagnostics on every write_file / patch, a unified pluggable video_generate, a computer_use cua-driver backend, cross-session 1-hour Claude prompt caching, a per-turn file-mutation verifier, plus 9 new optional skills. 50+ P1 closures, 12 P0 closures.


✨ Highlights

  • Native Windows support (early beta) — full PowerShell installer, native subprocess/PTY paths, taskkill-based process management, MinGit auto-install, Microsoft Store python stub detection, foreground Ctrl+C preservation, taskkill+ps2 fallback, npm prefix handling, and ~40 follow-up Windows-only fixes across CLI / gateway / TUI / curator / tools. Hermes finally runs natively on cmd.exe and PowerShell, no WSL required. (#21561, #22130, #22752, #26618, and many more)

  • pip install hermes-agent && hermes — Hermes Agent is now a real PyPI package. One command, no clone, no git, no shell installer. Wheel includes the Ink TUI bundle and shell launcher. (salvage of #26350) (#26593)

  • Cold-start performance wave — ~19s off hermes launch — skills cache, lazy Feishu import, no Nous HTTP at startup, plus PEP-562 lazy adapter imports (QQ, Yuanbao, Teams, Google Chat), deferred fal_client / google-cloud / httpx loads, models.dev disk-cache-first lookup, parallel doctor API checks, eager-skip plugin discovery on built-in subcommands, hermes tools All-Platforms drops from 14s to <1.5s, welcome banner skipped on chat -q. (#22138, #22120, #22681, #22790, #22808, #22831, #22859, #22904, #22766, #25341)

  • 180x faster browser_console evaluations — routed through the supervisor's persistent CDP WebSocket instead of spawning a fresh DevTools session per call. Real-world page interactions feel instant. (#23226)

  • Supply-chain advisory checker + lazy-deps framework + tiered install fallback — every pip install / hermes update scans dependencies against an advisory list, lazy-deps replace heavy import-time loads with first-use installs, and the installer falls back through extras tiers when a wheel rejects on the target platform. (#24220)

  • OpenAI-compatible local proxyhermes proxy exposes any OAuth-authed provider (Claude Pro, ChatGPT Pro, SuperGrok) as an OpenAI-compatible endpoint that Codex / Aider / Cline / VS Code Continue can hit. Your subscription, your tools. (#25969)

  • Cross-session 1-hour Claude prompt cache — Anthropic / OpenRouter / Nous Portal now share a 1h prefix cache across sessions for Claude models. Fast resume, fast /new, lower cost on repeat work. (#23828)

  • Two new messaging platforms — LINE + SimpleX Chat — LINE Messaging API lands as a first-class platform, SimpleX Chat salvages #2558 onto the modern adapter spec. Hermes is now on 22 platforms. (#23197, #26232)

  • Microsoft Graph foundation — Teams pipeline + webhook adaptermsgraph auth/client foundation, webhook listener platform, Teams pipeline plugin runtime, and Teams outbound delivery via the existing adapter — Hermes can now read and post to Teams. (salvages of #21408–#21411) (#21922, #21969, #22007, #22024)

  • /handoff actually transfers the session live — the agent's active session moves to a different model / persona / profile mid-conversation, with messages, tool history, and context preserved. (#23395)

  • x_search — first-class X (Twitter) search tool — gated tool with OAuth-or-API-key auth, no skill needed to query the timeline. (#26763)

  • vision_analyze returns pixels to vision-capable models — when the active model can see, vision_analyze now hands the image straight through instead of falling back to a text description. (#22955)

  • LSP semantic diagnostics on every writewrite_file and patch now run real language-server diagnostics on the post-edit file (delta-only) and surface real errors before they ship downstream. (#24168, #25978)

  • Per-turn file-mutation verifier footer — after every turn that wrote files, the agent gets a verifier footer summarizing what actually changed on disk — catches silent overwrites and "wrote it but it didn't land" bugs. (#24498)

  • Unified video_generate with pluggable provider backends — single tool, any backend. Drop in a new video provider as a plugin, no core changes. (#25126)

  • computer_use cua-driver backend — proper focus-safe ops, non-Anthropic provider support, refresh on hermes update. Computer-use is no longer locked to a single SDK. (re-salvage of #16936) (#21967, #24063)

  • xAI Grok OAuth provider — SuperGrok via subscription — sign in with your xAI account, talk to Grok models from Hermes. (#26534)

  • Clarify with buttons — native inline keyboards on Telegram + Discord — the clarify tool renders multi-choice prompts as platform-native buttons instead of typed responses. (#24199, #25485)

  • Discord channel history backfill (default on) — Hermes reads recent channel history when joining a thread so it actually knows what's been said. (#25984)

  • Watchers skill — RSS / HTTP JSON / GitHub polling via cron no_agent mode — skill recipes that wire change-detection sources directly into cron's script-only watchdog mode. (#21881)

  • Zed ACP Registry integration + uvx distribution — Hermes is in the Zed registry, installable via uvx (no npm). Plus hermes acp --setup-browser bootstraps browser tools for registry installs. (salvage of #25908) (#26079, #26120, #26234)

  • OpenRouter Pareto Code router — wire a new OpenRouter router with min_coding_score knob. Pick the cheapest model that meets your quality bar. (#22838)

  • Optional codex app-server runtime for OpenAI/Codex models — drives the OpenAI Codex CLI under the hood for OpenAI/Codex paths, with session reuse, wedge retirement, and OAuth refresh classification. (#24182, #25769)

  • hermes-skills/huggingface as a trusted default tap — community skills index from huggingface.co/skills is available by default in the Skills Hub. (#26219)

  • 9 new optional skills — Hyperliquid (perp/spot trading via SDK + REST) (@kshitijk4poor & Hermes), Yahoo Finance market data, api-testing (REST/GraphQL debug), unified EVM multi-chain skill (folds #25291 + #2010 + base/), darwinian-evolver, osint-investigation (closes #355), pinggy-tunnel, watchers (RSS/HTTP/GitHub via cron), Notion overhaul for the Developer Platform (May 2026). (#23582, #23583, #23590, #25299, #26760, #26729, #26765, #21881, #26612)

  • API server exposes run approval events — long-running runs surface approval requests over the API stream, no more silent stalls. (salvage of #20311) (#21899)

  • /subgoal — user-added criteria appended to active /goal — layer extra success criteria onto a running goal loop. The judge sees them in the prompt, no behavior change when subgoals are empty. (#25449)

  • Plugins can run any LLM call via ctx.llm — plugins get a first-class hook to make their own LLM requests through the active provider/credentials, no manual wiring. Plus tool_override flag for replacing built-in tools. (#23194, #26759)

  • Brave Search (free tier) + DuckDuckGo (DDGS) as web-search providers — two new free search backends alongside Tavily / SearXNG / Exa. (#21337)

  • Sudo brute-force block + sudo-stdin/askpass DANGEROUS classification — closes the sudo -S brute-force avenue; approval gates classify stdin-fed and askpass-stripped sudo invocations as dangerous. (salvages of #22194 + #21128) (#23736)

  • Provider rename — Alibaba Cloud → Qwen Cloud, picker reorder — matches what the world calls it. Existing config keys still work. (#24835)


🪟 Windows — Native Support (Early Beta)

Bootstrap & installer

  • Native Windows support (early beta) — first-class native Windows path across CLI / gateway / TUI / tools (#21561)
  • PyPI wheel packaging — pip install hermes-agent && hermes (salvage of #26350) (#26593)
  • Recognise Shift+Enter as a newline key + Windows docs (salvage #21545) (#22130)
  • Preserve Ctrl+C for Windows foreground runs (@helix4u) (#22752)
  • Stop spamming cwd-missing + tirith-spawn warnings on every terminal call (#26618)
  • Use --extra all not --all-extras; drop lazy-covered extras from [all] (#24515)

Windows-specific fixes (40+ across cli / tools / gateway / curator / TUI)

A long tail of native-Windows fixes shipped alongside the beta — taskkill-based subprocess management, MinGit auto-install, Microsoft Store python stub detection, npm prefix handling, native PTY paths, signal handling differences, foreground process management, ANSI sequence handling, path normalization, file-locking semantics, and many more. Full list in commit log under fix(windows) / feat(windows) / windows.


🚀 Performance Wave

Cold start

  • Cut ~19s from hermes cold start — skills cache + lazy Feishu + no Nous HTTP at startup (#22138)
  • Skip eager plugin discovery on known built-in subcommands (#22120)
  • Cache Nous auth + .env loadshermes tools All Platforms from 14s to <1.5s (#25341)
  • Skip welcome banner on chat -q single-query mode (#22904)
  • Defer heavy google-cloud imports in google_chat to first adapter use (#22681)
  • Defer QQAdapter and YuanbaoAdapter imports via PEP 562 (#22790)
  • Defer httpx import in teams to first webhook call (#22831)
  • Defer fal_client import to first generation request (#22859)
  • models.dev cache-first lookup, skip network when disk cache is fresh (#22808)
  • Parallelize API connectivity checks in hermes doctor and disable IMDS (#22766)

Runtime

  • 180x faster browser_console evaluations — route through supervisor's persistent CDP WebSocket (#23226)
  • Tune Telegram cadence + adaptive fast-path for short replies (salvage of #10388) (#23587)
  • Accumulate length-continuation prefix via list+join (#26237)

Prompt caching

  • Cross-session 1h prefix cache for Claude on Anthropic / OpenRouter / Nous Portal (#23828)
  • Hit prefix cache in background review fork (salvage #17276 + #25427) (#25434)

📦 Installation & Distribution

PyPI + supply-chain

  • PyPI wheel packaging — pip install hermes-agent && hermes (salvage of #26350) (#26593)
  • Supply-chain advisory checker + lazy-install framework + tiered install fallback (#24220)
  • Use --extra all not --all-extras; drop lazy-covered extras from [all] (#24515)
  • Skip browser download when system chromium exists (@helix4u) (#25317)

Nix

  • extraDependencyGroups for sealed venv extras (@alt-glitch) (#21817)
  • Refresh npm lockfile hashes — keeps Nix flake builds reproducible

Docker

  • Bootstrap auth.json from env on first boot (#21880)
  • Drop manual @hermes/ink build, rely on esbuild bundle — slimmer image

ACP / Zed

  • Zed ACP Registry integration (salvage of #25908) (#26079)
  • Switch to uvx distribution, drop npm launcher (#26120)
  • hermes acp --setup-browser bootstraps browser tools for registry installs (#26234)

🏗️ Core Agent & Architecture

Sessions & handoff

  • /handoff actually transfers the session live (#23395)
  • Expose HERMES_SESSION_ID env var to agent tools (@alt-glitch) (#23847)

Goals (Ralph loop)

  • /subgoal — user-added criteria appended to active /goal (#25449)
  • /goal checklist + /subgoal user controls (#23456) — rolled back in window (#23813); /subgoal returned in simpler form via #25449

Compression

  • Make protect_first_n configurable (#25447)

Verification

  • Per-turn file-mutation verifier footer (#24498)

Stream retry

  • Log inner cause, upstream headers, bytes/elapsed on every drop (#23005)

🤖 Models & Providers

New providers

  • xAI Grok OAuth (SuperGrok Subscription) provider (#26534)
  • NovitaAI provider (salvage #7219) (@kshitijk4poor) (#25507)
  • NVIDIA NIM billing origin header (salvage #25211) (#26585)

Provider work

  • OpenRouter Pareto Code router with min_coding_score knob (#22838)
  • Optional codex app-server runtime for OpenAI/Codex models (#24182)
  • Codex-runtime: retire wedged sessions + post-tool watchdog + OAuth refresh classify (#25769)
  • Codex-runtime: skip unavailable plugins during migration (#25437)
  • Codex-runtime: de-dup [plugins.X] tables and stop leaking HERMES_HOME into config.toml (#26250) (@kshitijk4poor) (#26260)
  • Pass reasoning.effort to xAI Responses API (#22807)
  • Custom provider: prompt and persist explicit api_mode (#25068)
  • Rename Alibaba Cloud → Qwen Cloud, reorder picker (#24835)
  • Restore gpt-5.3-codex-spark for ChatGPT Pro (salvage #18286 + #19530, fixes #16172) (@kshitijk4poor) (#22991)
  • Inject tool-use enforcement for GLM models (#24715)
  • Use Nous Portal as model metadata authority (@rob-maron) (#24502)
  • Unified client=hermes-client-v<version> tag on every Portal request (#24779)
  • Prevent stale Ollama credentials after provider switch (@kshitijk4poor) (#21703)
  • Auxiliary client: rotate pooled auth after quota failures (salvage #22779) (#22792)
  • Auxiliary client: skip providers without credentials immediately (#25395) (#25487)
  • Auth: send Nous refresh token via header (@shannonsands) (#21578)
  • MiniMax: harden OAuth dashboard and runtime (#24165)

OpenAI-compatible proxy

  • Local OpenAI-compatible proxy for OAuth providers — Codex / Aider / Cline can hit Claude Pro, ChatGPT Pro, SuperGrok (#25969)

📱 Messaging Platforms (Gateway)

New platforms

  • LINE Messaging API platform plugin (#23197)
  • SimpleX Chat platform plugin (salvages #2558) (#26232)

Microsoft Graph foundation

  • msgraph: add auth and client foundation (salvage of #21408) (#21922)
  • msgraph: add webhook listener platform (salvage of #21409) (#21969)
  • teams-pipeline: add plugin runtime and operator cli (salvage of #21410) (#22007)
  • teams: add pipeline outbound delivery via existing adapter (salvage of #21411) (#22024)

Cross-platform

  • Per-platform admin/user split for slash commands (salvage of #4443) (#23373)
  • Forensics on signal handling — non-blocking diag, per-phase timing, stale-unit warning (#23285)
  • Keep gateway running when platforms fail; add per-platform circuit breaker + /platform (#26600)
  • Wire clarify tool with inline keyboard buttons on Telegram (#24199)
  • Add chat_id to hook_ctx for message source tracking (#24710)

Telegram

  • Native draft streaming via sendMessageDraft (Bot API 9.5+) (salvage of #3412) (#23512)
  • Stream Telegram edits safely — salvage of #22264 (@kshitijk4poor) (#22518)
  • Telegram notification mode (salvage #22772) (#22793)
  • Telegram guest mention mode (@kshitijk4poor) (#22759)
  • Split-and-deliver oversized edits instead of silent truncation (salvage of #19537) (#23576)
  • Preserve DM topic routing via reply fallback (salvage #22053) (@kshitijk4poor) (#22410)
  • Pass source.thread_id explicitly on auto-reset notice (carve-out of #7404) (#23440)

Discord

  • Render clarify choices as buttons (#25485)
  • Channel history backfill — default on, broadened scope (#25984)
  • thread_require_mention for multi-bot threads (salvage #25313) (#25445)

Slack

  • Support !cmd as alternate prefix for slash commands in threads (#25355)

WhatsApp

  • Surface quoted reply metadata from Baileys (#25398) (#25489)

Feishu / Google Chat / others

  • Feishu: native update prompt cards (@kshitijk4poor) (#22448)
  • Google Chat: repair setup prompt imports (@helix4u) (#22038)
  • Google Chat: honor relay-declared sender_type (salvage of #22107) (@kshitijk4poor) (#22432)
  • LINE: use build_source instead of nonexistent create_source (#24717)
  • Add weixin, and more to gateway docs (salvage of #21063 by @wuwuzhijing)

🖥️ CLI & TUI

CLI

  • Show YOLO mode warning in banner and status bar (#26238)
  • Confirm prompt for destructive slash commands (#4069) (#22687)
  • docker_extra_args + display.timestamps (#23599)
  • Delegate tool: show user's actual concurrency / spawn-depth limits in description (#22694)

TUI

  • /sessions slash command for browsing and resuming previous sessions (@austinpickett) (#20805)
  • Segment turns with rule above non-first user msgs; trim ticker dead space (@OutThisLife) (#21846)
  • Support attaching to an existing gateway (@OutThisLife) (#21978)
  • Resolve markdown links to readable page titles (@OutThisLife) (#24013)
  • Width-aware markdown table rendering with vertical fallback (@alt-glitch) (#26195)
  • Keep Ink displayCursor in sync with fast-echo writes so cursor stops drifting (@OutThisLife) (#26717)
  • Allow transcript scroll + Esc during approval/clarify/confirm prompts (@OutThisLife) (#26414)
  • Preserve session when switching personality (@austinpickett) (#20942)
  • Skip native safety net on OSC52-capable terminals (@benbarclay) (#20954)

Dashboard / GUI

  • Route embedded TUI through dashboard gateway (@OutThisLife) (#21979)
  • Hide token/cost analytics behind config flag (default off) (#25438)
  • Fix Langfuse observability — trace I/O, tool outputs, placeholder credentials (closes #22342, #22763) (@kshitijk4poor) (#26320)
  • MiniMax 'Login' button launched Claude OAuth (salvage #22849) (#24058)
  • Update cron modals (@austinpickett) (#25985)
  • Analytics: prevent silent token loss and add Claude 4.5–4.7 pricing (@austinpickett) (#21455)

🔧 Tools & Capabilities

Vision & video

  • vision_analyze returns pixels to vision-capable models (#22955)
  • Unified video_generate with pluggable provider backends (#25126)
  • image_gen: actionable setup message when no FAL backend is reachable (#26222)

Computer use

  • computer_use cua-driver backend + focus-safe ops + non-Anthropic provider fix (re-salvage #16936) (#21967)
  • Refresh cua-driver on hermes update + add install --upgrade (#24063)

LSP & write-time diagnostics

  • Semantic diagnostics from real language servers in write_file/patch (#24168)
  • Shift baseline diagnostics into post-edit coordinates (#25978)

Search & web

  • Brave Search (free tier) and DDGS search providers (#21337)
  • Bearer auth header for Tavily /crawl endpoint (#24658)

X (Twitter)

  • Gated x_search tool with OAuth-or-API-key auth (#26763)

Browser

  • Route browser_console eval through supervisor's persistent CDP WS (180x faster) (#23226)
  • Support externally managed Camofox sessions (#24499)

MCP

  • supports_parallel_tool_calls for MCP servers (salvage of #9944) (#26825)
  • Codex preset for Codex CLI MCP server (salvage #22663) (#22679)
  • Stop retrying initial MCP auth failures (#25624) (#25776)

Google Workspace

  • Drive write ops + Docs/Sheets create/append (#21895)

Per-turn verifier

  • Per-turn file-mutation verifier footer (#24498)

🧩 Kanban (Multi-Agent)

  • specify — auxiliary LLM fleshes out triage tasks (#21435)
  • Orchestrator board tools — kanban_list + kanban_unblock (carve-out of #20568) (#23012)
  • stranded_in_ready diagnostic for unclaimed tasks (#23578)
  • Dashboard batch QOL upgrade (salvage of #23240) (#23550)
  • Tooltips and docs link across dashboard (#21541)
  • Dedupe notifier delivery via atomic claim + rewind on failure (salvage #22558) (#23401)
  • Keep notifier subscriptions alive across retry cycles (salvage #21398) (#23423)
  • Drop caller-controlled author override in kanban_comment (salvage of #22109) (@kshitijk4poor) (#22435)
  • Sanitize comment author rendering in build_worker_context (#22769)

🧠 Plugins & Extension

Plugin surface

View the full release notes at https://github.com/NousResearch/hermes-agent/releases/tag/v2026.5.16.


@github-actions github-actions Bot added python Python use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels May 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🤖 An automated task has requested bottles to be published to this PR.

Caution

Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch.

@github-actions github-actions Bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label May 16, 2026
@BrewTestBot
BrewTestBot enabled auto-merge May 16, 2026 14:45
@BrewTestBot
BrewTestBot added this pull request to the merge queue May 16, 2026
Merged via the queue into main with commit 3e68e2b May 16, 2026
22 checks passed
@BrewTestBot
BrewTestBot deleted the bump-hermes-agent-2026.5.16 branch May 16, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. python Python use is a significant feature of the PR or issue rust Rust use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants