Your LangGraph StateGraph reached the maximum number of steps before hitting a stop condition. This is often due to an infinite loop caused by code like the example below:
import { StateGraph } from "@langchain/langgraph";
import { z } from "zod";

const State = z.object({
  someKey: z.string(),
});

const builder = new StateGraph(State)
  .addNode("a", ...)
  .addNode("b", ...)
  .addEdge("a", "b")
  .addEdge("b", "a")
  ...

const graph = builder.compile();
However, complex graphs may hit the default limit naturally.

Troubleshooting

  • If you are not expecting your graph to go through many iterations, you likely have a cycle. Check your logic for infinite loops.
  • If you have a complex graph, you can pass in a higher recursionLimit value into your config object when invoking your graph like this:
await graph.invoke({...}, { recursionLimit: 100 });