Multi-agent (Graph) session support missing from AgentCoreMemorySessionManager
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- python
- Domain
- backend-api-design
Research direction
Start in src/bedrock_agentcore/memory/integrations/strands/session_manager.py and compare the existing single-agent methods with the three missing SessionRepository methods. Review repro_fixed.py and verify the proposed stateType and multiAgentId metadata approach against the append-only memory behavior. Done means a Graph can build and its serialized state can round-trip through AgentCoreMemorySessionManager without NotImplementedError.
Written by the indexing model from the issue text.
Description
Summary
AgentCoreMemorySessionManager (at
src/bedrock_agentcore/memory/integrations/strands/session_manager.py)
does not implement the three multi-agent methods on Strands'
SessionRepository interface (create_multi_agent,
read_multi_agent, update_multi_agent). As a result, any Strands
Graph that uses AgentCoreMemorySessionManager fails at graph
build time with NotImplementedError, before any AWS API call is
even attempted.
The single-agent methods (create_agent, read_agent,
update_agent, etc.) are fully implemented. The gap is only in the
multi-agent methods, which were added to SessionRepository
upstream and default to raising.
Impact
Any workflow that wants Graph-level session persistence with
AgentCore Memory is blocked. Examples:
- Classifier-routed multi-agent graphs (the Strands docs' own
Interactive Customer Support
canonical Graph example) - Workflows that use Strands interrupts for human-in-the-loop
steps, which require Graph nodes because the Agents-as-Tools
pattern swallows interrupts
Reproduction
Minimal repro repo: https://github.com/akomandooru/agentcore-graph-repro/
Two scripts, broken and fixed, both using the real
AgentCoreMemorySessionManager from this SDK:
repro_broken.pyconstructsAgentCoreMemorySessionManager,
attaches it to a two-nodeGraphBuilder, and calls.build().
Fails withNotImplementedError: MultiAgent is not implemented for this repository. No AWS credentials needed; the error fires before
any API call.repro_fixed.pysubclassesAgentCoreMemorySessionManagerwith the
three methods and demonstrates graph state serialising and
round-tripping cleanly.
File ".../strands/multiagent/graph.py", line 390, in build
return Graph(nodes=self.nodes.copy(), ...)
File ".../strands/multiagent/graph.py", line 476, in __init__
run_async(lambda: self.hooks.invoke_callbacks_async(MultiAgentInitializedEvent(self)))
File ".../strands/hooks/registry.py", line 306, in invoke_callbacks_async
callback(event)
File ".../strands/session/session_manager.py", line 54, in <lambda>
registry.add_callback(MultiAgentInitializedEvent, lambda event: self.initialize_multi_agent(event.source))
File ".../strands/session/repository_session_manager.py", line 332, in initialize_multi_agent
self.session_repository.create_multi_agent(self.session_id, source, **kwargs)
File ".../strands/session/session_repository.py", line 58, in create_multi_agent
raise NotImplementedError("MultiAgent is not implemented for this repository")
NotImplementedError: MultiAgent is not implemented for this repository
self.session_repository here is AgentCoreMemorySessionManager.
The MRO hops right past it into SessionRepository because the
AgentCore class doesn't override the multi-agent methods.
Proposed fix
Add three methods to AgentCoreMemorySessionManager, mirroring the
single-agent pattern. Full implementation in
repro_fixed.py. ~50 lines, mostly
boilerplate matching the existing single-agent methods.
Additions beyond the method bodies:
- New
stateTypevalue:"MULTI_AGENT"(alongside"SESSION"
and"AGENT"). - New metadata key
multiAgentId(alongsideagentId) so
multiple graphs in a session don't collide.
Payload is json.dumps(multi_agent.serialize_state()).
update_multi_agent delegates to create_multi_agent because
AgentCore Memory is append-only and list_events(max_results=1)
returns the latest by timestamp, same pattern as the existing
update_agent.
Willing to contribute
Happy to open a PR with the fix if the approach (new stateType
value, new multiAgentId metadata key, append-only with max_results=1
reads) is the one you'd take. Flagging as a question first in case
there's a planned design that differs.
Environment
bedrock-agentcore1.9.0 (latest published wheel as of
May 11, 2026; verified that the three multi-agent methods are
absent by inspecting the installed
src/bedrock_agentcore/memory/integrations/strands/session_manager.py,
which also matchesmain)strands-agents1.39.0- Python 3.13
- Dominant language
- Python
- Stars
- 764
- Forks
- 149
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from aws/bedrock-agentcore-sdk-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
aws/bedrock-agentcore-sdk-python#496 · 1 comment ·
-
Pydantic deprecation warning: Support for class-based `config` is deprecated, use ConfigDict instead Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
aws/bedrock-agentcore-sdk-python#320 · 2 comments · 3 reactions ·
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
All issues in aws/bedrock-agentcore-sdk-python
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100