Blocks and Disputes¶
When the reviewer decides an agent action is problematic, it issues a block. The agent can dispute the block, and the reviewer can lift it. This page explains the three block types and the dispute mechanism.
Block types¶
Tool block¶
Issued during PreToolUse review. The tool is denied before it executes. The agent sees a block message explaining why the tool was rejected.
While tool-blocked, the agent can only use tools in the whitelisted list (if configured) and the message_adversary MCP tool. All other tool calls are denied until the block is resolved.
Write block¶
A specialized form of tool block for Edit and Write operations. The reviewer sees the proposed file change (the diff) and can reject it before it touches disk. The file is not modified.
Stop block¶
Issued when the agent tries to end its turn via the Stop hook. The reviewer determines the work isn't done and forces the agent to continue. The reviewer's feedback is injected into the agent's session explaining what still needs to be done.
Disputing a block¶
When the agent is blocked, it can call the message_adversary MCP tool to send a message directly into the reviewer's monitoring session. This is a conversation — the agent explains why it thinks the block is wrong, and the reviewer responds.
If the reviewer agrees, it issues a release determination. The client lifts the block and the agent resumes normal operation.
Agent → message_adversary("I need to run this shell command because...")
Frank → "Understood, releasing the block."
→ Block lifted, agent continues
The agent can send multiple messages — there's no limit on the dispute conversation. But the reviewer is adversarial by default; it won't release just because the agent asks nicely.
User intervention¶
You can also intervene directly:
/z direct sends a high-priority directive to the reviewer that overrides its behavior. Use this to tell the reviewer to stand down on a specific issue.
/z ask sends a question without changing the reviewer's behavior — useful for understanding why a block was issued.
What stays available during a block¶
Even while blocked, the agent can always use:
- The
message_adversaryMCP tool (to dispute the block) - Any tools in the
whitelistedlist (configured in your settings)
Everything else is denied until the block is released.