← All questions
Agent Protocols & ToolsMedium· LangGraph

What is Human-in-the-Loop in LangGraph specifically, an...

LangGraph’s version of Human-in-the-Loop is built on the same checkpointing mechanism used for crash recovery: execution pauses at a designated node, the full graph state is saved, and the graph waits — however long that takes — for a human to approve, edit, or reject before resuming from precisely where it left off, not from the beginning.

A workflow might automatically gather research and draft a client email, then hit a checkpoint: “here’s the draft, approve, edit, or reject?” An approval resumes straight to sending; an edit updates the state with the human’s changes before resuming; a rejection loops back to the drafting node to try again. None of that requires the task to restart from scratch.

This matters specifically because the pause can be long — minutes to days, depending on when a human actually responds — and a design that can’t preserve state across that gap either has to poll awkwardly or lose the agent’s progress entirely. The rule for what to gate behind this: anything genuinely irreversible, like sending, deleting, or paying, belongs behind a checkpoint; anything the agent could safely redo doesn’t need one.

Code playground (Python)