langchain-ai/langgraph · error · InvalidUpdateError
INVALID_CONCURRENT_GRAPH_UPDATE
INVALID_CONCURRENT_GRAPH_UPDATE
Error message
At key '{self.key}': Can receive only one value per step. Use an Annotated key to handle multiple values. What it means
Error "At key '{self.key}': Can receive only one value per step. Use an Annotated key to handle multiple values." thrown in langchain-ai/langgraph.
Source
Thrown at libs/langgraph/langgraph/channels/last_value.py:64
empty = self.__class__(self.typ, self.key)
empty.value = self.value
return empty
def from_checkpoint(self, checkpoint: Value) -> Self:
empty = self.__class__(self.typ, self.key)
if checkpoint is not MISSING:
empty.value = checkpoint
return empty
def update(self, values: Sequence[Value]) -> bool:
if len(values) == 0:
return False
if len(values) != 1:
msg = create_error_message(
message=f"At key '{self.key}': Can receive only one value per step. Use an Annotated key to handle multiple values.",
error_code=ErrorCode.INVALID_CONCURRENT_GRAPH_UPDATE,
)
raise InvalidUpdateError(msg)
self.value = values[-1]
return True
def get(self) -> Value:
if self.value is MISSING:
raise EmptyChannelError()
return self.value
def is_available(self) -> bool:
return self.value is not MISSING
def checkpoint(self) -> Value:
return self.value
class LastValueAfterFinish(
Generic[Value], BaseChannel[Value, Value, tuple[Value, bool]]View on GitHub (pinned to 38031739e5)
When it happens
Trigger: Thrown at libs/langgraph/langgraph/channels/last_value.py:64 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of langchain-ai/langgraph@38031739e5 (2026-08-26).
Data as JSON: /api/errors/c4fb38658a58dce4.
Report an issue: GitHub.