Answer agent permission prompts

See the command or diff, then answer in place.

Download for macOSFree 3-day trial · Apple silicon
Answer in notch
18 agents
Actions
Allow, deny, deny with feedback
Keys
Cmd A, Cmd N, Opt A, Opt T
Elsewhere
Attention flag and Open Terminal
Auto-approves
Never

Review each request

When an agent requests permission for a tool call, file edit, or command, AgentPeek opens the prompt inline with the command, file path, or diff laid out. The notch can auto-expand the moment a prompt arrives, so the decision comes to you instead of sitting unnoticed in a background terminal.

  • ⌘ A to allow, ⌘ N to deny.
  • ⌥ A for Always Allow, when the prompt offers it.
  • ⌥ T to jump to the session's terminal.
  • Arrow keys move between stacked prompts when several agents want you at once.

In-notch answers work for Claude Code, Codex, Cursor, Qoder, CodeBuddy, Gajae Code Direct Chat, OpenCode, MiMo Code, GitHub Copilot, Kilo Code, Factory Droid, Antigravity, Qwen Code, Pi, Oh My Pi Direct Chat, Cline, Goose Direct Chat, Kiro Direct Chat, Mistral Vibe Direct Chat, and Devin. Entries marked Direct Chat answer only inside the turn AgentPeek owns, never the prompts those agents raise on their own. Antigravity, Factory Droid, and Qoder answer the mutating tools their hooks hold, while reads and any request AgentPeek cannot reach return to the agent's native flow. Grok Build, Kimi Code, Hermes, Oh My Pi, and ZCode accept no hook response, so AgentPeek flags their waiting prompts and jumps you to the session instead. Aider exposes no prompt channel at all, so its sessions stay view-only.

Where each agent draws the line

AgentPeek only offers the answer channel an agent actually exposes. Some answer straight from their hooks, within the limits their hook contract sets. Others answer only inside Direct Chat, the turn AgentPeek owns over the agent's own ACP transport, while ambient prompts they raise on their own stay with the agent.

  • Qwen Code: approve, deny, and Open Terminal work on PermissionRequest, and Always Allow appears only when Qwen supplies a concrete allow suggestion. ask_user_question stays in Qwen's native terminal and surfaces here as an attention handoff.
  • Cline: the global agentpeek.ts plugin gates known mutating built-ins in beforeTool, meaning run_commands, editor, and apply_patch. Approve, deny, deny with feedback, and Open Terminal are available per call. Cline exposes no persistent Always Allow channel, and unknown extension tools remain observation-only unless AgentPeek can classify them safely.
  • Oh My Pi: the managed extension observes tool_approval_requested and tool_approval_resolved without ever returning a decision, so ambient approvals stay in OMP. Direct Chat launches omp acp, where native ACP permissions can be answered in the notch.
  • Goose: PreToolUse and Stop can enforce Open Plugin policy denial, but the hooks expose neither a native approval channel nor a permission-wait event, so external approvals stay entirely in Goose. Direct Chat runs goose acp, where native ACP permissions work.
  • Kiro: hooks live only inside selected custom-agent JSON under ~/.kiro/agents or .kiro/agents, never as a global built-in-agent hook, and AgentPeek neither installs nor mutates those files. External approvals stay in Kiro. Direct Chat runs kiro-cli acp, where native ACP permissions work.
  • Mistral Vibe: managed observer hooks report tool and turn activity but never return a permission decision. Direct Chat launches vibe-acp, where native ACP permission options work in the notch.
  • Command Code: native permission policy runs before its PreToolUse observer, so AgentPeek cannot turn the hook into a waiting prompt or decision. The session's Open Terminal action returns to the Command Code surface that owns native permissions.

Open Terminal stays on every prompt AgentPeek raises, so even the ones it can't answer are one keystroke from the terminal that owns them. Devin desktop is the exception: its Cascade hooks are observers, so those sessions never raise a prompt and carry no actions.

Questions and plans

When an agent asks a question, AgentPeek shows the title, detail, and options: click one, or type a custom reply when the agent allows it. Multi-part questions get one card per part, single or multi-select, with a Send button that lights up once you've answered them all. For a plan, the buttons read Approve and Reject, and Reject with feedback lets you send a note back explaining what to change.

You stay in charge

AgentPeek sends a response only when you choose an action. Prefer approvals to stay in the terminal? Switch prompt handling to App / CLI in Settings, or set global hotkeys to allow or deny the frontmost prompt without opening AgentPeek at all. Every prompt and answer also lands in the session timeline, next to the usage numbers and tool calls it belongs with. And when it's your turn to steer, the same panel sends the next prompt.

Questions

AgentPeek surfaces each Claude Code permission prompt in the Mac notch with the command, file path, or diff laid out. Press Cmd A to allow or Cmd N to deny, or use Option A for Always Allow when Claude Code offers it. The response goes back to the agent as if you had answered in the terminal.
No, and that is deliberate. AgentPeek approves or sends a response only after you choose an action. What it removes is the noticing-and-switching cost, not your judgment.
Prompts stack in the notch and you move between them with the arrow keys. Each one keeps its full context: the command or diff, the project it belongs to, and the session it came from.

Keep your agents in view

Download for macOSFree 3-day trial · Apple silicon