{"record":{"id":"c6d2a04574d29a14","repo":"langchain-ai/langgraph","slug":"message-id-is-required","errorCode":null,"errorMessage":"Message ID is required","messagePattern":"Message ID is required","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/langgraph/langgraph/graph/message.py","lineNumber":414,"sourceCode":") -> AnyMessage:\n    \"\"\"Write a message manually to the `messages` / `messages-tuple` stream mode.\n\n    Will automatically write to the channel specified in the `state_key` unless `state_key` is `None`.\n    \"\"\"\n\n    from langchain_core.callbacks.base import (\n        BaseCallbackHandler,\n        BaseCallbackManager,\n    )\n\n    from langgraph.config import get_config\n    from langgraph.pregel._messages import StreamMessagesHandler\n\n    config = get_config()\n    message = next(x for x in convert_to_messages([message]))\n\n    if message.id is None:\n        raise ValueError(\"Message ID is required\")\n\n    if isinstance(config[\"callbacks\"], BaseCallbackManager):\n        manager = config[\"callbacks\"]\n        handlers = manager.handlers\n    elif isinstance(config[\"callbacks\"], list) and all(\n        isinstance(x, BaseCallbackHandler) for x in config[\"callbacks\"]\n    ):\n        handlers = config[\"callbacks\"]\n\n    if stream_handler := next(\n        (x for x in handlers if isinstance(x, StreamMessagesHandler)), None\n    ):\n        metadata = config[\"metadata\"]\n        message_meta = (\n            tuple(cast(str, metadata[\"langgraph_checkpoint_ns\"]).split(NS_SEP)),\n            metadata,\n        )\n        stream_handler._emit(message_meta, message, dedupe=False)","sourceCodeStart":396,"sourceCodeEnd":432,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/langgraph/langgraph/graph/message.py#L396-L432","documentation":"Error \"Message ID is required\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/langgraph/langgraph/graph/message.py:414 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"38031739e551638e373fb553453256c23feeb41f","analyzedAt":"2026-08-26T18:02:49.312Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}