LangGraph
LangChain's open-source framework for building long-running, stateful agents as graphs, with persistence, interrupts for human review, and memory.
LangGraph is an open-source orchestration framework and runtime from LangChain for building long-running, stateful agents, in which the agent’s logic is a graph of nodes and edges over shared state.
How it works. You define a state object, nodes that read and update it (plain functions or model calls), and edges that route between nodes, either fixed or conditional. Deterministic code and model-driven decisions can sit in the same graph. The documentation lists durable execution that survives interruptions, human-in-the-loop, short-term and long-term memory, and debugging through LangSmith as its main capabilities. LangChain’s higher-level agent abstractions are built on LangGraph, and LangGraph can also be used on its own. It is MIT-licensed, with a Python library and a JavaScript version, LangGraph.js. The latest Python release on GitHub at the time of writing is 1.2.12, from September 21, 2026.
Interrupts. Calling interrupt() inside a node pauses the graph and saves its state through a checkpointer, under a thread_id. The caller receives the interrupt payload and resumes the graph with Command(resume=...). On resume, the interrupted node runs again from its beginning, so any code before the interrupt must be safe to repeat.
Memory. Short-term memory is the thread’s state, persisted by the checkpointer. Long-term memory lives in stores, organized by namespaces, that any thread can read.
A2A. LangSmith’s Agent Server exposes each assistant at /a2a/{assistant_id}. Its documentation says the endpoint implements the A2A v1.0 JSON-RPC binding with SendMessage, SendStreamingMessage, GetTask and CancelTask, still accepts the v0.3 method names for those, and supports ListTasks and GetExtendedAgentCard under v1.0 names only. The Agent Card is served at /.well-known/agent-card.json?assistant_id=.... The graph’s state must include a messages key, and the A2A contextId, which must be a UUID, maps to a LangGraph thread.
Neighbouring terms. An agent framework is the general category. Checkpointed interrupts are LangGraph’s form of human-in-the-loop.
Sources
- LangChain documentation: LangGraph overview (accessed )
- LangChain documentation: Interrupts (LangGraph) (accessed )
- LangChain documentation: Memory overview (LangGraph) (accessed )
- LangSmith documentation: A2A endpoint in Agent Server (accessed )
- LangGraph releases on GitHub (accessed )
- LangGraph.js repository on GitHub (accessed )