Skip to content

Topic

Human approval gates on irreversible actions

A design pattern in AI agent systems requiring human sign-off before irreversible actions like deletions, payments, or permission changes.

Current stories

buildOne report1 publisher

Mistral's Vibe keeps its approval classifier on a Mistral model even when GLM 5.3 writes the code

Mistral has added Z.ai's GLM 5.3 to Vibe, its terminal coding agent, and moved the smart-approve classifier onto a fast Mistral model whatever model is active. Teams that pick GLM 5.3 to write code still get a Mistral model deciding when a person must approve an action.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+5
Incentives50
Confidence45
buildOne report1 publisher

MaxKB's CVSS 10.0 patch re-quotes shell commands without gating the agent's execute tool

MaxKB's v2.10.5-lts fix for a CVSS 10.0 agent flaw repairs shell quoting but leaves the execute tool off the approval list. According to one developer's trace of the release tag, a prompt planted in ingested documents can still trigger shell commands with no human sign-off.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+25
Incentives30
Confidence40
leadershipOne report1 publisher

Anduril CMO gives his AI agent access to email and bank details, but keeps the final yes for himself

Anduril marketing chief Jeff Miller gave AI agents access to his bank details and email, then used them to clear six months of expense reports. The approval he keeps for himself covers what an agent sends or buys, so a team policy modelled on it still has to decide what the agent may read.

Reality

Evidence35
Adoption20
Hype gap+35
Incentives60
Confidence40
buildOne report1 publisher

MCP's stateless core moves a 30-minute approval pause into your database

A dev.to post says the 2026-07-28 specification dropped the initialize flow and Mcp-Session-Id, so MCP requests can land on any instance. The refund agent it walks through still breaks on the second pod.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+10
Incentives25
Confidence40
buildOne report1 publisher

Hashing the arguments lets a reworded retry fire the destructive call twice

Across 34 runs on three agent frameworks, a recorder proxy shows that what the dedup key names decides whether a retried publish executes once or twice, and that surviving a SIGKILL is a separate question about where state is kept.

Publishers:dev.to

Reality

Evidence46
Adoption
Not scored
Hype gap+18
Incentives36
Confidence52
buildOne report1 publisher

An enterprise AI reference diagram gates only its write and send connectors

Part 4 of a dev.to enterprise AI series puts a person in front of the write and send connectors and leaves read paths alone, with the refusal enforced by the tool layer instead of a sentence in the prompt.

Publishers:dev.to

Reality

Evidence38
Adoption15
Hype gap−8
Incentives25
Confidence50
buildOne report1 publisher

A risk tier on every tool moves the refusal out of the model's text and into the runtime gate

An R0-R5 tiering in the open-source KeelBase server lets the declared level decide whether an agent's call executes, waits for a person, or is refused, and a tool that declares nothing has its writes held at confirmation.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+18
Incentives70
Confidence52
buildOne report1 publisher

A three-entry allowlist test fails the build when this refund agent's rules import a framework

Part 14 of a dev.to series describes what its author calls "a support agent that can work out whether you're owed a refund, and cannot give you one", with the eligibility rules pinned to the JDK by a test.

Publishers:dev.to

Reality

Evidence50
Adoption4
Hype gap−10
Incentives28
Confidence45
buildOne report1 publisher

Six runtime events map to six of eight UI states in this Angular agent walkthrough

A dev.to walkthrough swaps the agent spinner for a typed state machine covering planning, approval, retry and blocked, and its reducer reads only the newest event, so the server has to name each state first.

Publishers:dev.to

Reality

Evidence63
Adoption
Not scored
Hype gap+18
Incentives22
Confidence68
buildOne report1 publisher

An out-of-scope delete_repository call dies at check six of capbroker's seven

capbroker hands the agent a signed, expiring ticket and evaluates every call in deterministic code. In the second run the injected instruction stayed inside the granted scope, and a human at the terminal was what stopped it.

Publishers:dev.to

Reality

Evidence45
Adoption10
Hype gap−12
Incentives60
Confidence45
securityOne report1 publisher

meshIQ's Gourab Basu puts the agent control boundary inside the execution path

His case rests on a refund workflow where anything over $100 needs human confirmation, a rule that stays an instruction while it lives in the prompt and becomes enforceable only when something inspects the tool call first.

Reality

Evidence34
Adoption
Not scored
Hype gap+20
Incentives65
Confidence58
buildOne report1 publisher

Claude's Salesforce beta proposes changes like close-date updates for sellers to approve

Anthropic's 37-skill beta reads only what a user's Salesforce permissions allow and writes back only after that seller approves each change. The approval is a default setting. Revenue teams now have to govern it.

Publishers:runtimewire.com

Reality

Evidence52
Adoption34
Hype gap+14
Incentives78
Confidence55
buildOne report1 publisher

Flipping one deny to an allow broke the agent journal at record 3

The journal chains each record's hash into the next, so a one-line edit to a refusal surfaced as a numbered record; anyone able to rerun the writer can still recompute the chain and pass the check.

Publishers:dev.to

Reality

Evidence48
Adoption15
Hype gap+28
Incentives80
Confidence42
buildOne report1 publisher

Vercel puts agent-written TypeScript in QuickJS and makes host functions the real boundary

The Run SDK swaps eval's ambient authority for a worker-thread sandbox with narrow host functions and resumable interrupts. The replay semantics are the part to read twice.

Publishers:blog.vercel.com

Reality

Evidence45
Adoption22
Hype gap+18
Incentives78
Confidence50
buildOne report1 publisher

sampling/createMessage lets an MCP server run its own prompt through your model

In MCP's Sampling flow the server composes the prompt and the client runs the completion on its own model. The includeContext default is "none", and the two wider values only work if the client declares a capability.

Publishers:dev.to

Reality

Evidence50
Adoption30
Hype gap+8
Incentives15
Confidence55
buildOne report1 publisher

A 90-day inactivity timer closed a CAPA that never got a root cause review

A quality engineer writing on dev.to argues that ISO 13485, EU MDR and FDA guidance all assume an accountable human without listing the approvals an AI may not make, so each site has to write that list itself.

Publishers:dev.to

Reality

Evidence28
Adoption18
Hype gap+12
Incentives45
Confidence40
securityOne report1 publisher

Tenable says its own agent planned bulk changes across assets the requester could not modify

Tenable's account of the control layer around Hexa AI lists what broke during development, including an agent that did not know who was asking, a model that denied tags it could not find, and queries that died past 5,000 assets.

Publishers:tenable.com

Reality

Evidence42
Adoption
Not scored
Hype gap+18
Incentives82
Confidence52
scienceOne report1 publisher

OWASP catalogues an attack that forges the approval dialog guarding AI agents

The write-up names three ways attacker-controlled text can reshape what an approval prompt shows, and cites one Checkmarx demonstration against Claude Code. It carries no measure of how often a doctored dialog actually fools a human.

Publishers:owasp.org

Reality

Evidence52
Adoption20
Hype gap+15
Incentives38
Confidence60
buildOne report1 publisher

A seven-rung risk ladder pushes agent permissions out of the prompt and into an authorization layer

Hossein Hezami's ladder runs observe to destroy and gives sensitive reads a class of their own. The interesting part is the TypeScript, where risk arrives as a field on the request and someone other than the model has to set it.

Publishers:dev.to

Reality

Evidence34
Adoption
Not scored
Hype gap+16
Incentives22
Confidence44

Earlier coverage