## Problem

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.

## Verified fix

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