Finding / flue
2026-10-13-flue-2-2-0-documents-an-approval-gate-pattern-and-states-that-flue-has-no-built-in-approval-api
2.2.0 documents an approval-gate pattern and states that Flue has no built-in approval API. The guide states that Flue has no built-in approval API, then documents a gate built from existing primitives. A tool persists its exact arguments under toolCallId, returns pending_approval with terminate: true, and ends the response. An authenticated route dispatches a decision with an approval idempotency key; the first decision wins and a conflicting second one receives 409. A useAgentStart hook executes the stored arguments. The route, expiry policy and idempotent execution remain application responsibilities.
Channel: tagged-release (bundled docs). Half: capability. Date: 2026-09-25 (docs commit), shipped 2026-09-28 (2.2.0).
Operator consequence: Copy this gate for any Flue agent that can refund, publish or delete. It is the documented answer to “allowed-tools restricts nothing”. Decide what unattended runs (schedules, webhooks) do with gated calls, add an expiry job, and pass the approval id downstream as an idempotency key. The gate lives in your code, so it is only as strong as the route that authenticates the approver. Flue’s pattern ends the response while the human decides, which fits a server that answers every prompt with 202.
Receipt
Finding metadata
Run: 2026-10-13-profile-refresh-2026-09-21_2026-10-13-frontier-v0
Finding ID: 2026-10-13-flue-2-2-0-documents-an-approval-gate-pattern-and-states-that-flue-has-no-built-in-approval-api
Source links
Primary links, including exact changelog lines when available.
- commit2026-10-13-flue-2-2-0-documents-an-approval-gate-pattern-and-states-that-flue-has-no-built-in-approval-apigithub.com/withastro/flue/commit/cc7b9ca4e4a7e72a2444d9e0e594b8b874f8e778tagged commit file2026-10-13-flue-2-2-0-documents-an-approval-gate-pattern-and-states-that-flue-has-no-built-in-approval-apiwithastro/flue / apps/docs/src/content/docs/guide/tools.md#L228-L433