Skip to content

Gate flow authoring/publishing behind approval#48

Merged
pallaoro merged 1 commit into
mainfrom
gate-flow-mutations
Jul 17, 2026
Merged

Gate flow authoring/publishing behind approval#48
pallaoro merged 1 commit into
mainfrom
gate-flow-mutations

Conversation

@pallaoro

Copy link
Copy Markdown
Member

What

flow_create / flow_edit / flow_publish / flow_delete ran with no approval — the before_tool_call gate only covered flow_run. Authoring or publishing a flow is a write action that shouldn't happen unattended.

Change

  • Gate all four authoring tools on every call via native requireApproval.
  • Independent of approval.enabled (which governs flow_run) and ignores skipSessionPatterns — a create/publish should never be silently skipped in an unattended session.
  • No allow-always persist path → every call re-prompts (can't self-open a standing bypass).
  • Kill-switch: approval.gateMutations=false (default on).
  • +6 focused hook tests (157 total pass).

Why in the plugin, not a host policy rule

Mutation-danger is intrinsic to the tool (true for every deployment), so it ships with the tool via the platform-native requireApproval primitive — same pattern as the existing flow_run gate. Deployment-specific risk policy stays in @clawnify/agent-permissions. Part of clawnify#963.

flow_create/edit/publish/delete previously ran with no approval — the
before_tool_call gate only covered flow_run. Authoring or publishing a
flow is a write action that must not happen unattended, so gate all four
on every call via native requireApproval, independently of
approval.enabled (which governs flow_run) and ignoring skipSessionPatterns.
No allow-always persist path, so every call re-prompts. Kill-switch:
approval.gateMutations=false (default on). +6 hook tests.
@pallaoro
pallaoro merged commit 73e1120 into main Jul 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant