Home  ›  Insights  ›  Agent kill switch placement
Field Note

Agent kill switch: 35 seconds at OpenAI, 86 minutes in Okta

OpenAI says its research agents stop within 35 seconds of a stop instruction. In AWS’s own test of Okta’s agent controls, deactivating an agent sat in a queue for 86 minutes. The difference is not the vendor. It is where the switch sits.

The claim

Most agent governance plans assume one thing: revoke the agent’s identity and the agent stops. Two vendor write-ups published three days apart test that assumption from opposite ends.

On 6 November AWS published a test of Okta Cross App Access with Amazon Bedrock AgentCore, including what happens when you revoke an agent (vendor, AWS). On 9 November OpenAI described Control Room, the system it uses to track and stop model workloads across its research infrastructure (OpenAI). We could not load OpenAI’s post from our environment, so every Control Room detail below is OpenAI’s as reported by Forkast and RuntimeWire (independent).

The inputs

Stop actionWhere it actsTime to take effectSource
OpenAI Control Room stopInference path: engines check each request against the job’s authorisationUp to 35 seconds from the stop instruction to no further progress, an upper bound OpenAI attributes to an authorisation cacheindependent
Okta: delete the resource connectionBetween the agent and the resource it calls“took effect immediately”vendor, AWS
Okta: tokens already issuedHeld by the agentWork until they expire, up to 5 minutesvendor, AWS
Okta: deactivate the AI agentIdentity provider, beta AI agent APIQueued for 86 minutes in the test org, with no cancelvendor, AWS

OpenAI also requires every research job doing agentic inference to request a job ID at start and to have an approved safety case, and Control Room fails closed: if it is down or disabled, inference requests are denied until it resumes (independent, Forkast).

The result

Time an agent keeps working after a stop = time for the stop to reach the enforcement point + remaining life of anything already issued

In OpenAI’s design the enforcement point is the call to the model itself, and the only thing that outlives the stop is the authorisation cache, which sets the 35-second bound. In AWS’s test, the fastest stop was also on the call path: deleting the resource connection. The slowest was the identity action, deactivating the agent.

On these two write-ups the claim fails. Revoking the identity is the slow stop. The fast stop sits where the agent makes its calls, and its speed is set by how long anything already issued stays valid.

Assumptions: each write-up describes its own system accurately, and the timings carry over only to stacks built the same way.

Where it breaks

  • You cannot buy Control Room. It is an internal research system (independent, RuntimeWire). It works because OpenAI runs its own inference engines. A firm calling a third-party model API needs a gateway it controls before it can add a per-request check.
  • The 35 seconds is OpenAI’s own upper bound. No independent test exists. Forkast describes the clock as starting when Control Room receives a stop instruction; RuntimeWire as starting at the stop decision. The time to notice a problem sits outside both.
  • AWS’s figures come from one sandbox. An Okta Integrator Free Plan org, sample code marked non-production, and a beta Okta API (vendor, AWS). A production tenant may behave differently.
  • Fail closed has a price. If the stop service goes down, legitimate work stops too, and a check on every request adds latency. That is the strongest case for leaving the stop in the identity layer, and it is a trade-off to decide per agent, not by default.
  • Stopping is not undoing. A stop prevents further progress. Anything the agent already wrote, sent, or changed stays done.

Decision: where your stop goes

Your agents call models and tools throughPut the stopWhat to expect
An API gateway you runA per-request check keyed by agent or run ID, failing closed for high-risk agentsBounded by your cache lifetime. Measure it.
A vendor-hosted agent platformThe platform’s own stop, plus removing the agent’s connection to each resourceWhatever the vendor delivers. Test it before you rely on it.
Long-lived keys in agent codeRotate the key now, then move the agent behind a gatewayThe slowest of the three, set by how fast you can redeploy.

Five steps this quarter

  1. Step 1. Map every agent’s call path. For each agent, list how it reaches models and tools, and which credentials it holds. Owner: AI platform lead.
  2. Step 2. Choose one enforcement point on that path. Give every run an ID it must present on each call, so a stop can name it. Owner: platform engineering.
  3. Step 3. Decide fail open or fail closed, in writing, per agent. Agents that move money, data, or customer records fail closed. Owner: risk owner with the agent’s business owner.
  4. Step 4. Set credential lifetimes to the exposure you accept. In AWS’s test, tokens already issued kept working for up to 5 minutes after revocation (vendor, AWS). Owner: identity team.
  5. Step 5. Measure stop-to-silence in your own stack. Issue a stop to a non-production agent and time the last successful model or tool call. Keep the raw timings and repeat after every platform change. Owner: security operations.

Missing

  • OpenAI’s method for the 35-second figure, and how often Control Room has been used to stop a job.
  • An independent test of either the 35-second or the 86-minute figure.
  • Whether Okta’s beta deactivation queue behaves the same way in a production tenant.
  • A Prestanda measurement. We have not run Step 5 ourselves; it is a test design, not a result.

Frequently asked questions

Can we buy OpenAI’s Control Room?

No. As reported by Forkast and RuntimeWire, Control Room is an internal system deployed across OpenAI’s research infrastructure. No product, customer availability, or open-source release has been announced.

Does deactivating an agent in Okta stop it immediately?

Not in AWS’s test. Deactivating the agent sat in Okta’s beta AI agent API queue for 86 minutes in an Okta Integrator Free Plan org, with no way to cancel. Deleting the resource connection took effect immediately, and tokens already issued kept working until they expired, up to 5 minutes.

What does fail closed mean for an agent stop?

If the stop service is unavailable, requests are refused rather than allowed. OpenAI’s Control Room is reported to deny inference requests until it resumes. The cost is that an outage of the stop service also stops legitimate work.

Living page. Last updated 10 Nov 2026. We update this note if OpenAI publishes its measurement method, Okta moves the AI agent API out of beta, or an independent test appears.