A fully autonomous loop, running start to finish with no human involved, is not always the goal — and treating it as the default, rather than a deliberate choice, is one of the more common mistakes in early agentic system design. Almost any production agent that touches something irreversible — sending money, sending an email, deploying code — benefits from a human checkpoint somewhere in its run.
The technical trick: pausing is the same as checkpointing
State-graph runtimes let a run pause at a defined node, wait on a human indefinitely, and then resume with exactly the state it left off with, without replaying the whole run from the beginning. The detail worth understanding is that an interrupt node is not a special, bolted-on hack; it uses the same state-checkpointing mechanism the runtime already relies on for crash recovery. Pausing for a human and pausing because a process needs to restart after a failure are, mechanically, the same primitive — which is what makes it practical for a human to take hours or even days to respond, without the system losing anything or needing to start over.
Three kinds of gate
Not every human checkpoint plays the same role. An approval gate is where the human approves or rejects a proposed action before it executes — sending an email, executing a trade, deploying code — and nothing happens until that approval is given. An edit gate is where the human edits the agent's proposed content or parameters before the run resumes, so the human's input becomes part of what continues, rather than a simple yes or no. A review gate inspects output after the fact, once it has already happened, and can trigger a re-run if something is wrong — useful for post-hoc quality checks on a batch of agent-generated output where blocking every individual item in real time isn't practical.
Deciding where to place a gate
The design question is not whether to use human-in-the-loop patterns at all, but where, and which kind. A useful starting heuristic is to place a gate at any step whose consequences are hard to reverse and expensive to get wrong — and to choose an approval gate specifically when the action itself is binary and consequential, an edit gate when the output benefits from human refinement rather than simple rejection, and a review gate when real-time blocking would be too costly relative to the actual risk. None of the three requires rebuilding the underlying agent; all three are additions to the harness the agent already runs inside.
The single highest-leverage rule we apply across every engagement: an agent's autonomous ("allow") permission should never cover an action that is irreversible, financially consequential, or safety-adjacent, no matter how well the agent has performed so far. Those actions stay "ask" or "command-only" by policy, not by track record.
Questions to bring to your team
- Which of your processes absolutely require a human sign-off, no matter how capable the agent is?
- Where has human review actually slowed things down without adding real safety?