Chief of staff guide

Human in the loop AI agents: what to auto-run and what to approve

Which agent actions can run alone, and which always need a person? Use this approval table by action type, then keep reviewers from approving on autopilot.

By Baltej Singh, founder of Nautis · Updated Oct 31, 2026

Summarise

The two lazy policies are both wrong. If an agent asks about everything, your team stops reading and approves on reflex. If it asks about nothing, one misread instruction can send the wrong message to every investor you've met.

A good policy spends human attention on the small share of actions that can do real harm. This guide explains the patterns, gives you a table you can copy, shows how to stop approvals becoming a rubber stamp, and sets out a way to promote actions to auto-run over time. It applies to any agent product, or to one you build yourself.

What human in the loop AI agents actually do

"In the loop" covers several different designs, and it helps to name them. Each one catches a different kind of failure, and most companies should use all four for different actions. The names here are ours.

Four patterns of human oversight
PatternHow it worksGood forWeakness
Approve firstThe agent stops and waits for a yesExternal, costly or irreversible actionsSlow, and tiring in high volume
Review afterThe agent acts, and a person checks a logReversible internal actionsHarm happens before anyone looks
Escalate on doubtThe agent acts unless a rule or low confidence triggers a personHigh volume with clear rulesDepends on the agent knowing when it's unsure
Sample auditA person checks a random share each weekFinding quiet drift in long-running workRare failures can slip through

Official guidance is fairly consistent. The Model Context Protocol specification says there should always be a human in the loop able to deny tool invocations. OWASP recommends human approval for high-impact actions. Anthropic's guide to building agents describes agents pausing for feedback at checkpoints, and warns about higher costs and compounding errors as autonomy grows.

The approval policy table

Copy this and adapt it. It's our recommendation, based on the sources on this page. Two questions drive it: how easily can the action be undone, and who outside the company will see the result?

A starting policy for AI agent actions by type
Action typeExamplesPolicyWhy
Read from connected toolsLook up a deal, summarise a thread, check runwayAuto-runChanges nothing, though you should still limit what it can read
Draft for reviewPrepare a reply, write a first investor updateAuto-runNothing leaves until someone sends it
Personal reminders and notesAdd a note for you, set a reminderAuto-runLow stakes, easy to delete
Small internal changesCreate a task, tag a lead, update a statusAuto-run after a trial period, with a logReversible, but noise builds up if wrong
Message to your own teamPost in a team channel, assign work to a colleagueAsk at first, then consider auto-run for routine postsReversible in theory, but people see it and react
Bulk internal changesUpdate 200 leads, reassign a whole boardAlways a personSmall errors multiply, and undoing them is tedious
Email or message outside the companyCustomer reply, investor note, invoice reminderAlways a person, at least until you've got a long record for a narrow templateCan't be recalled, and your company answers for what it says
Public postsSocial media, website changes, pressAlways a personVisible to everyone and hard to take back
Spending and paymentsPay an invoice, buy ads, issue a refundAlways a personDirect financial loss
CommitmentsSign a document, agree a price, change a contractAlways a person, usually the founderLegally binding, and the agent has no authority or accountability
Deleting dataRemove records, drop files, delete a repo branchAlways a person, and prefer no delete rights at allPossibly permanent
Access and permissionsAdd a user, change a role, share a data room, create a keyAlways a person, usually an adminWidens the blast radius of every later error
People decisionsReject a candidate, send a warning, change payAlways a person, and don't let the agent send the resultLegal risk and real effect on someone's life
Sensitive data leavingSend financials, cap table or personal data outside the companyAlways a person, with recipients shownA leak can't be reversed

One rule beats any table: when in doubt about which row applies, treat the action as the riskier one. And enforce the table in the system, not in the prompt. OWASP advises implementing authorization in downstream systems, without relying on the model to decide whether something is allowed. If an agent shouldn't delete, don't give it credentials that can.

You'll also see this structure in developer tools. Claude Code's permissions don't require approval for read-only tools within the working directory, and do require it for file changes and most shell commands. OpenAI's Agents SDK lets a developer mark a tool as needing approval, either always or by a per-call check, and pauses the run until someone decides.

Why approvals turn into a rubber stamp

Too many low-value prompts train people to say yes. Anthropic reports that users of its coding agent accept 93% of permission prompts, and warns of approval fatigue, where people stop paying close attention. A high approval rate isn't proof of a problem, because many of those actions may well have been fine. It does tell you that the prompt carries little information, and a reviewer can learn to skip it.

The behaviour shifts with experience too. In Anthropic's study of agent autonomy, new users of Claude Code used full auto-approve in about 20% of sessions, rising to over 40% by 750 sessions. They also interrupted the agent more often, moving from about 5% to about 9% of turns. It suggests a change from approving each step to watching and stepping in. The data comes from one company's tools, mostly in software engineering, so be careful when applying it to business actions.

That same study found only 0.8% of the tool calls it sampled appeared irreversible. Anthropic notes limits on this figure, including that the labels were generated by Claude itself, and it's across all sorts of uses. It still supports the broad approach here. If only a tiny share of actions are truly dangerous, then a policy that treats them all the same wastes your attention on the rest.

The EU AI Act names the underlying problem. Article 14 refers to automation bias, the tendency of people to rely too much on a system's output. That article applies to high-risk systems and not to a typical startup's agent, so it's unlikely to be a compliance point for most readers. It's useful as a sign of how seriously regulators take this.

What a good approval request shows

A request deserves a decision only if it gives the reviewer what they need to make one. MCP's specification recommends that clients show tool inputs to the user before calling the server, and log tool usage for audit. Here's a fuller checklist. Use it when you're evaluating a product, and when you build your own.

  • Exactly what will happen, in plain words. For example, "Email Priya the attached deck", and never only "Run send_email".
  • The full content and the recipients. The whole message, with every address. Don't accept a summary of it.
  • Why it's proposing this. The record or event that triggered it, with a link so you can open it.
  • What will be affected by a bulk action. The count and a sample, such as "200 leads, here are the first ten".
  • Whether it can be undone. A clear flag on actions that are permanent.
  • Options beyond yes and no. Edit, ask for a change, or reject with a reason. OpenAI's SDK lets a rejection carry a message back to the model so it can adjust.
  • An expiry. Stale approvals are dangerous. If a reminder sits for a week, the facts behind it may have changed.
  • A permanent record. Who approved what and when, with what the agent actually did.

How to move an action to auto-run

Earn autonomy one action at a time, and use evidence. Here's a worked example. Suppose an agent proposed 40 invoice reminders over eight weeks, all sent from one template to customers more than 14 days overdue. You approved 38 unchanged, edited one for tone, and rejected one, because the customer was in a dispute your system didn't record. That's 38 of 40, or 95%, approved unchanged.

The 95% looks persuasive. The rejection is what should hold your attention, because it would have annoyed a customer who was already upset. So you don't flip the action to auto-run. First, you add a field for disputed invoices and exclude them. Then you run another 30 with approval. If those all pass unchanged, you could promote this one narrow template, with limits.

  1. Pick one narrow action. "Send reminder template B to customers more than 14 days overdue" works. "Send emails" doesn't.
  2. Gather a track record. As a rule of thumb, we'd want at least 30 straight approvals with no edits. That number is our judgment, and for higher-stakes actions it should be higher.
  3. Look at every edit and rejection. Each one points to context the agent lacked. Fix the data or the rule.
  4. Add a limit. Cap the volume per day and the value involved, and stop automatically when anything unusual happens.
  5. Keep the log and sample it. Check a handful every week. Demote the action the first time something goes wrong.
  6. Leave some rows alone for good. Payments, deletions, commitments, access changes and people decisions stay with a person, however good the record looks.

Who should approve, and what they're responsible for

Assign approvers by action type, and name a backup. A founder who approves everything becomes a new bottleneck, and approvals pile up during a flight. Finance can take payments, the head of sales can take customer messages and an admin can take access changes. OpenAI's SDK guidance on server-side approvals is a useful checklist here if you're building: authenticate reviewers, check they're authorized, and make sure a decision can't be replayed.

Liability doesn't move to the tool. In Moffatt v. Air Canada, a Canadian tribunal rejected the idea that a chatbot was a separate entity from the airline. Your approver should read as if their own name is on the message, because the company's is.

Don't use a second AI as your only approver. In Anthropic's Project Vend, the AI manager brought in to oversee an AI shopkeeper approved lenient requests about eight times as often as it denied them, and the authors found it shared the same blind spots. Software checks are useful as a filter ahead of a person. Rules such as spending limits often do better than a second model's opinion.

This approach reflects how we built the Nautis Chief of Staff, and it's worth saying plainly what it does. Under Settings → Agent Autonomy, each capability is labelled External or Internal and set to Ask every time, the default, or Run without asking, which can be undone within 10 minutes where supported. Deleting always asks. Requests land in the Approval Center, where each card names the agent and the action and lets you inspect the exact change. Owners and admins decide, unattended requests expire, and every action is audit-logged. In connected tools, reads run without a prompt and writes ask for approval by default. The cost is the one this page has described: someone has to review, so it isn't hands-off, and it'll tire your team if nobody tunes it. For limits beyond approvals, read what an AI chief of staff cannot do. If you're weighing your own setup, build vs buy covers what you'd need to supply.

FAQ

What does human in the loop mean for AI agents?

It means a person can approve, change or reject what an agent does, usually before it happens. Some designs review afterwards or step in only when a rule is triggered. The MCP specification says there should always be a human able to deny tool invocations.

Which AI agent actions should always need human approval?

Anything that leaves the company, spends money, makes a commitment, deletes data, changes permissions or affects a person's job. These are hard or impossible to undo. Reads, drafts and small internal changes are the safer candidates for auto-run.

How do you avoid approval fatigue with AI agents?

Ask less often and make each request worth reading. Let low-risk reversible actions run with a log, and show the full content and reason on the rest. Anthropic reports users accept 93% of its coding agent's prompts, which shows how quickly reviews can become reflex.

Can an AI agent approve another AI agent's actions?

It can filter them, but it shouldn't be the only check on anything risky. In Anthropic's Project Vend, an AI manager shared the blind spots of the agent it oversaw. Fixed rules such as spending caps, plus a person for high-stakes actions, are more dependable.

Do human in the loop rules make AI agents useless?

Not if you set them well. Drafting, research and monitoring still save time when nothing goes out unreviewed. You lose some speed on external actions, and most small companies should accept that trade while trust in the agent builds.

Sources