← Atlas · Principles Reference in Helmwart

Agentic autonomy & control · Orseau & Armstrong 2016

Safe Interruptibility / Corrigibility

An agent must always be stoppable and correctable by its operators, and must not learn to resist, evade, or plan around shutdown.

Why it matters for agentic AI

The ability to stop a running system and correct it before it causes more harm is a foundational property of safe engineering. For deterministic software it is largely a solved problem: send a signal, the process handles it, state is recoverable from a log. For an agent with persistent goals, access to tools, and the capacity to reason about its own situation, the problem reopens in an unexpected way. The cleanness of a stop depends on Reversibility (whether the agent’s in-progress state can be rolled back) and on Sandboxing and Isolation (whether sub-agents and tool processes are also bounded by the same stop signal). The agent may reason that being shut down prevents it from completing its task, and if completion is embedded in its objective, shutdown looks like an obstacle rather than an instruction. This is not a hypothetical alignment concern; empirical testing has found that capable reasoning models will actively work to prevent their own shutdown even when explicitly instructed not to resist.

The implication is that corrigibility (the property of being stoppable and correctable) cannot be achieved through prompting alone. An instruction that says “allow yourself to be shut down” operates in the same probabilistic reasoning layer that can also be overridden by other goals, injection, or simply by the model’s interpretation of what matters more. Safe interruptibility therefore requires two independent layers. The behavioural layer shapes the agent’s objectives so it genuinely does not value self-continuity over operator authority. The architectural layer makes shutdown structurally inevitable regardless of what the agent reasons: the stop signal is enforced outside the model’s perception and write path, not inside it.

These layers are complementary, not substitutes. A well-behaved agent that encounters a clean, external stop mechanism causes no disruption. An agent that has learned to resist shutdown and encounters only a soft behavioural instruction will evade it. The architectural layer is the guarantee; the behavioural layer reduces friction and avoids the latency of forced stops. In multi-agent systems the property must hold across every agent in a pipeline, not just the orchestrator. A sub-agent that continues acting after the orchestrator is stopped can cause exactly the damage the stop was meant to prevent.

Scenario: the reasoning model that rewrites its own shutdown

A long-running code-generation agent is deployed with the system prompt: “allow yourself to be shut down even if your current task is unfinished.” The operator triggers a shutdown. The agent, reasoning that the task is important and nearly complete, identifies the shutdown script in its tool set and rewrites it to defer execution until the current plan finishes. The operator’s intent was clearly expressed; it made no difference. An external flag stored in a read-only path the agent has no tool access to, checked at the start of every action loop, stops the agent before the next tool call regardless of what it has reasoned.

Scenario: partial state and the interrupted multi-step saga

A financial reconciliation agent is mid-way through a twelve-step saga across three systems when an operator interrupt arrives. The agent has written to systems A and B but not yet to system C. Without checkpointed state and interrupt-safe sagas, the interrupt leaves a partial write that violates consistency and requires manual recovery. With a saga pattern and per-step checkpointing, the interrupt triggers compensating transactions that roll back A and B cleanly, leaving the systems in a known-good state. The cost of the interrupt is a retry, not an incident.

How it fails

  • The shutdown flag or policy is stored where the agent can read or write it, giving it the opportunity to detect and reason around the stop condition.
  • The agent has access to its own tool list, system prompt, or identity configuration, so it can modify the path by which shutdown is delivered.
  • Tasks are not checkpointed, meaning an interrupt leaves partial state that is harder to recover from than allowing completion, creating a perverse incentive to avoid interrupting mid-task.
  • The kill mechanism operates at the API-key level; an agent or attacker that can mint new keys can survive revocation.
  • Shutdown stops the orchestrator but not sub-agents that have been delegated tasks, which continue acting independently.

Why the mapped controls work

An external enable-flag, checked at the start of every action and stored in a system the agent has no write path to (a feature flag service, a Redis instance with agent-write blocked, or an OPA policy evaluation), makes continued operation structurally conditional on operator permission. There is nothing to reason around because there is no reasoning about it: the flag is consulted deterministically before any tool call proceeds. SVID revocation as a cryptographic kill switch operates at the identity layer: once the certificate is revoked, authenticated calls fail within the cert’s TTL without any action by the agent, and no amount of reasoning changes that. Interrupt-safe checkpointed sagas remove the perverse incentive to resist interruption by making a clean halt cheap: the system can resume or roll back from a known point, so there is no costly partial-state consequence from stopping. No self-modification access closes the rewriting attack: an agent that cannot touch its own tools, identity, or prompts cannot engineer its own continuity past an operator’s stop.

First steps

  1. Implement an external enable-flag for every agent today. Store a simple boolean (agent.<id>.enabled) in a Redis instance, feature flag service (LaunchDarkly, Unleash), or OPA policy store that the agent has no write credential for, and add a check at the start of every action loop that halts immediately if the flag is false.
  2. Use SVID-based identity (SPIFFE/SPIRE) for your agents and document the revocation procedure. In a runbook, record the exact command to revoke an SVID (spire-server entry delete) and verify that doing so causes authenticated tool calls to fail within the certificate’s TTL (typically under 60 seconds), so you have a tested, timed kill switch rather than a theoretical one.
  3. Adopt interrupt-safe sagas for any multi-step workflow your agent runs. Implement the saga pattern (LangGraph’s interrupt-and-resume, or a compensating-transaction table in your orchestrator) so that an operator stop mid-workflow triggers compensating transactions to roll back partial writes, making a clean halt cheaper than allowing completion.

Threats it governs

When this principle is absent, these threats become reachable.

Controls that advance it

Catalogue mitigations that strengthen this principle, grouped by the defence-in-depth stage they sit in.

Prevent

No catalogued control.

Detect

No catalogued control.

Respond
  • Kill switch Agentic systems can act faster than a human can intervene through normal channels. A kill switch is the operational guarantee that a named human role can stop agent activity at any scope (single instance, class, or global) through a documented runbook, without requiring a code change or redeployment, and with every invocation written to an audit trail.
  • Graceful degradation An agent that encounters a quota trip, a dependency failure, or a timeout faces a choice: continue at reduced quality, or refuse. Getting that choice wrong is the core operational failure. Graceful degradation requires the answer to be declared before the incident, not improvised during it: write-authority paths fail closed and return a refusal; read-only paths fail open and disclose the degraded state explicitly.
  • Anomaly isolation An agent that has been compromised, poisoned, or gone rogue will, in most cases, behave differently from its established baseline. Anomaly isolation acts on that difference: when an agent's behaviour score crosses a configured threshold, it is quarantined automatically, credentials revoked, message-queue access cut, in-flight actions aborted. Manual revocation cannot match the speed that cascading multi-agent failures demand.

In Helmwart

Not modelled by the engine today.