Agent Teams hook — fired when a task is marked complete; records completion and (eventually) trains patterns + notifies the team lead. Use when native TodoWrite is wrong because the work was a persisted, agent-assigned task whose outcome should feed cross-session learning and team coordination. F...
AI agents use hooks_task-completed to create or update resources in Claude Flow — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Claude Flow environment.
The tool writes a completion record to persistent storage and notifies a team lead, potentially feeding a cross-session learning pipeline. This is a Write action: it creates/modifies data (task state, completion records) and sends notifications. Pattern training is noted as eventual/delegated, so no immediate Execute concern for arbitrary code.
From the tool's definition 'records completion and (eventually) trains patterns + notifies the team lead' — persists task completion data and triggers notifications; no irreversible deletion or financial action
Attacks that exploit this kind of access
Agent Teams hook — fired when a task is marked complete; records completion and (eventually) trains patterns + notifies the team lead. Use when native TodoWrite is wrong because the work was a persisted, agent-assigned task whose outcome should feed cross-session learning and team coordination. For an in-session checklist tick, native TodoWrite is fine. (Pattern-learning is delegated to the intelligence pipeline — this records the completion today.). It is categorised as a Write tool in the Claude Flow MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Claude Flow MCP server in PolicyLayer and add a rule for hooks_task-completed: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Claude Flow. Nothing to install.
hooks_task-completed is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the hooks_task-completed rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for hooks_task-completed. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
hooks_task-completed is provided by the Claude Flow MCP server (claude-flow). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.