NousResearch/hermes-agent

Plugin guard hang behavior and fail-closed policy

Cluster 105223. Data as of

Nothing open on GitHub. Fix merged in #118844 on 22 Sep 2026. Check it covers your case.

The short answer

0open issues
0open PRs
3items grouped
Known?
Yes. 3 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #118844. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this resolved, deciding PR #118844. That is separate from the fix event.
Still open
Nothing open on GitHub.

These items concern how plugin hook guards (particularly pre_tool_call and pre_gateway_dispatch) behave when a callback hangs or raises, including fail-closed semantics, blocking precedence rules, and recovery from a permanently stuck 'still running' state.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #118844 Plugin hook policy: hung or raising guards fail closed without wedging, block outranks approve, shell approve reaches the gate, async pre_gateway_dispatch awaited (#105223 #109624 #87420 #92553 #105827 #110241)

    merged to main

    files: agent/shell_hooks.py, gateway/run_inbound.py, hermes_cli/lifecycle.py, hermes_cli/middleware.py, hermes_cli/plugins.py, hermes_cli/plugins_dispatch.py, tests/agent/test_shell_hooks.py, tests/gateway/test_bot_loop_guard.py, tests/gateway/test_pre_gateway_dispatch.py, tests/hermes_cli/test_plugins.py, website/docs/user-guide/features/hooks.md

1 PR closed without merging

From the close comments: done elsewhere 1

  • #105241 fix(plugins): recover tool calls after a hung policy guard · done elsewhere → 75e9567, #118844
Closed issues · 1
  • Closed#105223pre_tool_call: a hung guard callback permanently fails closed — all subsequent tool calls blocked until process restart ('still running' key has no expiry)
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 0.67: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. 1.00 means every pair is linked.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Merged PRs
#118844
Closed issues
1
Attempts
1 PR closed without merging
Fix link checked
22 Sep 2026

For your agent

The same facts, typed.