Store Namespaces

April 10, 2026 · View on GitHub

Complete inventory of LangGraph Store namespaces used by langgraph-kit.

All persistent data (beyond conversation messages in the checkpointer) is stored in the LangGraph Store under hierarchical tuple-based namespaces.

Namespace Map

Memory

NamespaceKeyValueModule
("memory", scope, type)record IDMemoryRecord.to_store_value()core/memory/persistent.py
("memory", "agent", agent_name, type)record IDMemoryRecord.to_store_value()core/memory/agent_memory.py

Examples:

("memory", "user", "feedback")  → user feedback records
("memory", "project", "reference")  → project reference records
("memory", "agent", "researcher", "user")  → researcher's user knowledge

Session

NamespaceKeyValueModule
("session", thread_id)"notebook"Notebook content stringcore/memory/session.py

Orchestration

NamespaceKeyValueModule
("async_tasks", parent_thread_id, task_id)task_idAsyncTask.model_dump()core/orchestration/async_tasks.py
("queue", thread_id)item IDQueuedItem.model_dump()core/orchestration/queue.py
("thread_busy",)thread_id{"busy": True, "timestamp": ...}core/orchestration/queue.py

Tool Results

NamespaceKeyValueModule
("tool_results",)result ID{"content": ..., "timestamp": ...}core/context_management/result_persistence.py

Agent Backends (deepagents)

NamespaceKeyValueModule
(agent_name, "memories")item IDVariescore/graph_builder/backend.py
(agent_name, "notes")item IDVariescore/graph_builder/backend.py

Pruning

The pruning.py module cleans up stale data from these namespaces:

NamespacePruning Rule
("tool_results",)Items older than max_age_seconds (default 7 days)
("thread_busy",)Locks older than 600 seconds (auto-expire)
from langgraph_kit.pruning import prune_store

result = await prune_store(store, max_age_seconds=86400 * 7)
print(f"Deleted {result.tool_results_deleted} old tool results")
print(f"Cleared {result.stale_locks_cleared} stale locks")