A checkpointer saves snapshots of a workflow’s execution state so it can be restored later. Unlike saving messages alone, it can preserve the broader graph state, including tool information and execution metadata. section 14.1.3 section 14.1.6
Saving state at each graph super-step can support:
- Resuming after a failure without rerunning the entire workflow. section 14.1.3
- Pausing a human-in-the-loop workflow for input or approval, then continuing from the saved state. section 14.1.3
- Maintaining conversational context across turns in a chat session. section 14.1.3
In LangGraph, associate turns with a thread_id passed through RunnableConfig, then compile the graph with a checkpointer such as InMemorySaver. The same thread ID lets later calls recover that session’s state. InMemorySaver suits development and testing; production guidance favors persistent storage, with PostgreSQL recommended for scalability, reliability, and concurrency. section 14.1.4 section 14.1.4
Restore a travel conversation
After asking about the weather in Penzance, inspect the state history and retrieve a past checkpoint using its thread_id and checkpoint_id. Resume from that checkpoint, then ask about “the same town”; the assistant can resolve the reference from the restored conversation context. section 14.1.6 section 14.1.5
Figure 14.1 Sequence diagram of the travel assistant with checkpoints saved after each node execution, allowing state restoration across turns using a shared thread_id
See how checkpoints saved after node executions allow a shared thread ID to restore state across turns. section 14.1.3

