Type checker error: langgraph.message:add_messages doesn’t accept list[BaseMessage]
Checked other resources
- [x] This is a bug, not a usage question. For questions, please use the LangChain Forum (https://forum.langchain.com/).
- [x] I added a clear and detailed title that summarizes the issue.
- [x] I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example).
- [x] I included a self-contained, minimal example that demonstrates the issue INCLUDING all the relevant imports. The code run AS IS to reproduce the issue.
Example Code
from langgraph.graph.message import add_messages
from langchain_core.messages import AIMessage, HumanMessage, BaseMessage
initial_messages: list[BaseMessage] = [
AIMessage(content="Hello! How can I assist you?", name="Model"),
HumanMessage(
content="I'm looking for information on marine biology.", name="Lance"
),
]
# New message to add
new_message = AIMessage(
content="Sure, I can help with that. What specifically are you interested in?",
name="Model",
)
# Test
add_messages(initial_messages, new_message) # generate a type hint error
Error Message and Stack Trace (if applicable)
Argument of type "list[BaseMessage]" cannot be assigned to parameter of type "Messages"
Type "list[BaseMessage]" is not assignable to type "Messages"
"list[BaseMessage]" is not assignable to "list[MessageLikeRepresentation]"
Type parameter "_T@list" is invariant, but "BaseMessage" is not the same as "MessageLikeRepresentation"
Consider switching from "list" to "Sequence" which is covariant
"list[BaseMessage]" is not assignable to "BaseMessage"
"list[BaseMessage]" is not assignable to "list[str]"
Type parameter "_T@list" is invariant, but "BaseMessage" is not the same as "str"
Consider switching from "list" to "Sequence" which is covariant
...PylancereportArgumentType
Description
Static type checkers flag list[BaseMessage] as incompatible with list[MessageLikeRepresentation] due to list invariance.
Proposed fix Change
Messages = Union[list[MessageLikeRepresentation], MessageLikeRepresentation]
to
from collections.abc import Sequence
Messages = Union[Sequence[MessageLikeRepresentation], MessageLikeRepresentation]
relevant code here
System Info
uv run python -m langchain_core.sys_info
System Information
OS: Linux OS Version: #41~22.04.1-Ubuntu SMP Thu Sep 11 10:54:48 UTC 2025 Python Version: 3.11.13 (main, Sep 18 2025, 19:46:39) [Clang 20.1.4 ]
Package Information
langchain_core: 0.3.76 langchain: 0.3.27 langchain_community: 0.3.30 langsmith: 0.4.31 langchain_openai: 0.3.33 langchain_text_splitters: 0.3.11 langgraph_api: 0.4.28 langgraph_cli: 0.4.2 langgraph_license: Installed. No version info available. langgraph_runtime: Installed. No version info available. langgraph_runtime_inmem: 0.14.1 langgraph_sdk: 0.2.9
Optional packages not installed
langserve
Other Dependencies
aiohttp<4.0.0,>=3.8.3: Installed. No version info available. async-timeout<5.0.0,>=4.0.0;: Installed. No version info available. blockbuster<2.0.0,>=1.5.24: Installed. No version info available. click>=8.1.7: Installed. No version info available. cloudpickle>=3.0.0: Installed. No version info available. cryptography<45.0,>=42.0.0: Installed. No version info available. dataclasses-json<0.7.0,>=0.6.7: Installed. No version info available. httpx-sse<1.0.0,>=0.4.0: Installed. No version info available. httpx<1,>=0.23.0: Installed. No version info available. httpx>=0.25.0: Installed. No version info available. httpx>=0.25.2: Installed. No version info available. jsonpatch<2.0,>=1.33: Installed. No version info available. jsonschema-rs<0.30,>=0.20.0: Installed. No version info available. langchain-anthropic;: Installed. No version info available. langchain-aws;: Installed. No version info available. langchain-azure-ai;: Installed. No version info available. langchain-cohere;: Installed. No version info available. langchain-community;: Installed. No version info available. langchain-core<1.0.0,>=0.3.72: Installed. No version info available. langchain-core<1.0.0,>=0.3.76: Installed. No version info available. langchain-core<2.0.0,>=0.3.75: Installed. No version info available. langchain-core>=0.3.64: Installed. No version info available. langchain-deepseek;: Installed. No version info available. langchain-fireworks;: Installed. No version info available. langchain-google-genai;: Installed. No version info available. langchain-google-vertexai;: Installed. No version info available. langchain-groq;: Installed. No version info available. langchain-huggingface;: Installed. No version info available. langchain-mistralai;: Installed. No version info available. langchain-ollama;: Installed. No version info available. langchain-openai;: Installed. No version info available. langchain-perplexity;: Installed. No version info available. langchain-text-splitters<1.0.0,>=0.3.9: Installed. No version info available. langchain-together;: Installed. No version info available. langchain-xai;: Installed. No version info available. langchain<2.0.0,>=0.3.27: Installed. No version info available. langgraph-api<0.5.0,>=0.3;: Installed. No version info available. langgraph-checkpoint>=2.0.23: Installed. No version info available. langgraph-checkpoint>=2.0.25: Installed. No version info available. langgraph-runtime-inmem<0.15.0,>=0.14.0: Installed. No version info available. langgraph-runtime-inmem>=0.7;: Installed. No version info available. langgraph-sdk>=0.1.0;: Installed. No version info available. langgraph-sdk>=0.2.0: Installed. No version info available. langgraph>=0.2: Installed. No version info available. langgraph>=0.4.0: Installed. No version info available. langsmith-pyo3>=0.1.0rc2;: Installed. No version info available. langsmith<1.0.0,>=0.1.125: Installed. No version info available. langsmith>=0.1.17: Installed. No version info available. langsmith>=0.3.45: Installed. No version info available. numpy>=1.26.2;: Installed. No version info available. numpy>=2.1.0;: Installed. No version info available. openai-agents>=0.0.3;: Installed. No version info available. openai<2.0.0,>=1.104.2: Installed. No version info available. opentelemetry-api>=1.30.0;: Installed. No version info available. opentelemetry-exporter-otlp-proto-http>=1.30.0;: Installed. No version info available. opentelemetry-sdk>=1.30.0;: Installed. No version info available. orjson>=3.10.1: Installed. No version info available. orjson>=3.9.14;: Installed. No version info available. orjson>=3.9.7: Installed. No version info available. packaging>=23.2: Installed. No version info available. pydantic-settings<3.0.0,>=2.10.1: Installed. No version info available. pydantic<3,>=1: Installed. No version info available. pydantic<3.0.0,>=2.7.4: Installed. No version info available. pydantic>=2.7.4: Installed. No version info available. pyjwt>=2.9.0: Installed. No version info available. pytest>=7.0.0;: Installed. No version info available. python-dotenv>=0.8.0;: Installed. No version info available. PyYAML<7.0.0,>=5.3.0: Installed. No version info available. PyYAML>=5.3: Installed. No version info available. requests-toolbelt>=1.0.0: Installed. No version info available. requests<3,>=2: Installed. No version info available. requests<3.0.0,>=2.32.5: Installed. No version info available. requests>=2.0.0: Installed. No version info available. rich>=13.9.4;: Installed. No version info available. SQLAlchemy<3,>=1.4: Installed. No version info available. SQLAlchemy<3.0.0,>=1.4.0: Installed. No version info available. sse-starlette<2.2.0,>=2.1.0: Installed. No version info available. sse-starlette>=2: Installed. No version info available. starlette>=0.37: Installed. No version info available. starlette>=0.38.6: Installed. No version info available. structlog<26,>=24.1.0: Installed. No version info available. structlog>23: Installed. No version info available. tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available. tenacity>=8.0.0: Installed. No version info available. tiktoken<1,>=0.7: Installed. No version info available. truststore>=0.1: Installed. No version info available. typing-extensions>=4.7: Installed. No version info available. uvicorn>=0.26.0: Installed. No version info available. vcrpy>=7.0.0;: Installed. No version info available. watchfiles>=0.13: Installed. No version info available. zstandard>=0.23.0: Installed. No version info available.