agent·interface

The approval gate: sign-off that stays meaningful

Every team shipping an AI agent hits the same wall: the agent is capable enough to act, and nobody is comfortable letting it. The standard answer is an approval gate — the agent proposes, a human clicks yes. It sounds solved. It almost never is.

The failure mode isn't the gate. It's what the gate turns into after two weeks: a click-through. The human approves the forty-third action the same way they approved the second, without reading it, because reading it stopped paying off. At that point you have the liability of automation with the latency of supervision — the worst point on the curve.

Designing a gate that stays meaningful is a real interface problem, and it has real answers.

Approve the consequence, not the action

Most gates show the action: "Run DELETE FROM sessions WHERE expired = true?" The human can't evaluate that without holding the schema, the data, and the blast radius in their head — so they stop trying.

Show the consequence instead: "This deletes about 12,400 expired session rows. Active sessions aren't matched. Reversible until the nightly vacuum." Now the approval is a decision, not a ritual. The agent did the work of predicting impact; the human does the work only a human can do — deciding whether that impact is wanted.

A useful test: could someone who joined the team yesterday make this call from the approval prompt alone? If not, the prompt is underbuilt.

Tier by reversibility, not by category

Teams usually tier approvals by action type — reads are free, writes need sign-off, deletes need a manager. Category is a weak proxy for what actually matters, which is reversibility and reach.

  • Reversible and contained — editing a draft, creating a branch, staging a change: don't gate it. Let the agent move, and make undo obvious.
  • Reversible but outward-facing — sending an email, posting a comment, opening a ticket: gate it, because "reversible" stops being true the moment another human reads it.
  • Irreversible or wide — deleting data, spending money, changing permissions, anything touching production: gate it with the consequence view, and slow the click down (a typed confirmation, a two-step reveal — friction is the feature here).

An agent that must ask permission to read a file will be granted blanket permission by Friday. Gates survive only when the cheap actions don't burn them.

Batch the boring, surface the strange

Approval fatigue comes from volume, and volume comes from treating every action as equally interesting. It isn't. The agent renaming twelve files matching a pattern is one decision, not twelve — present it as one, with the list inspectable.

The complement: anything unlike the actions around it should be pulled out of the batch and made loud. "Also, this run wants to modify .env.production" is a sentence the interface should force into view even if it arrived in a batch of routine edits. Uniform presentation of non-uniform risk is how bad approvals get through.

Denial is data

A gate with one button is a survey with one answer. When a human rejects an action, the interface should catch why in the same gesture — wrong target, wrong time, wrong approach, never do this. That single field is the difference between an agent that repeats the mistake tomorrow and one that doesn't. If your gate has an approve button and a void, you're paying for supervision and discarding what it learns.

The gate is temporary; the trail is not

Every gated system drifts toward autonomy — teams widen the permissions as trust builds, and they should. What must not drift away is the record. An append-only trail of what the agent did, what it predicted the consequence would be, and who approved it is the thing that lets you widen permissions safely: when something goes wrong, you can find out whether the model predicted wrong, the human read wrong, or the policy was wrong. Those are three different fixes.

Build the trail before you need it. The teams that skip it don't skip it twice.

Where this is heading

The gate patterns above are converging across shipped products — coding agents that separate suggest/auto modes, browser agents that pause before purchases, enterprise platforms that route high-reach actions to review queues. The interface layer is standardizing faster than the terminology is. That's the layer this site exists to track: the tracker follows the protocols, and the hub maps the patterns, this one included.


Tracking this space daily on the agent-interface tracker. Start at the hub if you're new to the term.