LangGraph is a framework for building stateful agent workflows as graphs: you define nodes (steps — a model call, a tool, a check), edges (what runs next, including branches and cycles), and a state object every node reads and writes. Where most agent frameworks hide the loop behind abstractions, LangGraph makes you draw it — and that explicitness, which feels like overhead on day one, is precisely what production teams come for by month three. It emerged from the LangChain ecosystem as the team's answer to a hard lesson of the first agent wave: consequential agents need control flow you can see, persist, and audit.
Three capabilities define its appeal. Durable state: runs checkpoint as they go, so a workflow can survive a restart, resume mid-task, or be replayed for inspection — table stakes for long-running work, rare as a built-in. Human-in-the-loop as structure: a graph can pause at an interrupt point and wait for approval, making the consequential-action gate a node in the workflow rather than bolted-on plumbing. The graph as audit record: the path a run took through nodes *is* the explanation of what happened, which is the shape auditors and incident reviews actually want. Multi-agent designs — supervisors, pipelines, peer review — express naturally as subgraphs.
Where it sits in the landscape
Against the broader framework field, LangGraph trades onboarding speed for control: CrewAI's role-playing crews prototype faster, provider SDKs are thinner, and the CrewAI comparison covers when each trade makes sense. The common journey runs prototype-in-the-metaphor, productionise-in-the-graph. LangGraph also composes with the Model Context Protocol: MCP standardises how tools are exposed, LangGraph orchestrates when they are called — connective tissue and control flow, different layers of the same system.
The readiness angle
LangGraph is notable from an operational standpoint because its primitives line up with governance needs unusually well: checkpoints support reconstruction, interrupts implement approval gates, explicit state makes tracing tractable. But primitives are not policies. The graph pauses where you tell it to — deciding *which* actions need approval is governance work; checkpoints record what you store — deciding what counts as an audit trail and redacting what lands in it is yours; and the agent's credentials, identity, and evaluation record live entirely outside the framework. LangGraph lowers the engineering cost of doing the right thing; it does not notice if you skip it.