Control and proof
Human-in-the-loop approval
Human-in-the-loop approval is a control that pauses an AI agent's action until a named person approves or rejects it, so high-impact or irreversible actions never run on the model's judgement alone.
What it is
Some actions should never run on a model's say-so: paying a supplier, deleting a user, emailing every customer. Human-in-the-loop approval puts a person between the agent's decision and the action. The MCP tools specification says that for trust and safety there should always be a human in the loop with the ability to deny tool invocations. The OWASP Top 10 for LLM applications recommends human approval for high-impact actions as a mitigation for excessive agency.
Why it matters
Approvals contain the damage from both mistakes and manipulation. A prompt-injected agent that tries to export a customer list stops at the approval. Regulation points the same way: Article 14 of the EU AI Act requires high-risk AI systems to be designed so that people can oversee them, override their output and interrupt them.
How it works
- Decide what needs approval. Usually writes with financial, security or irreversible effect, not every read.
- Bind the approval to the exact action. OWASP's agent cheat sheet says approval must be tied to the specific action and arguments, and decision kept separate from execution.
- Suspend the run and tell a named approver what is waiting.
- Record the decision, who made it and when.
- Resume or stop the run exactly where it paused.
Example
An IT agent processing a leaver can disable the account and remove licences on its own, but resetting the user's password and deleting the mailbox wait. The service-desk lead gets an email showing the action and its inputs, approves it, and the run continues.
Common pitfalls
- Approval fatigue. Gating every read trains people to click yes without looking.
- Self-approval. An approval the agent's own credential can grant is not an approval. OWASP warns that a simple "user confirmed" flag is not enough.
- Approvals in chat only. A "yes" typed in a chat window leaves no durable record and is easy to forge in the conversation.
- Not bound to arguments. Approving "send an invoice" must not also approve a different amount.
How actionlake handles it
Each actionlake key has a confirm_policy: agent, human_for_writes or human. Destructive actions always need an explicit confirm: true, and under human the agent's key cannot confirm itself. Key approval rules gate chosen actions and name who approves. When one applies, the run suspends until that person decides, in the console or from a signed link in an approval email, then resumes. Plans can include an approval step with a named approver. Deciding through the API needs the literal approve:* grant; * does not include it, so an agent key that may run everything still cannot approve its own action. The decision, who made it and when are kept; the free-text comment and addresses are cleared after 90 days. See agent permissions and the trust page.
Questions
Which AI agent actions should require human approval?
Actions that move money, change access, delete data or contact customers at scale. Reads and low-risk writes usually should not, or approvals become a rubber stamp.
Can another AI agent approve an action?
It can, but that is agent-to-agent confirmation, not human oversight. For high-impact actions, require a named person whose decision is recorded.
What happens to the agent while it waits for approval?
The run is suspended at that step. When the person approves, it resumes from the same point; when they reject, it stops and the rejection is recorded.
Related terms
- AI agent permissionsAI agent permissions are the rules that decide which systems, actions and data an agent's credential may reach, and least privilege for agents means granting only the actions a task needs and enforcing that limit outside the model.
- Agent planAn agent plan is a saved, versioned procedure of actions, cross-system joins, loops, waits and approval steps that an AI agent writes once and that then runs the same way on demand or on a schedule, without the model re-deciding every step.
- AI agent audit logAn AI agent audit log is a record of every action an agent took: which credential ran it, what it did, in which system, with what outcome and cost, and why, kept so a person can reconstruct and verify events later.
- Prompt injectionPrompt injection is an attack in which text that a language model reads, typed by a user or hidden in a web page, email, document or tool result, changes the model's behaviour, and in a tool-using agent it can turn into real actions.
- AI agentAn AI agent is software in which a language model decides its own next steps and tool calls in a loop, using results from its environment, until a goal is met or a stopping condition is reached.
Sources
Connect an agent. Start free.
100,000 calls free every month. No card. Hard caps on every key.