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
canUseToolcallback 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
--modeflag AgentDock launches it with (default,accept-edits,plan,bypassvia--dangerously-skip-permissions).
Permission modes by agent
| Agent | Modes |
|---|---|
| Claude Code | default, acceptEdits, plan, bypassPermissions, dontAsk, auto |
| Codex | default, read-only, workspace-write, danger-full-access, bypass |
| Antigravity | default, 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.