Short answer: LangChain and LangGraph aren’t rivals. They’re layers of the same stack. LangChain gives you a ready-made agent (create_agent) that you customize with tools and middleware. LangGraph is the lower-level runtime underneath it, where you design the steps, branches, state and checkpoints yourself. Start with LangChain for a standard tool-calling agent. Move to LangGraph when you need custom workflows, long-running jobs or human approval steps. Both are free and open source under the MIT license.
Last checked: October 2026
LangChain vs LangGraph at a glance
| LangChain | LangGraph | |
|---|---|---|
| What it is | High-level framework with a prebuilt agent | Low-level orchestration framework and runtime |
| Main building block | create_agent plus middleware | StateGraph: nodes, edges and shared state |
| Best for | Tool-calling agents, chatbots, RAG apps | Multi-step workflows, multi-agent systems, long-running agents |
| Control | Less code, sensible defaults | Full control over every step and branch |
| Persistence and resume | Through LangGraph underneath | Built in (checkpoints, durable execution) |
| Human in the loop | HumanInTheLoop middleware | Pause, inspect and edit state at any step |
| Learning curve | Easier | Steeper |
| Current version (Python) | 1.4 (September 2026) | 1.2 (September 2026) |
| Languages | Python and JavaScript/TypeScript | Python and JavaScript/TypeScript |
| License and price | MIT, free | MIT, free |
| GitHub stars | About 147,000 | About 38,000 |
Sources: LangChain docs, LangGraph docs and PyPI. See our full LangGraph review.
How LangChain and LangGraph fit together
Since the 1.0 releases in October 2025, the stack has three layers, and each one is built on the one below:
- Deep Agents: a “batteries included” agent with planning, a virtual file system, subagents and automatic summarization.
- LangChain:
create_agent, a simple agent loop you shape with tools and middleware. - LangGraph: the runtime that handles state, persistence, streaming and human-in-the-loop.
So when you build a LangChain agent, you’re already running on LangGraph. You don’t need LangChain to use LangGraph, though. You can build a graph with any model or plain Python functions.
What the code looks like
A LangChain agent is a few lines. You pass a model, tools and optional middleware:
from langchain.agents import create_agent
agent = create_agent(
model="your-model",
tools=[get_weather],
system_prompt="You are a helpful assistant",
)
agent.invoke({"messages": [{"role": "user", "content": "Weather in SF?"}]})
In LangGraph, you draw the flow yourself. Each node is a step, and edges decide what runs next:
from langgraph.graph import StateGraph, MessagesState, START, END
graph = StateGraph(MessagesState)
graph.add_node("call_model", call_model)
graph.add_edge(START, "call_model")
graph.add_edge("call_model", END)
app = graph.compile() # add checkpointer=... to save state and resume
app.invoke({"messages": [{"role": "user", "content": "hi!"}]})
More code, but you decide exactly when to loop, branch, call another agent or stop for a human to approve.
When to use LangChain
- You want a working agent fast.
- Your agent mostly calls tools in a loop and answers.
- You need common add-ons like summarizing long chats, retrying tools, falling back to another model or redacting personal data. LangChain ships these as built-in middleware.
- You’re building a chatbot or a retrieval (RAG) app.
When to use LangGraph
- Your workflow mixes fixed steps with AI decisions, like “extract, then check, then route to a person if confidence is low.”
- You need several agents that hand work to each other.
- Jobs run for minutes or hours and must survive crashes and pick up where they left off.
- A person must approve or edit something midway.
- You need fine control over memory and state.
LangChain’s own docs give the same advice: use create_agent for customizable agents and LangGraph for advanced needs that combine fixed and agentic steps.
Who uses LangGraph
LangChain’s case studies name Klarna, LinkedIn, Uber, Replit, Elastic and AppFolio. Klarna reports 80% faster resolution times with its LangGraph-based assistant.
Costs: the frameworks are free, the extras are not
Both libraries are free. You pay for your model API and, if you want them, LangChain’s paid tools:
| Product | What it does | Price |
|---|---|---|
| LangSmith Developer | Tracing, debugging and evals for 1 user | Free, up to 5,000 traces a month |
| LangSmith Plus | Same, for teams | $39 per seat a month, up to 10,000 traces |
| LangSmith Deployment | Hosting for agents (formerly LangGraph Platform) | Usage-based compute |
| LangSmith Studio | Visual debugger for graphs (formerly LangGraph Studio) | Part of LangSmith |
Prices from LangChain’s pricing page.
LangGraph alternatives
If neither fits, compare CrewAI for role-based agent teams, LlamaIndex for data-heavy apps, OpenAI Agents SDK, Claude Agent SDK, Google ADK, Microsoft Agent Framework and Mastra in our list of the best AI agent frameworks. Building coding agents instead? Read Codex vs Claude Code.
FAQ
What is the difference between LangChain and LangGraph?
LangChain is a high-level framework with a prebuilt agent you customize with tools and middleware. LangGraph is the lower-level runtime underneath, where you define each step, branch and piece of state yourself for complex or long-running workflows.
Should I learn LangChain or LangGraph first?
Start with LangChain. Its create_agent gets a working agent running in a few lines, and it runs on LangGraph, so you can move down to LangGraph when you need more control.
Is LangGraph replacing LangChain?
No. Since version 1.0, LangChain agents are built on top of LangGraph. They are two layers of one stack, maintained by the same company.
Can I use LangGraph without LangChain?
Yes. LangGraph works on its own with any model or plain Python and JavaScript functions.
Are LangChain and LangGraph free?
Yes. Both are open source under the MIT license. LangSmith, the tracing and deployment platform, has a free Developer plan and a Plus plan at $39 per seat a month.
What languages do LangChain and LangGraph support?
Both support Python and JavaScript/TypeScript.
