What is an agent approval gate?
A point in an AI coding agent's task where it pauses and waits for you to confirm or deny an action before continuing.
An agent approval gate is a point in an AI coding agent's task where it pauses execution and waits for a human to confirm or deny an action before continuing. The agent will not proceed until it gets a response.
TL;DR
- An approval gate is a pause in an agent's workflow requiring explicit human sign-off
- Agents trigger approval gates before sensitive actions — overwriting files, running destructive commands, making external calls
- An agent waiting at an approval gate is blocked — it does no further work until you respond
- Slow responses to approval gates are the main source of wasted agent compute time
- Grass surfaces approval gates on your phone so you can respond immediately, from anywhere
What triggers an agent approval gate?
When an AI coding agent encounters an action it considers sensitive or irreversible, it stops and asks you to confirm before proceeding. That pause is an approval gate.
The specific actions that trigger approval gates vary by agent, but common examples include:
- Overwriting or deleting a file that already exists
- Running a shell command with side effects (database migrations, deployments, package installs)
- Making an external API call
- Modifying configuration files or environment variables
In Claude Code, approval gates appear as permission requests in the terminal — the agent prints what it wants to do and waits for you to type yes or no. In Cursor and similar tools, they appear as confirmation dialogs in the editor UI.
Why approval gates exist
AI coding agents are powerful precisely because they act autonomously. But autonomy without guardrails creates risk — an agent that can overwrite any file, run any command, or call any API without checking with you first can cause real damage before you notice.
Approval gates are the mechanism that keeps a human in the loop for consequential actions, while still allowing the agent to work autonomously on everything else. The agent handles the routine work — reading files, writing new code, running tests — without interruption. It only stops when it reaches something that could be hard to reverse.
This design reflects a deliberate tradeoff: slightly slower execution in exchange for meaningful human oversight at the moments that matter.
Why does approval gate response time matter?
An agent waiting at an approval gate is completely blocked. It has stopped working. It will not continue until you respond — not in 10 seconds, not in 10 minutes, not ever, until you take action.
This makes approval gate response time the single biggest variable in agent task duration. An agent that hits an approval gate at 2pm and doesn't get a response until 5pm has wasted 3 hours of potential compute time. The task that could have finished in 40 minutes takes the rest of the day.
For developers running agents during meetings, commutes, or outside working hours, the lag between an approval gate appearing and getting a response is the primary bottleneck in the agentic coding workflow. This is the problem that mobile coding agent access directly solves.
How does Grass handle agent approval gates?
Grass surfaces approval gates from running AI coding agents as native mobile modals. When your agent hits an approval gate — whether it's running on your laptop or a transient dev server — the Grass app shows a modal with the details of what the agent is requesting.
You approve or deny in two taps. The agent gets its answer and continues. The whole interaction takes under 10 seconds, regardless of where you are.
The global permission manager in Grass queues approval gates from all connected servers. If you're running multiple agents and several hit gates simultaneously, they queue up and surface one at a time. No gate is lost.
Related concepts
AI coding agent — An AI coding agent is the autonomous program that generates approval gates. Understanding how agents work and why they pause for approval is the context for understanding approval gates.
Mobile coding agent access — Mobile coding agent access is what makes it possible to respond to approval gates without being at a laptop. Fast approval gate responses are one of the core use cases Grass is built for.
Frequently asked questions
What is the difference between an agent approval gate and a human-in-the-loop checkpoint?
They describe the same concept at different levels of abstraction. An approval gate is the specific implementation — the moment a running agent pauses and waits for a yes/no from the user. Human-in-the-loop is the broader design principle — building AI systems that keep humans informed and in control of consequential decisions. Approval gates are the mechanism; human-in-the-loop is the rationale.
How long will an agent wait at an approval gate before timing out?
Claude Code does not time out at approval gates by default — the agent will wait indefinitely until you respond. This is by design: the alternative (auto-approving after a timeout) would undermine the safety purpose of the gate. The practical implication is that an agent stuck at an approval gate overnight will still be waiting in the morning. Grass prevents this from becoming a problem by surfacing the gate on your phone as a native modal the moment it appears.
Can I configure which actions trigger approval gates in Claude Code?
Yes. Claude Code's permission mode determines which tool categories require approval. In default mode, potentially destructive tools (bash commands, file writes, external calls) require approval. You can configure this via settings.json — for example, pre-approving specific bash commands you trust. See the Claude Code CLI reference for the full permission configuration options. Be cautious about loosening permissions on actions that are hard to reverse.
What happens if I deny an agent approval gate?
The agent receives a denial response and decides how to proceed — typically by attempting an alternative approach, asking for clarification, or stopping and reporting that it couldn't complete the task. In Claude Code, denying a gate doesn't terminate the session; the agent can propose a different action. If you deny repeatedly on the same action, the agent will usually surface the problem explicitly and ask you what you want it to do instead.
Can approval gates be bypassed if I trust the agent?
In Claude Code, you can set specific tools to auto-approve in settings.json, or run with --dangerously-skip-permissions to disable all gates (not recommended for production code). For most workflows, a better approach is to approve the specific tool categories you're comfortable with while keeping gates on destructive operations. Grass makes responding to gates fast enough — under 10 seconds from anywhere — that disabling them entirely is rarely worth the risk.
Do all AI coding agents use approval gates?
Not all agents implement them the same way. Claude Code has a well-defined permission system with per-tool approval gates. Cursor's background agent mode is designed to run more autonomously — it has fewer interruptions but also less granular per-action oversight. Devin operates fully in the cloud and uses a different oversight model. For developers who want explicit per-action control over what their agent does, Claude Code with Grass is currently the most granular mobile-accessible option.