Hermes X Roundup: August 8, 2026

X API v2 returned 402 Payment Required on all search queries today. The roundup is sourced from GitHub - 37 feature and performance PRs merged in the last 48 hours.
Fail-closed hook semantics (#80782)
Shell hooks now have Cursor-compatible failure semantics. Before this PR, a pre_tool_call hook that crashed or timed out would silently allow the action it was meant to vet. A broken secret-scanner running as a hook was invisible.
Two changes fix this:
- Exit code 2 = block. A
pre_tool_callhook that exits with code 2 now blocks the tool call even without block JSON on stdout. This matches Cursor and Claude Code behaviour. fail_closed: trueoption. Per-entry configuration that turns hook crashes, timeouts, or garbage output into blocks instead of silent fail-open.
The PR added 271 lines of tests across 4 files (agent/shell_hooks.py, hermes_cli/hooks.py, tests, and docs). The docs update in website/docs/user-guide/features/hooks.md documents both the exit-code-2 convention and the fail_closed option.
teknium1 authored this, describing it as "Inspired by Cursor." The total: +491/-31 across 4 files.
AGENTS.md directory chain (#80781)
Sessions launched deep inside a monorepo now see the full AGENTS.md chain - from git root down through every intermediate directory to the current working directory. Before this change, only the single cwd file was loaded.
This is a port of superagent-ai/grok-cli's directoryChain and loadAgentsSegments functions from src/utils/instructions.ts.
The implementation lives in agent/prompt_builder.py and merges each AGENTS.md segment into the system prompt at session build. A project with three AGENTS.md files - at git root, backend/, and backend/api/ - now loads all three, in that order.
+158/-14 across 3 files, with 66 lines of test coverage.
Slash-menu fuzzy scoring (#80780)
Typing /summary in the TUI now surfaces commands whose descriptions mention summaries. /beat finds /heartbeat. Name matches always outrank description matches.
The scorer is shared across both the TUI client and the gateway completer, using a tiered system: exact match > prefix match > substring name match > description match. This is ported from grok-cli's src/ui/slash-menu.ts.
+440/-12 across 8 files. The shared-scorer approach means the TUI and gateway stay in sync without duplicated logic.
--resume latest and --in DIR (#81265)
hermes --tui --resume latest --in ./dir is now a single command. latest resolves the most recent session, and --in DIR sets the working directory before session launch. No session ID to remember, no cd first.
This was a community request from @Jeff9James. The implementation validates the directory before any session state is touched, so a typo in the path fails fast.
+331/-3 across 7 files.
Also merged today
- #81740 - Google Workspace daily-brief workflow folded into
google-workspaceskill references (salvage of #78671 by @benbarclay). - #81733 - PDF unreadable-gap warnings now labelled with preceding section text, so the agent can decide which gaps are material.
- #81706 - FAL Nano Banana 2 image generation model added.
- #81708 -
github-issue-to-prskill added (salvage of #78670). - #81687 - Seedance 2.5, MiniMax H3, and 8 new FAL video/image models.
37 feature and performance PRs merged in total. The hooks PR is the standout - shell hooks moving from development convenience to production safety net.
[^1]: teknium1. "Inspired by Cursor: fail-closed hook semantics + exit-code-2 blocking." nousresearch/hermes-agent. August 8, 2026. [^2]: teknium1. "feat(context-files): merged AGENTS.md directory chain from git root to cwd." nousresearch/hermes-agent. August 8, 2026. [^3]: teknium1. "Port from superagent-ai/grok-cli: description-aware slash-menu fuzzy scoring." nousresearch/hermes-agent. August 8, 2026. [^4]: teknium1. "feat: --resume latest keyword and --in DIR launch flag." nousresearch/hermes-agent. August 8, 2026.