Bedrock Agents vs AgentCore: What to Use Now
- Pratik Kulkarni
- AWS , Cloud Architecture
- 25 Jun, 2026
- 05 Mins read
Updated 2 September 2026: Amazon Bedrock Agents Classic moved to maintenance mode in June 2026. This post has been rewritten around the options that are actually available now.
Amazon Bedrock Agents Classic is in maintenance mode. New customers can no longer access it, no new features are planned, and AWS recommends AgentCore instead. If you already run one it keeps working — there is no announced end-of-life and no migration deadline — but it is no longer a choice you can make for a new agent.
So the three realistic ways to run an agent on AWS have shifted. The spectrum is unchanged — “AWS does almost everything” to “you do almost everything” — but the most-managed end is now the AgentCore harness rather than Bedrock Agents.
What Maintenance Mode Actually Means
Worth being precise, because “maintenance mode” gets read as panic in some places and ignored in others. AWS’s position:
- Closed to new customers from the announced dates, as part of the June 2026 service availability updates.
- Existing customers keep running. No planned end-of-life date, and no migration deadline.
- No new features are planned. This is the real reason to move — you stop receiving the platform’s ongoing work.
- Knowledge Bases are unaffected. They keep working, the underlying resource is unchanged, and you connect them through AgentCore Gateway after migrating.
- Guardrails still apply. Model-level guardrails carry over when the model is invoked through AgentCore; agent-level enforcement moves to AgentCore Gateway policies.
- The same models are supported.
No fire drill, then. But no reason to start something new there either.
The Three Options Now
AgentCore harness is the most managed, and the closest analog to the Bedrock Agents experience. You declare your model, tools, and instructions as configuration; AgentCore handles compute, memory, identity, and observability. If Bedrock Agents fit your use case, this is where that use case now goes.
Code-defined agents on AgentCore is the middle path. You write the agent in LangGraph, CrewAI, LlamaIndex, Strands, the OpenAI Agents SDK, the Claude Agent SDK, or a custom loop, and AWS runs it on a serverless, session-isolated runtime with managed memory, a tool gateway, identity, and observability. You keep your framework and model; AWS keeps the platform. See What Is Amazon Bedrock AgentCore? for the full overview.
Roll-your-own on Fargate (or Lambda) is the most control and the most work. You deploy your agent as a container or function and build everything around it: session state, a checkpointer, a credential store, tracing. Nothing constrains your design, but you own the whole platform.
Note that the first two are the same platform, billed the same way. Choosing between them is a question of how you express the agent, not which service you buy — and you can move from harness to code-defined later without leaving AgentCore.
The Decision Table
| Dimension | AgentCore harness | Code-defined on AgentCore | Roll-Your-Own (Fargate/Lambda) |
|---|---|---|---|
| How you define the agent | Configuration | Your framework’s code | Your framework’s code |
| Framework freedom | None — AgentCore orchestrates | Any (LangGraph, CrewAI, Strands…) | Any |
| Model freedom | Any Bedrock model | Any model, in or outside Bedrock | Any |
| Ops burden | Lowest | Low — managed services | Highest — you build it |
| Session isolation | Per-session microVM | Per-session microVM | You implement |
| Memory | Managed | Managed (short + long-term) | You implement |
| Time to production | Fastest | Fast | Slowest |
| Cost model | Active consumption | Active consumption | Always-on or per-invocation |
| Lock-in | Low — same platform, and you can move to code | Low — your code is portable | Lowest |
Pick the Harness When…
The fit: a standard “instructions + tools + knowledge base” agent where you would rather not own orchestration code at all. An internal Slack bot that answers from runbooks, files tickets, and checks account status — declared as config and shipped in days.
The limit: you orchestrate AgentCore’s way. The day you need a control flow the harness will not express, you move to code — which is a real advantage over the old Bedrock Agents position, where that day meant writing orchestration Lambdas and losing most of the “no code to maintain” benefit. Here it means switching how you define the agent on the same platform.
Pick Code-Defined When…
The fit: you have already built an agent, or want to build it in a real framework, and you want it in production without assembling the platform. A LangGraph prototype with a few pilot customers whose data cannot mix: the framework carries over untouched, per-session microVMs supply the tenant isolation you would otherwise hand-build, and the checkpointer, credential vault, and tracing come managed. It is also the answer when you want a model outside Bedrock.
The limit: AgentCore isolates sessions but does not decide which user maps to which — you still own user-to-session mapping and lifecycle in your own backend.
Pick Roll-Your-Own When…
The fit: a hard requirement managed services cannot meet — a mandated network topology, a compliance regime that dictates exactly where state lives, latency targets that need a self-hosted model on EC2, or an existing Fargate platform your agents must fit into. You accept the operational cost because the control is non-negotiable.
The limit: you are now maintaining session state, credentials, and tracing as a second product — the exact burden the other two remove. Worth revisiting if the constraint that forced your hand ever relaxes.
If You Already Run Bedrock Agents Classic
There is no deadline, so this is a planning exercise rather than an emergency. Two paths:
- To the harness — the closest analog, and the natural destination for a straightforward agent.
- To code-defined agents — for workloads needing advanced orchestration, multi-agent collaboration, or custom logic.
There is an automated migration path. AWS ships an agent skill that walks you through migrating Bedrock Agents Classic to the AgentCore harness, available in the agent toolkit for AWS on GitHub and through the AWS MCP server. The starting prompt is literally “Help me migrate my Bedrock Agent to AgentCore harness.”
On effort: for a straightforward agent — model, action groups, knowledge base — AWS puts CLI import or harness setup at hours, with most of the work in reviewing generated code or redeploying action groups behind AgentCore Gateway. Agents with custom orchestrators or multi-agent collaboration need real code work.
The thing not to over-plan is the Knowledge Base. It is unchanged; you reconnect it through Gateway.
The Cost Angle
AgentCore Runtime microVMs bill only for active resource consumption — during the 30–70% of an agent’s runtime spent waiting on LLM responses or tool calls, there is no CPU charge. Against always-on Fargate that is a structural advantage for I/O-heavy agents.
Two caveats worth carrying: only CPU is free during that wait — memory is billed throughout the session, and AgentCore Runtime now also offers an Instances compute type that bills like EC2 plus a management fee, where the active-consumption argument does not apply.
None of which is likely to decide your platform, because compute is a rounding error next to model tokens. That argument, with the arithmetic, is in What an AI Agent Costs Per Conversation on AgentCore.
Key Takeaways
- Bedrock Agents Classic is in maintenance mode — closed to new customers, no new features, but no end-of-life date and no migration deadline.
- The harness is where the Bedrock Agents use case went: declare model, tools, and instructions as config, and AgentCore runs the rest.
- Code-defined agents on AgentCore keep your framework and model while AWS keeps the platform — the best balance for most teams taking a real agent to production.
- Roll-your-own is for hard requirements managed services cannot meet, and costs you a second product to maintain.
- Harness and code-defined are the same platform, so the choice between them is reversible. That is the main thing that improved over the old three-way decision.
- If you run Bedrock Agents Classic today, plan the move but do not rush it — and use the migration skill in the agent toolkit for AWS.