Serde
langgraph_checkpoint also defines protocol for
serialization/deserialization (serde) and provides an default
implementation
(langgraph.checkpoint.serde.jsonplus.JsonPlusSerializer)
that handles a wide variety of types, including LangChain and LangGraph
primitives, datetimes, enums and more.
[!IMPORTANT] Checkpoint deserialization security: By default the serializer allows any Python type found in checkpoint data. New applications should set the environment variable
LANGGRAPH_STRICT_MSGPACK=trueor pass an explicitallowed_msgpack_moduleslist toJsonPlusSerializerto restrict deserialization to known-safe types.
Pending writes
When a graph node fails mid-execution at a given superstep, LangGraph stores pending checkpoint writes from any other nodes that completed successfully at that superstep, so that whenever we resume graph execution from that superstep we don’t re-run the successful nodes.