Skip to content

INVALID_GRAPH_NODE_RETURN_VALUE

A LangGraph StateGraph received a non-object return type from a node. Here's an example:

const StateAnnotation = Annotation.Root({
  someKey: Annotation<string>,
});

const graph = new StateGraph(StateAnnotation)
  .addNode("badNode", async (state) => {
    // Should return an empty object, one with a value for "someKey", or undefined
    return ["whoops!"];
  })
  ...
  .compile();

Invoking the above graph will result in an error like this:

await graph.invoke({ someKey: "someval" });
InvalidUpdateError: Expected node "badNode" to return an object, received number

Troubleshooting URL: https://js.langchain.com/troubleshooting/errors/INVALID_GRAPH_NODE_RETURN_VALUE

Nodes in your graph must return an object containing one or more keys defined in your state.

Troubleshooting

The following may help resolve this error:

  • If you have complex logic in your node, make sure all code paths return an appropriate object for your defined state.