LangGraph InvalidUpdateError: Must write to at least one of [...] (state channel name mismatch)

Running a LangGraph plan-and-execute style graph raised "langgraph.errors.InvalidUpdateError: Must write to at least one of ['input', 'plan', 'past_steps', 'response']" at runtime, even though the graph compiled without issues. The node's update dict did not match any channel in the state schema. One reporter's node returned {"message": [...]} (singular) while the state channel was named "messages" (plural), so LangGraph saw zero valid channel writes and threw.

Check that every key your node returns exactly matches a channel name in your state schema; a typo like returning message when the channel is messages produces this error. Also make sure graph.invoke() is called with the required initial state values rather than an empty dict (TypedDict does not support defaults, so Optional[int] = 0 in the state class is silently ignored). Both fixes were confirmed in the thread. Source: https://github.com/langchain-ai/langgraph/issues/740