What's new in LangGraph v1

no

Original Documentation

Documentation Index#

Fetch the complete documentation index at: https://docs.langchain.com/llms.txt Use this file to discover all available pages before exploring further.

LangGraph v1 is a stability-focused release for the agent runtime. It keeps the core graph APIs and execution model unchanged, while refining type safety, docs, and developer ergonomics.

It’s designed to work hand-in-hand with LangChain v1 (whose createAgent is built on LangGraph) so you can start high-level and drop down to granular control when needed.

<span class=“card-start” data-card-raw=“title=“Stable core APIs” icon=“sitemap”"> Graph primitives (state, nodes, edges) and the execution/runtime model are unchanged, making upgrades straightforward.

<span class=“card-start” data-card-raw=“title=“Reliability, by default” icon=“database”"> Durable execution with checkpointing, persistence, streaming, and human-in-the-loop continues to be first-class.

<span class=“card-start” data-card-raw=“title=“Seamless with LangChain v1” icon=“link”"> LangChain’s createAgent runs on LangGraph. Use LangChain for a fast start; drop to LangGraph for custom orchestration.

To upgrade,

npm install @langchain/langgraph @langchain/core
pnpm add @langchain/langgraph @langchain/core
yarn add @langchain/langgraph @langchain/core
bun add @langchain/langgraph @langchain/core

For a complete list of changes, see the migration guide.

Deprecation of createReactAgent#

The LangGraph createReactAgent prebuilt has been deprecated in favor of LangChain’s createAgent. It provides a simpler interface, and offers greater customization potential through the introduction of middleware.

Typed interrupts#

StateGraph now accepts a map of interrupt types in the constructor to more closely constrain the types of interrupts that can be used within a graph.


import * as z from "zod";

const stateSchema = z.object({
  foo: z.string(),
})

const graphConfig = {
  interrupts: {
    // Define a simple interrupt that accepts a reason and returns messages
    simple: interrupt<{ reason: string }, { messages: string[] }>, // [!code highlight]
    // Define a complex interrupt with the same signature
    complex: interrupt<{ reason: string }, { messages: string[] }>, // [!code highlight]
  }
}

const checkpointer = new MemorySaver();

const graph = new StateGraph(stateSchema, graphConfig)
  .addNode("node", async (state, runtime) => {
    // Trigger the simple interrupt with a reason
    const response = runtime.interrupt.simple({ reason: "test" });
    // Return the interrupt response as the new state
    return { foo: response };
  })
  // Compile the graph with the checkpointer
  .compile({ checkpointer });

// Invoke the graph with initial state
const result = await graph.invoke({ foo: "test" });

// Access the interrupt data
if (graph.isInterrupted(result)) {
  console.log(result.__interrupt__.messages);
}

For more information on interrupts, see the Interrupts documentation.

Frontend SDK enhancements#

LangGraph v1 comes with a few enhancements when interacting with a LangGraph application from the frontend.

Event stream encoding#

The low-level toLangGraphEventStream helper has been removed. Streaming responses are now handled natively by the SDK, and you can select the wire format via passing in the encoding format to graph.stream. This makes switching between SSE and normal JSON responses straightforward without changing UI logic.

See the migration guide for more information.

Custom transports in useStream#

The React useStream hook now supports pluggable transports so you can have more control over the network layer without changing UI code.

const stream = useStream({
  transport: new FetchStreamTransport({
    apiUrl: "http://localhost:2024",
  }),
});

Learn how to integrate and customize the hook: Integrate LangGraph into your React application.

Reporting issues#

Please report any issues discovered with 1.0 on GitHub using the 'v1' label.

Additional resources#

Read the announcement

What LangGraph is and when to use it

Build graphs with state, nodes, and edges

High-level agents built on LangGraph

How to migrate to LangGraph v1

Report issues or contribute

See also#


Edit this page on GitHub or file an issue.

Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

Link last verified June 7, 2026. View original ↗
Source: LangChain Docs
Link last verified: 2026-03-04