Tallis

Guide

Human in the loop AI agents: what approval has to mean

Every AI product says a human stays in the loop. Very few say what the human sees, when they see it, and what happens if the answer never comes.

Written by Tallis. Last updated 2026-09-18.

The phrase does a lot of hiding

"Human in the loop" is printed on almost every AI product that can act on your behalf. It can mean a real approval step. It can also mean a checkbox in a settings page, a log you could read afterwards, or a promise that you may cancel a job while it runs.

The difference only shows up on the day something goes wrong, which is the worst day to discover it. So it is worth being precise about what the loop actually is.

Four levels, from weakest to strongest

1. Notification

The agent acts, then tells you. You find out after the message was sent. This is not approval; it is reporting. It is fine for reversible, low-stakes work and wrong for anything a person receives.

2. Cancel window

The agent announces an action and acts in ten seconds unless you stop it. Better, but it fails exactly when you are away from your phone, which is when you most wanted a gate.

3. Confirmation

The agent asks "shall I send the email?" and waits. The gap here is what you were shown. Confirming a description is not the same as confirming the content. Plenty of confirmations approve a summary of an action while the real payload stays unseen.

4. Exact preview

The agent shows the precise thing it will do: this message, to this person, from this account, at this time. You approve that exact artifact, and nothing else can be substituted afterwards. This is the only level that survives a real mistake.

Five questions that separate a gate from a disclaimer

  • What exactly do I see? The full payload, or a sentence describing it?
  • Can the model approve itself? If the same system that decides to act also holds the permission to act, there is no gate, only good intentions.
  • What happens if I never answer? A safe system does nothing. An unsafe one has a timeout that proceeds.
  • What happens when the result is unknown? A request that times out may have gone through. Retrying it can send the message twice. The honest answer is to stop and reconcile, not to guess.
  • Is there a receipt? After the fact you should be able to see what was approved, by whom, when, and what the other service actually returned.

Test it before you trust it

Ask the agent to send a message to your own second address. Read what it shows you before you approve. Compare it word for word with what arrives. Then, while it waits for approval, close the app and leave it for an hour, and see whether anything happened without you.

Those two checks, payload fidelity and inaction on silence, tell you more than any marketing page will.

How Tallis draws the line

The part that runs the models has no permission to carry out an external action. A separate component holds that permission, shows you the exact artifact, records the approval, executes at most once, and keeps the receipt. You can widen the boundary with rules, or turn on autopilot for a class of work, but the runtime can never grant itself the right to act.

Common questions

Does approval make an agent useless?

No, but it changes where the time goes. Reading, research, drafting and preparation happen freely. The tap is only on the step that reaches another person or changes something outside your control.

Can I automate the approvals?

You can set rules in advance, which is different from removing the gate. The rule is yours, it is versioned, and the agent is still executing your decision rather than its own.

What about actions that cannot be undone?

Those are exactly the ones that deserve an exact preview. Treat any tool that treats a send like a reversible draft as a tool that has not thought about it.

Is a log the same as a receipt?

A log says what the agent believed. A receipt carries what the other service returned. Only the second one proves the action happened.

An assistant that cannot approve itself.

Tallis previews the exact action, waits for your tap by default, and keeps the receipt. Join the waitlist to see it on your own work.

Join the waitlist