Applied AI
A resumed agent returns the subgraph’s previous result
A LangGraph subgraph can reuse an earlier result after a static breakpoint in a reported configuration. Prove checkpoint boundaries with a two-pass test.
October 25, 2026
An agent appears to resume correctly, yet the second specialist pass returns the first pass’s answer. An open LangGraph issue reproduces this with a parent loop, a subgraph compiled with checkpointer=True, and a static interrupt_before breakpoint. It reports x = 1 where the second call should produce x = 2 in the tested versions.
Reproduce the state path, not just the final text
Trace parent thread ID, subgraph invocation count, input state, checkpoint ID and output for each pass. Compare a run without an interrupt, a run with the interrupt, and the same run with inherited rather than separate subgraph persistence. The difference identifies whether the breakpoint and checkpoint boundary are involved.
Test the intended persistence model
LangGraph’s subgraph guidance describes persistence choices for subgraphs. Choose the one matching the product requirement: independent long-lived specialist memory or fresh processing for each parent call. Do not change a shared production thread ID merely to make the symptom disappear; that can lose legitimate memory or mix customer contexts.
Put a two-pass assertion in release checks
Give the same thread two distinct inputs and assert that the second result reflects the second input. Include pause and resume in the test. If a package fix is released, rerun the scenario and inspect checkpoint migration before upgrading production state.
Adovo’s view
An agent that answers from yesterday’s state is more dangerous than one that fails loudly. Persistence must have a defined owner and lifetime. Every resume path needs a proof that new input was actually processed.
