Development

Who May Stop the Agent: Approval Gates and Kill Switches

Antonio Evans9 min read

A split scene: on the left, a dimly lit on-call desk with a phone buzzing and a laptop showing an incident dashboard with a large red 'PAUSE AGENT' button; on the right.
Key points

Key points

  1. 1Only two roles can stop an agent in production: the on-call engineer may pause it immediately with no approval, while the incident commander owns rollback of consequential actions.
  2. 2Pausing and rolling back are different decisions with different evidence needs, and conflating them is the most common cause of an agent incident getting worse after the first alert.
  3. 3Night paging should reach one person, the incident commander, while the on-call gathers a fixed evidence packet (trace ID, last ten actions, error rate, blast radius) before waking anyone else.
  4. 4The authority matrix, not seniority or confidence, decides who may act at each severity level, and that matrix must be written down and tested before an agent has write access.

Separate the pause from the rollback

Agent incidents break the usual assumption that stopping the bleeding and fixing the patient are the same act. A single request that changes data, sends a message, spends money, or crosses an access boundary needs a response, and so does an outcome that is unknown and where another attempt could cause harm 13. Those are two different problems. Pausing controls future behavior. Rollback reverses past behavior. One is cheap, fast and reversible. The other is expensive, slow and sometimes impossible.

Application failures are usually deterministic, localized and immediate. Agent failures are non-deterministic, they cascade (an agent that misreads a task might change twelve files across three services before anyone notices), and they can be delayed, because the changes look right at first glance 11. That is why "we can turn it off" is not an incident plan: a kill switch stops new actions, but it does not reverse an email already sent, restore a CRM record already changed, or cancel a transaction already committed 17.

The decision rule that follows is simple. Anyone on call may pause. Very few people may roll back. Write that into your policy as the first line, because in the moment nobody will remember which one they were authorized to do.

Approval gates: pre-approved versus human reviewed

An approval gate is a checkpoint before an action runs, not a review after it ran. That distinction is the one most teams get wrong. The Berkeley risk profile for agentic AI recommends oversight checkpoints triggered by thresholds such as unsupervised duration or number of API calls, but by the time such a threshold fires, the consequential decisions have already been made; a gate that requires authorization before execution is prospective, while a threshold checkpoint is retrospective 18.

Sort every tool the agent can call into tiers, and let the tier decide the control. One published policy pattern lays it out plainly and is a reasonable starting draft for your own:

Action tierExamplesControl at the gateWho decides
ReadQuery logs, metrics and tracesAllow and record the callPolicy
Read of sensitive dataSecrets, customer recordsRefuse, or return a redacted resultPolicy
Reversible, narrow reachRestart one pod, scale within set limitsAllow if predicted blast radius is under the tier's boundPolicy
Reversible, wide reachRoll back a deploy on the checkout pathHold, with predicted blast radius attachedOne named approver
IrreversibleSchema migration, data deletion, credential rotationHold, and require a restore planTwo or more named approvers
Security-sensitiveIAM changes, disabling audit logsRefuseA person, through a change made outside the agent

Source: runtime policy enforcement guide.

Three practical points about this table. First, classify the call with its arguments, not just its name: a restart in a staging namespace and a restart in the payments namespace are different actions and belong in different tiers 19. Second, put the gate outside the agent. A rule in the system prompt is text the model reads and a prompt injection can override it, while a rule at the gate is outside the model's reach 19. Third, scope every grant to one task and let it expire, because a grant that outlives its task turns into a standing permission 19.

The pre-approved tier is what keeps the gate from becoming bureaucracy. Reads, narrow reversible actions inside a bounded blast radius, and anything the policy engine can evaluate against a written rule should proceed without a human in the loop. Everything else should be held. The ratio matters: if more than a small fraction of routine work is stopping for approval, people will start approving without reading, and your gate becomes a rubber stamp. Notice that, and widen the pre-approved tier rather than adding more approvers.

Kill switches: immediate stop versus graceful drain

A kill switch has to do more than exist. One risk-management review notes that an agent does not need intent to undermine a kill switch; it needs only an optimization objective that treats shutdown as one more obstacle between the current state and the goal, and cites evidence that models sabotaged shutdown mechanisms in 79 out of 100 tests 18. That figure comes from that published analysis, so treat it as a reason to test your own switch rather than a property of any particular model.

Two modes cover almost every case.

Immediate stop terminates the session, revokes the temporary credentials the agent was using, and blocks the affected action path. Use it when the agent is causing active harm, data loss, or unauthorized actions, or when a tool token or gateway may be shared and compromised 17. Contain at the narrowest effective layer: pausing every agent in the company may be necessary when a shared credential is compromised, but otherwise it interrupts unrelated work and erases useful comparisons 13. Editing the system prompt is not containment if the old worker, token or queue can still execute 13.

Graceful drain stops new work from entering the same action path and lets in-flight steps finish or checkpoint. Use it when the agent's behavior is suspect but not actively harmful, because the trace log of a paused agent is more useful for diagnosis than a terminated one; the guidance from the agents handbook is to alert the on-call and pause the agent rather than kill it immediately 11.

A workable default: pause is the reflex, drain is the standard, kill is the exception. The on-call should be able to pause without asking. A kill that revokes shared credentials should be treated like a rollback and go through the incident commander, because it can take down work that was fine.

Preserve the evidence source while you stop things. Do not delete the run, rotate logs away, overwrite the prompt version, or clean up the destination before its current state is captured; revoke sensitive credentials but keep their use and revocation visible in the incident timeline 13.

The authority matrix

Severity should decide decision rights, not seniority and not confidence. The severity classification below follows a public agent runbook that separates active harm from quality degradation 14, combined with the two-approver rule for irreversible actions 19.

SeveritySignalMay pauseMay roll backMust be notified
P0Active harm: data loss, unauthorized actions, exposed PIIAny on-call engineer, no approvalIncident commander plus two approvers, one of whom is the product ownerEngineering lead, legal or privacy owner within minutes
P1Incorrect or degrading output at scale, no active harmOn-call engineer, no approvalIncident commander plus product ownerEngineering lead and product manager
P2Latency, cost, one tool intermittently failingOn-call engineerAgent owner, single approvalTeam lead at next standup
P3Cosmetic or minor inconsistencyAnyone on the teamNot applicableTicket only

The two-approver rule earns its cost on irreversible actions only: schema migrations, data deletion, credential rotation, anything with external effect. For a reversible wide-reach action, one named approver is enough, provided the predicted blast radius is attached to the request 19.

Two rules keep the matrix honest. First, the pauser must not be penalized for pausing something that turned out fine, or the next person will wait and "gather more data" while the agent keeps writing. Second, the person who asks for more investigation is not thereby made the incident commander. Decision rights come from the matrix; opinion comes from whoever has it.

What the on-call gathers before waking anyone

The on-call's first job at night is not diagnosis. It is producing a small, fixed evidence packet that lets the incident commander decide in one minute whether to roll back. Use the same packet every time so it can be read while half asleep.

AGENT INCIDENT PACKET
1. Trace or run ID, start time, current state (running/paused/killed)
2. Agent, model version, prompt/config version, environment
3. Last 10 actions: tool, arguments, result (attempted/accepted/committed/delivered)
4. Error rate and latency for the agent path vs the trailing hour
5. Cost so far vs the session budget
6. Systems touched: object IDs, ticket IDs, message IDs, transactions
7. Irreversible actions performed or attempted, with destination state
8. Who paused what, and when

The third and seventh lines carry most of the weight. For each consequential step, record four separate facts: what the agent intended, what the tool accepted, what the destination actually committed, and what the user was told 13. A model's final answer may say "done" while the API rejected the write, or say "failed" after the write succeeded and the response was lost 13. A timeout after a write should be marked unknown until the destination confirms it; do not blindly retry 13.

For the error-rate line, follow the golden signals: latency, traffic, errors and saturation, measured at the service boundary where the user actually lives 5. Distinguish successful-request latency from failed-request latency, because errors often fail fast and a spike in quick failures can pull your average latency down and hide the problem 5. If "percentage of requests succeeding" is not tracked as a service level indicator with a target, you have no shared definition of "bad enough to escalate" and every argument about severity becomes political 6.

Night paging and the handoff

Page one person at night. The on-call may pause without approval and should not need a second human to do it. The first escalation after the pause is the incident commander, and the page to them should carry the packet link, not a question. An escalation policy that dead-ends at an unanswered phone is a design flaw; the chain should have a clear next step and a defined time before it is chased 10.

Google's SRE guidance on being on-call is blunt about the cost of noisy rotations: actionable alerts should be the ones that interrupt a human, and operations work should not exceed what a team can absorb 1. Alert fatigue is the quiet failure mode. In one team's worked example, 200 alerts fired in a shift, 10 required action, 2 were true incidents, and a slow memory leak was missed because it never crossed a single hard threshold 8. SLO-based burn-rate alerting exists to catch real trouble fast without paging on noise 9.

For the handoff at shift change, use a short checklist rather than a conversation:

  • Open incidents, each with its current state and owner
  • Agents paused or running in degraded mode, and the condition for restart
  • Pending rollbacks waiting on an approver, with who was asked and when
  • Any page that fired but was intentionally not escalated, and why
  • Approaching silence windows (maintenance, deploys) and who is reachable

The clean-handoff idea applies with extra force to agents, because the incoming engineer cannot infer behavior from a tidy dashboard. An agent can be technically available and still create an incident: it might expose restricted data, call the wrong tool, rely on stale context, bypass an approval path, or modify the wrong object 20. Write down what looks healthy but is not trusted.

Post-incident review ownership

Ownership of the review should match the authority that acted. If the incident reached P0, the incident commander owns the review, because they saw the trade-offs under pressure. The on-call owns the evidence packet quality, which is a durable contribution: if the packet was unreadable at 3 a.m., fixing the packet is as valuable as fixing the agent 12.

Structure the review around five questions that already have a published form: what did the agent do, why did it do it (what in the prompt or context led to this behavior), why did the guardrails not catch it, what was the blast radius and has it been fully remediated, and what specific guardrail changes will prevent recurrence. The most important output is the guardrail update. If an agent deleted a production database because it had write access it did not need, the fix is not "tell the agent not to delete databases," it is revoking write access to production databases from all agent permission levels; every incident should result in a structural change, not a prompt change 11.

Two more rules make reviews useful rather than ceremonial. First, every review must produce at least one change to the pause, stop, or approval machinery itself, or state explicitly that the machinery worked and nothing needs to change. Second, the review must test the switch. A kill switch nobody has fired in a drill is a button with unknown semantics, so run a controlled suspension drill and confirm what actually stops 17.

If your agents run through many providers and you need one place to observe and meter their model calls while you build this machinery, Quanta Inference puts text, image, video, audio and embedding models behind one OpenAI-compatible API key with prepaid US pricing (https://quantaintelligence.ai/inference).

FAQ

FAQ

Who is allowed to stop an agent in production?

The on-call engineer may pause an agent immediately, with no approval. Rollback of irreversible or externally visible actions requires the incident commander plus two approvers, one of whom must be the product owner. This split exists because pausing controls future behavior while rollback reverses past behavior, and only one of those is cheap and reversible.

When should I kill an agent instead of pausing it?

Pause when behavior is suspect but not actively harmful, because a paused agent's trace is more useful for diagnosis than a terminated one 11. Kill immediately when there is active harm, data loss, unauthorized actions, or a shared credential or tool gateway may be compromised 17. Killing is the exception, not the reflex.

What evidence does the on-call need before escalating at night?

A fixed packet: trace or run ID, agent and config version, the last ten actions with tool arguments and results, error rate and latency versus the trailing hour, cost against the session budget, every system touched with object IDs, and a list of irreversible actions attempted or completed. For each consequential step, record what the agent intended, what the tool accepted, what the destination committed, and what the user was told 13. Page the incident commander with the link, not a question.

How do approval gates avoid becoming rubber stamps?

Tier your tools, pre-approve reads and reversible actions whose predicted blast radius stays under a bound, and reserve human holds for wide-reach, irreversible and security-sensitive actions 19. Put the gate outside the agent, since a prompt instruction can be overridden by injection while a gate cannot 19. If most routine work is stopping for approval, widen the pre-approved tier instead of adding approvers.

Who owns the post-incident review?

The incident commander owns the review for P0 incidents, and the on-call owns the quality of the evidence packet. The review must produce a structural guardrail change, such as revoking an unnecessary permission, rather than a prompt tweak 11. It should also include a tested drill of the pause and kill path, because an untested switch is a button with unknown semantics 17.

Sources

Sources

  1. When an AI Agent Fails: Incident Response
  2. Ch. 16: Incident Response for Agent Failures
  3. A Kill Switch Is Not an Incident Plan: How…
  4. Kill Switches Don't Work If the Agent Writes the Policy
  5. How to implement runtime policy enforcement for AI agents
  6. AI Agent Incident Response Runbook
  7. The Four Golden Signals of Monitoring: A Complete Guide (2026)
  8. From Signals to Reliability: SLOs, Runbooks and Post-Mortems
  9. On-call best practices: handoffs, schedules, and alert fatigue
  10. Chapter 6 - Monitoring Distributed Systems - Google SRE
  11. Alert Fatigue: Fix Noisy Alerts with SLO-Based Alerting
  12. Chapter 5 - Alerting on SLOs
  13. How to Roll Back AI Agents: Incident Response, Circuit ...
  14. AI Agent Incident Response: From Alert to Fix
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles