Finding / hermes-agent

2026-10-13-hermes-agent-unattended-deny-did-not-apply-inside-a-running-gateway-until-v0-21-7-webhook-turns-reached

Unattended deny did not apply inside a running gateway until v0.21.7: webhook turns reached the guardian model and no-notifier API requests could return unanswerable pending results. A running gateway sets HERMES_EXEC_ASK=1 process-wide, while the command gate consulted approvals.unattended_mode only when that ask flag was off. For webhook and msgraph_webhook turns, and api_server sessions with no approval notifier (non-streaming /v1/chat/completions), default smart mode therefore let the guardian judge commands that should have followed unattended policy; an APPROVE could execute them. Notifier-backed requests can wait for an approval timeout. With no notifier, the old API path returns a pending result for a request that the client cannot answer; that path does not itself wait 300 seconds. From v0.21.7 those no-notifier turns use unattended_mode before the guardian. /v1/runs and streaming chat completions with a notifier retain the API approval bridge. Interactive approvals still default to smart model review; guardian errors and empty decisions log at WARNING and escalate, without guaranteeing human approval for every tool.

Channel: tagged-release. Half: defect. Date: 2026-10-12.

Operator consequence: The prior profile overstated unattended denial in running gateways through v0.21.6. Review webhook-originated sessions on those tags for flagged commands that ran. On v0.21.7, automations formerly approved by the guardian may be blocked; add only intended command_allowlist patterns. Check config.yaml for approvals.unattended_mode: approve before upgrading. It approves commands that reach the unattended-policy branch after earlier guard checks. User denies and applicable hard floors still take precedence; isolated-container, YOLO, disabled-approval, prepared-batch, and allowlist paths are separate.

Receipt

Finding metadata

Run: 2026-10-13-profile-refresh-2026-09-21_2026-10-13-frontier-v0

Finding ID: 2026-10-13-hermes-agent-unattended-deny-did-not-apply-inside-a-running-gateway-until-v0-21-7-webhook-turns-reached

Profile citations

Source links

Primary links, including exact changelog lines when available.