StateClaudeMemoryMiddleware Class — langchain Architecture
Architecture documentation for the StateClaudeMemoryMiddleware class in anthropic_tools.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 7c57ba61_4a2b_4df3_d3e4_a9b47f5e9740["StateClaudeMemoryMiddleware"] 2e6eda6f_54cd_9575_7c70_af4582d5a816["_StateClaudeFileToolMiddleware"] 7c57ba61_4a2b_4df3_d3e4_a9b47f5e9740 -->|extends| 2e6eda6f_54cd_9575_7c70_af4582d5a816 5f8ab4b6_f98f_f653_1208_76332f94ecba["anthropic_tools.py"] 7c57ba61_4a2b_4df3_d3e4_a9b47f5e9740 -->|defined in| 5f8ab4b6_f98f_f653_1208_76332f94ecba 4aad3620_5924_9e93_f2ca_05d1f3098ae9["__init__()"] 7c57ba61_4a2b_4df3_d3e4_a9b47f5e9740 -->|method| 4aad3620_5924_9e93_f2ca_05d1f3098ae9
Relationship Graph
Source Code
libs/partners/anthropic/langchain_anthropic/middleware/anthropic_tools.py lines 611–654
class StateClaudeMemoryMiddleware(_StateClaudeFileToolMiddleware):
"""State-based memory tool middleware.
Provides Anthropic's memory tool using LangGraph state for storage.
Files persist for the conversation thread.
Enforces `/memories` prefix and injects Anthropic's recommended system prompt.
Example:
```python
from langchain.agents import create_agent
from langchain.agents.middleware import StateMemoryToolMiddleware
agent = create_agent(
model=model,
tools=[],
middleware=[StateMemoryToolMiddleware()],
)
```
"""
def __init__(
self,
*,
allowed_path_prefixes: Sequence[str] | None = None,
system_prompt: str = MEMORY_SYSTEM_PROMPT,
) -> None:
"""Initialize the memory middleware.
Args:
allowed_path_prefixes: Optional list of allowed path prefixes.
Defaults to `['/memories']`.
system_prompt: System prompt to inject.
Defaults to Anthropic's recommended memory prompt.
"""
super().__init__(
tool_type=MEMORY_TOOL_TYPE,
tool_name=MEMORY_TOOL_NAME,
state_key="memory_files",
allowed_path_prefixes=allowed_path_prefixes or ["/memories"],
system_prompt=system_prompt,
)
Extends
Source
Frequently Asked Questions
What is the StateClaudeMemoryMiddleware class?
StateClaudeMemoryMiddleware is a class in the langchain codebase, defined in libs/partners/anthropic/langchain_anthropic/middleware/anthropic_tools.py.
Where is StateClaudeMemoryMiddleware defined?
StateClaudeMemoryMiddleware is defined in libs/partners/anthropic/langchain_anthropic/middleware/anthropic_tools.py at line 611.
What does StateClaudeMemoryMiddleware extend?
StateClaudeMemoryMiddleware extends _StateClaudeFileToolMiddleware.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free