This directory keeps runnable graph examples flat. Interrupt examples are grouped by where execution is paused.
These examples pause from a node in the graph that is currently executing:
interrupt/demonstrates multi-stage HITL interrupts withgraph.Interrupt.externaltool/demonstrates caller-executed tools where a graph tool node pauses withgraph.Interrupt.agentnode_llmagent_externaltool/demonstrates anAgentNodewhose childLLMAgentemits an external tool call. The pause is still performed by a following normal graph node.dag_interrupt/demonstratesgraph.Interruptwith the DAG engine.
Static and externally requested pauses use different trigger mechanisms:
static_interrupt/pauses before or after declared nodes.external_interrupt/requests a pause from outside the graph withgraph.WithGraphInterrupt.
These examples pause inside a child agent invoked by a graph node:
nested_interrupt/demonstrates a childGraphAgentinside anAgentNodecallinggraph.Interrupt. The parent graph checkpoints the interruption, and resuming the parent checkpoint resumes the child graph.a2a_interrupt/demonstrates the same parent/child interrupt propagation through an A2A agent boundary.
The main distinction is the source of graph.Interrupt: agentnode_llmagent_externaltool
uses a parent graph node to pause after an LLMAgent tool call, while
nested_interrupt pauses because the child GraphAgent called
graph.Interrupt internally.