{"record":{"id":"21845681f647e7b0","repo":"langchain-ai/langgraph","slug":"messagegraph-is-deprecated-in-langgraph-v1-0-0-to","errorCode":null,"errorMessage":"MessageGraph is deprecated in LangGraph v1.0.0, to be removed in v2.0.0. Please use StateGraph with a `messages` key instead.","messagePattern":"MessageGraph is deprecated in LangGraph v1\\.0\\.0, to be removed in v2\\.0\\.0\\. Please use StateGraph with a `messages` key instead\\.","errorType":"console","errorClass":"LangGraphDeprecatedSinceV10","httpStatus":null,"severity":"error","filePath":"libs/langgraph/langgraph/graph/message.py","lineNumber":364,"sourceCode":"        ...             tool_calls=[{\"name\": \"search\", \"id\": \"123\", \"args\": {\"query\": \"X\"}}],\n        ...         )\n        ...     ],\n        ... )\n        >>> builder.add_node(\n        ...     \"search\", lambda state: [ToolMessage(content=\"Searching...\", tool_call_id=\"123\")]\n        ... )\n        >>> builder.set_entry_point(\"chatbot\")\n        >>> builder.add_edge(\"chatbot\", \"search\")\n        >>> builder.set_finish_point(\"search\")\n        >>> builder.compile().invoke([HumanMessage(content=\"Hi there. Can you search for X?\")])\n        {'messages': [HumanMessage(content=\"Hi there. Can you search for X?\", id='b8b7d8f4-7f4d-4f4d-9c1d-f8b8d8f4d9c1'),\n                     AIMessage(content=\"Hello!\", id='f4d9c1d8-8d8f-4d9c-b8b7-d8f4f4d9c1d8'),\n                     ToolMessage(content=\"Searching...\", id='d8f4f4d9-c1d8-4f4d-b8b7-d8f4f4d9c1d8', tool_call_id=\"123\")]}\n        ```\n    \"\"\"\n\n    def __init__(self) -> None:\n        warnings.warn(\n            \"MessageGraph is deprecated in LangGraph v1.0.0, to be removed in v2.0.0. Please use StateGraph with a `messages` key instead.\",\n            category=LangGraphDeprecatedSinceV10,\n            stacklevel=2,\n        )\n        super().__init__(Annotated[list[AnyMessage], add_messages])  # type: ignore[arg-type]\n\n\nclass MessagesState(TypedDict):\n    messages: Annotated[list[AnyMessage], add_messages]\n\n\ndef _format_messages(messages: Sequence[BaseMessage]) -> list[BaseMessage]:\n    try:\n        from langchain_core.messages import convert_to_openai_messages\n    except ImportError:\n        msg = (\n            \"Must have langchain-core>=0.3.11 installed to use automatic message \"\n            \"formatting (format='langchain-openai'). Please update your langchain-core \"","sourceCodeStart":346,"sourceCodeEnd":382,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/langgraph/langgraph/graph/message.py#L346-L382","documentation":"Error \"MessageGraph is deprecated in LangGraph v1.0.0, to be removed in v2.0.0. Please use StateGraph with a `messages` key instead.\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/langgraph/langgraph/graph/message.py:364 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"}