
- Reduce risk by requiring explicit human approval for sensitive steps.
- Improve collaboration by letting humans inspect, edit, or reject AI-generated outputs.
- Increase trust and compliance for workflows involving legal, financial, or destructive actions.


user_confirmed == True). The execution pauses until a corresponding flag is set. Input can arrive via a UI, webhook, or API event; once received, the graph resumes along the matching edge. This event-driven approach keeps the design clean and auditable.
Implementation workflow (high level)
- Define the graph state to include fields that store the data needing review.
- Create an interruption node that represents the human review step.
- Pause execution using the
interruptfunction—this saves state and emits a payload for the front end. - Resume the graph when human input is returned, updating the state and continuing execution.
Example node implementation
The following Python example shows a simple interruption node that stops the graph, sends text to a reviewer, and resumes with the revised text.
- When
interrupt(...)executes, the current graph execution stops and the runtime persists the current state. - A payload is emitted to configured endpoints (UI, API, dashboard, or webhook).
- The external system presents the content to a human for approval, editing, or cancellation.
- Once a response arrives, the runtime resumes execution from the same node and returns the user-provided value.

- Image generation: let a user approve or refine generated images before publishing.
- Data deletion: require confirmation before wiping records.
- Legal or financial advice: require human sign-off on recommendations.


When designing interruption points, be explicit in the UI about what each decision means. Provide clear options (approve, edit, cancel), allow safe fallbacks, and avoid pausing the flow for trivial matters. Only interrupt where user input improves safety, trust, or personalization.
- Make decision points clear and minimal—only pause for high-value human input.
- Provide safe fallbacks (e.g., “undo”, “retry”, or default timeouts).
- Avoid blocking flows unnecessarily—use timeouts or automated fallbacks when appropriate.
- Log all human interactions for auditability and compliance.
- LangGraph course: https://learn.kodekloud.com/user/courses/langgraph
- Human-in-the-loop design patterns and best practices (general reading)