v0.6 MongoDB Checkpointer does NOT persist custom properties from configurable anymore #919

Closed
opened 2026-02-20 17:42:22 -05:00 by yindo · 2 comments
Owner

Originally created by @Hiraveb on GitHub (Aug 16, 2025).

Checked other resources

  • This is a bug, not a usage question. For questions, please use the LangChain Forum (https://forum.langchain.com/).
  • I added a clear and detailed title that summarizes the issue.
  • I read what a minimal reproducible example is (https://stackoverflow.com/help/minimal-reproducible-example).
  • 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

        checkpointer = AsyncMongoDBSaver(
            client=async_mongodb_client, db_name=settings.MEMORY_DB_NAME
        )


        # Create the state graph
        state_graph: StateGraph = state_graph()

        # Compile the state graph with the provided checkpointing mechanism
        compiled_state_graph = state_graph.compile(checkpointer=checkpointer)

        # Define configuration with thread ID and assistant ID
        config: RunnableConfig = {
            "configurable": {
                "thread_id": thread_id,
                "assistant_id": assistant_id,
                "user_id": user_id,
            }
        }

        messages = [human_message]

        # Invoke the compiled state graph with user input
        message_data = await compiled_state_graph.ainvoke(
            input={"messages": messages},
            config=config,
            stream_mode="values",
            debug=False,
        )

Error Message and Stack Trace (if applicable)


Description

since upgrade to LangGraph 6.*, AsyncMongoDBSaver no longer persist custom props coming from configurable in meta

System Info

System Information

OS: Darwin
OS Version: Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:29 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6030
Python Version: 3.12.9 | packaged by Anaconda, Inc. | (main, Feb 6 2025, 12:55:12) [Clang 14.0.6 ]

Package Information

langchain_core: 0.3.51
langchain: 0.3.23
langsmith: 0.3.30
langchain_text_splitters: 0.3.8

Optional packages not installed

langserve

Other Dependencies

async-timeout<5.0.0,>=4.0.0;: Installed. No version info available.
httpx: 0.28.1
jsonpatch<2.0,>=1.33: 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.51: 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.8: Installed. No version info available.
langchain-together;: Installed. No version info available.
langchain-xai;: Installed. No version info available.
langsmith-pyo3: Installed. No version info available.
langsmith<0.4,>=0.1.125: Installed. No version info available.
langsmith<0.4,>=0.1.17: Installed. No version info available.
openai-agents: Installed. No version info available.
opentelemetry-api: 1.32.0
opentelemetry-exporter-otlp-proto-http: Installed. No version info available.
opentelemetry-sdk: 1.32.0
orjson: 3.10.16
packaging: 24.2
packaging<25,>=23.2: Installed. No version info available.
pydantic: 2.11.4
pydantic<3.0.0,>=2.5.2;: Installed. No version info available.
pydantic<3.0.0,>=2.7.4: Installed. No version info available.
pydantic<3.0.0,>=2.7.4;: Installed. No version info available.
pytest: 8.3.5
PyYAML>=5.3: Installed. No version info available.
requests: 2.32.3
requests-toolbelt: 1.0.0
requests<3,>=2: Installed. No version info available.
rich: 13.9.4
SQLAlchemy<3,>=1.4: Installed. No version info available.
tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available.
typing-extensions>=4.7: Installed. No version info available.
zstandard: 0.23.0

Originally created by @Hiraveb on GitHub (Aug 16, 2025). ### 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 ```python checkpointer = AsyncMongoDBSaver( client=async_mongodb_client, db_name=settings.MEMORY_DB_NAME ) # Create the state graph state_graph: StateGraph = state_graph() # Compile the state graph with the provided checkpointing mechanism compiled_state_graph = state_graph.compile(checkpointer=checkpointer) # Define configuration with thread ID and assistant ID config: RunnableConfig = { "configurable": { "thread_id": thread_id, "assistant_id": assistant_id, "user_id": user_id, } } messages = [human_message] # Invoke the compiled state graph with user input message_data = await compiled_state_graph.ainvoke( input={"messages": messages}, config=config, stream_mode="values", debug=False, ) ``` ### Error Message and Stack Trace (if applicable) ```shell ``` ### Description since upgrade to LangGraph 6.*, AsyncMongoDBSaver no longer persist custom props coming from `configurable` in meta ### System Info System Information ------------------ > OS: Darwin > OS Version: Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:29 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6030 > Python Version: 3.12.9 | packaged by Anaconda, Inc. | (main, Feb 6 2025, 12:55:12) [Clang 14.0.6 ] Package Information ------------------- > langchain_core: 0.3.51 > langchain: 0.3.23 > langsmith: 0.3.30 > langchain_text_splitters: 0.3.8 Optional packages not installed ------------------------------- > langserve Other Dependencies ------------------ > async-timeout<5.0.0,>=4.0.0;: Installed. No version info available. > httpx: 0.28.1 > jsonpatch<2.0,>=1.33: 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.51: 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.8: Installed. No version info available. > langchain-together;: Installed. No version info available. > langchain-xai;: Installed. No version info available. > langsmith-pyo3: Installed. No version info available. > langsmith<0.4,>=0.1.125: Installed. No version info available. > langsmith<0.4,>=0.1.17: Installed. No version info available. > openai-agents: Installed. No version info available. > opentelemetry-api: 1.32.0 > opentelemetry-exporter-otlp-proto-http: Installed. No version info available. > opentelemetry-sdk: 1.32.0 > orjson: 3.10.16 > packaging: 24.2 > packaging<25,>=23.2: Installed. No version info available. > pydantic: 2.11.4 > pydantic<3.0.0,>=2.5.2;: Installed. No version info available. > pydantic<3.0.0,>=2.7.4: Installed. No version info available. > pydantic<3.0.0,>=2.7.4;: Installed. No version info available. > pytest: 8.3.5 > PyYAML>=5.3: Installed. No version info available. > requests: 2.32.3 > requests-toolbelt: 1.0.0 > requests<3,>=2: Installed. No version info available. > rich: 13.9.4 > SQLAlchemy<3,>=1.4: Installed. No version info available. > tenacity!=8.4.0,<10.0.0,>=8.1.0: Installed. No version info available. > typing-extensions>=4.7: Installed. No version info available. > zstandard: 0.23.0
yindo added the bugpending labels 2026-02-20 17:42:23 -05:00
yindo closed this issue 2026-02-20 17:42:23 -05:00
Author
Owner

@Hiraveb commented on GitHub (Aug 16, 2025):

with langgraph v0.6, is this still valid, so metadata attributes can be persisted in the database?

        # Define configuration with thread ID and assistant ID
        config: RunnableConfig = {
            "configurable": {
                "thread_id": thread_id,
                "assistant_id": assistant_id,
                "user_id": user_id,
            }
        }

        messages = [human_message]

        # Invoke the compiled state graph with user input
        message_data = await compiled_state_graph.ainvoke(
            input={"messages": messages},
            config=config,
            stream_mode="values",
            debug=False,
        )
@Hiraveb commented on GitHub (Aug 16, 2025): with langgraph v0.6, is this still valid, so metadata attributes can be persisted in the database? ``` # Define configuration with thread ID and assistant ID config: RunnableConfig = { "configurable": { "thread_id": thread_id, "assistant_id": assistant_id, "user_id": user_id, } } messages = [human_message] # Invoke the compiled state graph with user input message_data = await compiled_state_graph.ainvoke( input={"messages": messages}, config=config, stream_mode="values", debug=False, ) ```
Author
Owner

@sydney-runkle commented on GitHub (Sep 8, 2025):

I think this is actually a fix - custom properties in configurable shouldn't be persisted, they're simply run scoped information!

@sydney-runkle commented on GitHub (Sep 8, 2025): I think this is actually a fix - custom properties in configurable **shouldn't** be persisted, they're simply run scoped information!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langchain-ai/langgraph#919