LangGraph v1 migration guide
Migrate a codebase to LangGraph v1.
Migrate this codebase to LangGraph v1 (requires langgraph>=1.0.0, langchain-core>=0.3.0).
Key changes:
- Upgrade packages: run
pip install -U langgraph langchain-core(oruv add langgraph langchain-core). create_react_agent→create_agent: replace allfrom langgraph.prebuilt import create_react_agentwithfrom langchain.agents import create_agent. Update call sites:create_agent(model, tools, system_prompt=...)instead ofcreate_react_agent(model, tools, prompt=...).- Remove deprecated state types: replace
AgentState,AgentStatePydantic,AgentStateWithStructuredResponse, andAgentStateWithStructuredResponsePydantic(all fromlanggraph.prebuilt) withlangchain.agents.AgentState. - Human-in-the-loop: replace
HumanInterruptConfig,ActionRequest, andHumanInterrupt(fromlanggraph.typesorlanggraph.prebuilt) withlangchain.agents.middleware.human_in_the_loop.InterruptOnConfigandHITLRequest. ValidationNode: remove it.create_agentvalidates tool input automatically.MessageGraph: replace withStateGraphusing amessageskey, or usecreate_agentdirectly.- LangGraph v1 is otherwise backwards compatible: custom
StateGraph-based graphs, checkpointers,interrupt(),Command,Send, andMemorySaverall continue to work unchanged.
Search the codebase for all imports from langgraph.prebuilt (create_react_agent, AgentState, AgentStatePydantic, AgentStateWithStructuredResponse, HumanInterruptConfig, ActionRequest, HumanInterrupt, ValidationNode, MessageGraph) and apply the necessary changes. Flag anything that cannot be migrated automatically.
This guide outlines changes in LangGraph v1 and how to migrate from previous versions. For a high-level overview of changes, see the what's new page.
To upgrade:
pip install -U langgraph langchain-coreuv add langgraph langchain-coreSummary of changes
LangGraph v1 is largely backwards compatible with previous versions. The main change is the deprecation of create_react_agent in favor of LangChain's new create_agent function.
Deprecations
The following table lists all items deprecated in LangGraph v1:
| Deprecated item | Alternative |
|---|---|
create_react_agent | langchain.agents.create_agent |
AgentState | langchain.agents.AgentState |
AgentStatePydantic | langchain.agents.AgentState (no more pydantic state) |
AgentStateWithStructuredResponse | langchain.agents.AgentState |
AgentStateWithStructuredResponsePydantic | langchain.agents.AgentState (no more pydantic state) |
HumanInterruptConfig | langchain.agents.middleware.human_in_the_loop.InterruptOnConfig |
ActionRequest | langchain.agents.middleware.human_in_the_loop.InterruptOnConfig |
HumanInterrupt | langchain.agents.middleware.human_in_the_loop.HITLRequest |
ValidationNode | Tools automatically validate input with create_agent |
MessageGraph | StateGraph with a messages key, like create_agent provides |
create_react_agent → create_agent
LangGraph v1 deprecates the create_react_agent prebuilt. Use LangChain's create_agent, which runs on LangGraph and adds a flexible middleware system.
See the LangChain v1 docs for details:
from langchain.agents import create_agent
agent = create_agent( # [!code highlight]
model,
tools,
system_prompt="You are a helpful assistant.",
)from langgraph.prebuilt import create_react_agent
agent = create_react_agent( # [!code highlight]
model,
tools,
prompt="You are a helpful assistant.", # [!code highlight]
)Breaking changes
Dropped Python 3.9 support
All LangChain packages now require Python 3.10 or higher. Python 3.9 reached end of life in October 2025.