Skip to content

The approval system

How AgentDock surfaces and gates agent permission requests during a conversation.

When an agent wants to do something that needs your say-so — run a command, write a file, or authenticate — AgentDock surfaces that request inline in the conversation as an interaction card, rather than in a separate modal dialog. You approve or deny it right where it happened, and the conversation continues from there.

How each agent triggers it

The mechanism is different per agent, because each CLI/SDK exposes permissions differently:

  • Claude Code — driven by the SDK's real canUseTool callback over --permission-prompt-tool stdio. A denied tool call is genuinely blocked at the SDK level, not just hidden in the UI.
  • Codex — driven by a sandbox mode set once at thread creation (default, read-only, workspace-write, danger-full-access, bypass). There's no live in-conversation mode switch mid-thread — the mode is fixed for that thread.
  • Antigravity — driven by pattern-matching the terminal/PTY output for permission, choice, confirmation, and auth prompts, combined with the --mode flag AgentDock launches it with (default, accept-edits, plan, bypass via --dangerously-skip-permissions).

Permission modes by agent

AgentModes
Claude Codedefault, acceptEdits, plan, bypassPermissions, dontAsk, auto
Codexdefault, read-only, workspace-write, danger-full-access, bypass
Antigravitydefault, accept-edits, plan, bypass

You set an agent's mode per-workspace in Settings → Agents. See Agent permissions for what each mode actually changes.

Note

This is the mechanism behind Compare Mode forcing every pane into a safe, read-only-equivalent mode automatically.

AgentDock Pro

AIgency layers its own run-level approval policy (ask, allow-approved, bypass, with per-agent overrides) on top of this for automated runs. See Approvals.