# AWS Bedrock Agents Classic: How to Migrate to AgentCore

> Source: <https://byteiota.com/bedrock-agents-agentcore-migration/>
> Published: 2026-08-11 19:09:34+00:00

On July 30, 2026, AWS quietly closed Amazon Bedrock Agents to new customers, renamed it “Bedrock Agents Classic,” and froze its model catalog — permanently. If you’re building a new AI agent on AWS today and your account has no prior Bedrock Agents history, you get a 403. Your existing agents are safe, but they’re now running on a model set that will never grow. AgentCore is the only forward path for bedrock agents agentcore migration, and it is not a simple rename. It’s a full re-architecture.

## What Changed on July 30 — and What Didn’t

The 403 gets the attention, but the frozen model catalog is the real problem. As of July 30, the model list available inside Bedrock Agents Classic will never add new entries. No future Claude versions. No Gemini. No new OpenAI models. The ceiling is set — forever.

Here’s what’s blocked:

- New accounts calling
`CreateAgent`

or`InvokeInlineAgent`

— they get`AccessDeniedException (HTTP 403)`

- All new feature development for Classic is stopped
- No new models released after July 30 will appear in Classic

Here’s what’s not affected:

- Existing agents in allowlisted accounts — they keep running normally
- All existing APIs (
`GetAgent`

,`UpdateAgent`

,`InvokeAgent`

, etc.) — still work - Bedrock Knowledge Bases, Guardrails, and model inference — unaffected
- CloudFormation and Terraform templates in allowlisted accounts — unchanged

Your account is allowlisted if it has had any Bedrock Agents activity in the past 12 months. This is per-account, not per-organization — a new AWS account without prior usage will hit the 403 immediately. Check the [official AWS maintenance mode guide](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-classic-maintenance-mode.html) for account eligibility details.

## AgentCore Is Not a Rename

AWS positioned this as an upgrade, and architecturally it is — but treating AgentCore as a drop-in replacement will burn you. Classic was one opinionated managed service: console-configured, single-agent, AWS owned the orchestration loop. AgentCore is a suite of modular infrastructure primitives you compose yourself, or plug into the managed Harness.

The differences that matter most in practice:

| Aspect | Bedrock Agents Classic | AgentCore |
|---|---|---|
| Agent model | Single agent | Multi-agent orchestration |
| Memory | Session-only | Persistent cross-session |
| Model catalog | Bedrock only (frozen) | Bedrock + OpenAI + Gemini + LiteLLM |
| Model switching | Requires redeploy | Override per invocation, no redeploy |
| Tool integration | Lambda action groups | Gateway with MCP-based tools |
| Orchestration | AWS-managed | Harness (managed) or Runtime (yours) |

The frozen model catalog alone should drive the decision for any agent you’re still actively improving. Every quarter you wait, the gap between what Classic can access and what’s available at the model frontier widens — and there is no catch-up mechanism.

## Two Migration Paths: Pick Before You Start

AgentCore gives you two entry points. Picking the wrong one wastes time. The [Harness vs Runtime feature grid](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness-vs-runtime.html) from AWS is the best reference for making this decision.

**AgentCore Harness** is the right choice for most Classic migrations. It’s config-driven — you declare the model, system prompt, tools, and memory limits, and AgentCore runs the orchestration loop. Switching a model or adding a tool is a config change, not a redeploy. The trade-off: no custom framework choice, no graph-style workflows, no bidirectional streaming.

**AgentCore Runtime** is for teams that need to own the loop. You bring your own code — Strands, LangGraph, CrewAI, OpenAI Agents SDK, Claude Agent SDK — package it into an ARM64 container, push to ECR, and deploy. Full flexibility, but you’re writing the agent loop yourself.

“Use Harness unless you have a specific reason to own the loop yourself.”

— AWS AgentCore documentation

## How to Migrate: The CLI Steps

AWS provides a migration skill in the [agent toolkit for AWS](https://github.com/aws/agent-toolkit-for-aws). Install it, enable the `amazon-bedrock`

skill, and prompt it with *“Help me migrate my Bedrock Agent to AgentCore harness.”* It inspects your agent, checks eligibility, and drives the CLI through the migration without modifying the source agent.

For manual migration, the CLI path looks like this:

```
agentcore create --name my-research-agent

agentcore add harness \
  --name my-research-agent \
  --model-id us.anthropic.claude-sonnet-4-6-20250514-v1:0 \
  --system-prompt "You are a research assistant." \
  --tools agentcore-browser,code-interpreter

agentcore deploy

agentcore invoke --harness my-research-agent \
  --session-id "$(uuidgen)" \
  "Research tropical vacation options under $3k"
```

One practical gotcha from community experience: AgentCore Runtime requires session IDs to be 33 or more characters. UUID4 (36 characters) works. Shorter strings produce validation errors that are not immediately obvious from the error message.

If your existing action groups are Lambda-based, connect them through Gateway rather than rewriting them immediately:

```
agentcore add tool --harness my-research-agent \
  --type agentcore_gateway --name my-gateway \
  --gateway-arn arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/my-gw
```

You can also switch models at invocation time without redeploying — a significant improvement over Classic:

```
agentcore invoke --harness my-research-agent \
  --model-id us.anthropic.claude-opus-4-5-20251101-v1:0 \
  "Summarize this paper"
```

Run both agents in parallel for a week, compare outputs, then decommission Classic. A rushed cutover on a production workload is not worth the risk.

## The Cost Reality Check

Bedrock Agents Classic was free — you paid for model inference and Lambda invocations. AgentCore adds compute charges: roughly $0.09 per vCPU-hour (active only — I/O wait is not billed) and $0.01 per GB-hour for session memory. One developer migrating a 60-second daily agent reported their monthly bill going from $4.87 to $5.02. For small workloads, the cost delta is negligible.

Where costs can surprise you: enabling all memory strategies and online evaluations at 100% sampling during a pilot. Long-lived Browser and Code Interpreter sessions are the other driver. For complex multi-agent architectures, platform spend typically runs 1.15x to 1.4x the underlying model cost. Budget accordingly before you scale.

## Should You Migrate Now?

If your agent is stable, not actively improved, and the current model set is sufficient — you can stay on Classic. There is no migration deadline. Existing workloads run indefinitely in maintenance mode.

If you’re doing any of the following, move now:

- Building a new agent — Classic is blocked for new accounts anyway
- Iterating on an existing agent that needs newer models
- Building multi-agent systems or needing persistent cross-session memory
- Working in a fresh AWS account with no prior Bedrock Agents history

Classic was a solid product that arrived before the industry figured out what production AI agents actually need. AgentCore is what AWS built once they knew. The migration is real work, but the frozen model catalog means the cost of staying eventually exceeds the cost of moving.
