Claude Managed Agents — Can It Replace Your Existing Agent System?#
2026-04-12

Introduction#
On April 8, 2026, Anthropic launched Claude Managed Agents in public beta. It is a hosted agent execution environment that handles agent loops, sandboxing, and tool execution infrastructure — you declare the agent, and Anthropic handles the orchestration.
I currently operate two agent systems. One is a local agent environment built on Claude Code + harness (hereafter “local agents”), where operators interact with AI in real time to handle daily tasks. The other is a multi-agent system built on Strands + AWS Bedrock AgentCore (hereafter “system agents”), which autonomously runs monitoring, diagnosis, and reporting without human intervention.
With Managed Agents on the scene, a natural question arises: Can it replace the existing system agents? And is that the right call?
This article covers the core concepts of Managed Agents, compares them against existing systems, and addresses the architectural challenges you will encounter in practice.
What Are Managed Agents?#
Core Concepts#
Managed Agents is built around four concepts:
| Concept | Description |
|---|---|
| Agent | Model + system prompt + tools. Define once, reuse across sessions |
| Environment | Cloud container configuration (packages, network, secrets) |
| Session | A running instance created from Agent + Environment |
| Events | Bidirectional SSE messages (user ↔ agent) |
Think of an Agent as a Docker image and a Session as a Docker container. Calling agents.create() registers the agent definition — but it doesn’t start running until you call sessions.create().
Brain / Hands / Session Separation#
The core design philosophy, detailed in Anthropic’s engineering blog, is the separation of “Brain” from “Hands”:
- Brain: Claude model + harness (reasoning, decision-making)
- Hands: Sandbox / tools (Bash, file operations, web search — actual task execution)
- Session: Event log (durably stored outside the context window)
These three components can fail or be replaced independently. If the container dies, the session state survives. If the harness crashes, a new one can read the session log and resume. Much like operating systems abstracted hardware into stable interfaces, Managed Agents is a “meta-harness” that abstracts agent components.
Pricing#
| Component | Rate |
|---|---|
| Token usage | Standard Claude API rates |
| Runtime | $0.08 / session-hour (active time only) |
A 30-minute task costs approximately $0.04 in runtime fees.
Current Status#
| Status | Features |
|---|---|
| Public Beta (available now) | Agent, Environment, Session, Events, Custom Tool, built-in tools, token tracking |
| Research Preview (access required) | Memory Store, Multi-agent orchestration, Outcomes + Grader |
Core features are available immediately with an API key. Advanced features like Memory Store require a separate access request.
Comparing with Existing System Agents#
Structural Correspondence#
Here is how the existing system maps to Managed Agents:
| Existing (Strands + AgentCore) | Managed Agents | Role |
|---|---|---|
| Bedrock AgentCore | Anthropic hosted environment | Agent execution space |
Strands Agent() | agents.create() | Agent definition |
prompts.py | System prompt (system parameter) | Behavior instructions |
tools.py with @tool | Custom Tool / built-in tools | Tool execution |
serve.py + GitHub Actions deployment | No deployment needed (single API call) | Deployment |
| Lambda triggers | External scheduler → Session creation | Scheduling |
What Managed Agents Provides Out of the Box#
Both Bedrock AgentCore and Managed Agents provide agent hosting, but the scope differs significantly:
| Feature | AgentCore + Strands | Managed Agents |
|---|---|---|
| Agent hosting | Yes | Yes |
| Agent loop (tool call → result → re-evaluate) | Build it yourself | Built-in |
| Conversation state management | Build it yourself (DB) | Built-in (Session) |
| Context window management (compaction) | Build it yourself | Built-in |
| Checkpointing / crash recovery | Build it yourself | Built-in |
| Token usage tracking | Build it yourself | Built-in |
| Deployment | Code change → commit → CI/CD → AgentCore redeploy | agents.update() single API call |
Can It Actually Replace the Existing System?#
Functionally yes, but with structural trade-offs.
Points to watch:
1. Tool calls may become network round-trips. Currently, @tool functions call the database directly within the same process. With Managed Agents Custom Tools (the declarative kind), each call becomes an HTTP round-trip. However, you can run scripts directly in the sandbox using the built-in Bash tool — avoiding the middleware layer entirely.
2. Pipeline orchestration control changes. Currently, Python code handles deterministic branching like “only send brands with abnormal severity to the diagnoser.” With Managed Agents’ Multi-agent feature, the agent makes this judgment via natural language. You can compensate by having your middleware create Sessions step-by-step.
3. Dependency on Research Preview features. Multi-agent orchestration is not yet GA (Generally Available). Without it, you either handle everything in a single Agent or orchestrate from the middleware.
Memory Store — Anthropic-Hosted Persistent Memory#
Memory Store is the most noteworthy Research Preview feature.
What It Is#
A workspace-scoped collection of text documents stored on Anthropic’s servers. It is structured with file paths (/brands/A/strategy.md), and when attached to a session, the agent automatically checks and records memories.
Key Characteristics#
- Anthropic-hosted: Data lives on Anthropic’s servers (not client-side)
- External API access: Read / write / search via REST API from outside agent sessions
- Autonomous management: Agents automatically receive
memory_list,memory_search,memory_read,memory_write,memory_edit,memory_deletetools - Version control: Every change creates an immutable version (auditing and rollback)
- Up to 8 Memory Stores per session
- 100KB per individual memory (~25K tokens)
write() Is Upsert, Not Append#
# Same path → replaces content (previous version preserved in history)
client.beta.memory_stores.memories.write(
memory_store_id=store.id,
path="/config/strategy.md",
content="Updated strategy content",
)
# Different path → creates a separate document
client.beta.memory_stores.memories.write(
memory_store_id=store.id,
path="/config/kpi.md",
content="KPI targets",
)Each Memory Store holds multiple memories organized by path, similar to a file system.
Agents Manage Memory Autonomously#
You can provide management instructions via the prompt parameter when attaching a Memory Store:
resources=[{
"type": "memory_store",
"memory_store_id": store.id,
"access": "read_write",
"prompt": "When recording new information, merge with existing files. "
"Delete or update outdated information.",
}]Anthropic does not automatically deduplicate or summarize — the Claude agent uses the tools to judge and manage the data itself, and you steer the quality through instructions.
A Shared Knowledge Layer#
Where Memory Store really shines is as a shared knowledge layer between local agents (Claude Code) and system agents (Managed Agents).
Operator sets strategy locally → writes to Memory Store (API call)
↓
System agent searches Memory Store → acts on the latest strategyPreviously, the local agent’s knowledge base was inaccessible to system agents. Memory Store bridges that gap — though you’ll want to wait for GA before relying on it in production.
Can Local Agent Skills Be Moved to Managed Agents?#
Local agents have various skills — workflow instruction files defined by operators. For example, a “daily review” skill scans all sources, classifies tasks, and finalizes today’s priorities.
The Key Distinction: Human-Interactive vs. Autonomous#
| Local Agent (Claude Code) | Managed Agents | |
|---|---|---|
| Execution | Operator participates directly | Autonomous (no human) |
| Interaction | Real-time dialogue, approval gates | Asynchronous, result notification |
| Best for | Strategy, decision-making, review | Routine monitoring, automated reports |
Pasting hundreds of lines of skill instructions directly into a Managed Agent prompt is impractical. Local skills are designed for human-in-the-loop workflows. Autonomous versions need different prompt designs.
Practical Patterns#
- Human-interactive skills (strategy, optimization cycles): Keep in local agents
- Fully autonomous (daily monitoring, auto-reports): Migrate to Managed Agents with system prompt + Environment files + Custom Tools
- Hybrid: Local agent triggers a Managed Agent session for autonomous segments, then receives the results and continues
Does It Solve the Prompt Distribution Problem?#
If the original concern was prompts, context, and execution logic being scattered across two systems, Managed Agents doesn’t fundamentally solve this. The Managed Agents system prompt and local skill files are still separate documents requiring synchronization.
However, it does improve things:
- Code co-location: Managed Agents code (Agent definitions, prompts) can live alongside the local agent project, eliminating the separate repo / separate tech stack burden
- Memory Store as shared layer: Both sides can read and write to the same store, bridging the knowledge gap
- Model consistency: Both use the same Claude models, avoiding model version lag from cloud provider deployment delays
The honest assessment: it reduces synchronization cost rather than eliminating it.
Governance — Who Manages the Agents?#
The Problem with Putting Managed Agents Code in a Shared Workspace#
The local agent environment is each operator’s personal workspace. If agents.create() code lives there:
- Operator A creates “Daily Review Agent v1”
- Operator B creates “Daily Review Agent v2”
- No way to tell which is the production version
Local agents are “individual workspaces,” while Managed Agents are “shared infrastructure.” These two natures are fundamentally at odds.
The Solution: Configuration Locally, Execution Centrally#
Local Agent Environment (operators)
├── Can edit prompts and tool specs (yaml/md files)
├── Can preview changes (diff script)
└── Cannot modify agents directly (no API key)
Central Management Service (developers)
├── CI/CD updates agents after PR merge
├── Holds agent create/update/delete authority
└── Acts as gatekeeper for customer-facing servicesOperators modify prompts and submit Git PRs. After review and merge, CI/CD runs agents.update(). The authority to directly change Agents lives only in the pipeline, structurally preventing conflicts and duplicate creation.
Separating Internal and Customer-Facing Use#
| Internal Operations | Customer-Facing (B2C) | |
|---|---|---|
| Change authority | Operators (non-developers) | Developers (code review required) |
| Change frequency | High | Release cycle |
| Failure impact | Internal delays | Customer trust erosion |
The existing system agent service shifts from “agent execution” to “agent management and control” — a thin gatekeeping layer handling authentication, cost limits, production agent versioning, and monitoring.
Practical Decision Framework#
When Managed Agents Makes Sense#
- You need to build a new agent quickly (no time to build agent loops from scratch)
- You want to reduce infrastructure maintenance (state management, checkpointing, crash recovery)
- You need immediate access to the latest Claude models (no waiting for cloud provider regional deployment)
- You are in prototyping phase and need a fast PoC
When Keeping Your Existing System Is Better#
- You already have a working system and the migration cost isn’t justified
- Your pipeline relies on deterministic conditional branching
- Data sovereignty requires data to stay on-premise
- Research Preview features (Multi-agent, Memory Store) aren’t stable enough for production
Conclusion#
The real value of Managed Agents is not “replacing your existing system.” It is “letting the platform handle infrastructure so you can focus on domain design.” Rather than migrating a working system, choosing Managed Agents when you need to build a new agent quickly is the most practical strategy.