What to Do Before AWS Bedrock Shuts Down Legacy Claude 3.x Models on November 13, 2026
Shutdown: Thursday, Nov 13, 2026. AWS Bedrock ends five legacy Anthropic models in the Regions listed below: Claude 3 Sonnet, Claude 3.5 Sonnet (v1 and v2), Claude 3.7 Sonnet and Claude 3 Haiku. In ca-central-1, Claude 3
Shutdown: Thursday, Nov 13, 2026. AWS Bedrock ends five legacy Anthropic models in the Regions listed below: Claude 3 Sonnet, Claude 3.5 Sonnet (v1 and v2), Claude 3.7 Sonnet and Claude 3 Haiku. In ca-central-1, Claude 3 Sonnet and Claude 3 Haiku follow on Nov 27, 2026. After EOL, requests to these IDs fail, and AWS does not migrate you automatically.
Free AI model shutdown alerts: get an email only when a model you might use is being retired. No digest, no spam. Subscribe at aideprecations.com/subscribe (double opt-in).
Affected model IDs (from AWS)
| Bedrock model ID | Regions (per AWS) | EOL date | Suggested move (Anthropic's mapping) |
|---|---|---|---|
anthropic.claude-3-5-sonnet-20240620-v1:0 |
ap-northeast-2, ap-south-1, ap-southeast-1 | Nov 13, 2026 | Claude Sonnet 5.5 |
anthropic.claude-3-5-sonnet-20241022-v2:0 |
ap-northeast-2, ap-south-1, ap-southeast-1 | Nov 13, 2026 | Claude Sonnet 5.5 |
anthropic.claude-3-7-sonnet-20250219-v1:0 |
ap-south-1, eu-west-2 | Nov 13, 2026 | Claude Sonnet 5.5 |
anthropic.claude-3-sonnet-20240229-v1:0 |
ap-south-1, ap-southeast-1, eu-west-2, sa-east-1 | Nov 13, 2026 | Claude Sonnet 5.5 |
anthropic.claude-3-haiku-20240307-v1:0 |
ap-northeast-2, ap-south-1, ap-southeast-1, eu-central-2, sa-east-1 | Nov 13, 2026 | Claude Haiku 4.5 |
anthropic.claude-3-sonnet-20240229-v1:0 |
ca-central-1 | Nov 27, 2026 | Claude Sonnet 5.5 |
anthropic.claude-3-haiku-20240307-v1:0 |
ca-central-1 | Nov 27, 2026 | Claude Haiku 4.5 |
Source: AWS Bedrock Model lifecycle (Legacy), "Models with a scheduled EOL date" (read Nov 10, 2026). For Bedrock, only AWS's dates apply, not Anthropic's API dates.
- Regions matter. AWS lists these dates per Region. A Region missing from a row isn't covered by this announcement, and that doesn't mean the model stays available there.
- Before EOL: AWS warns that existing customers may lose access to Legacy models after 15 days of inactivity, and you can't create new Provisioned Throughput on a Legacy model.
Recommended replacements
AWS's lifecycle page doesn't name a replacement. Anthropic's model deprecations page maps the same models (on its own API) as follows. Both targets are Active on Bedrock.
| Old model | Move to | Bedrock IDs (AWS model card) |
|---|---|---|
| Claude 3 Sonnet, 3.5 Sonnet (v1, v2), 3.7 Sonnet | Claude Sonnet 5.5 |
anthropic.claude-sonnet-5-5; geo us. / eu. / au.anthropic.claude-sonnet-5-5; global.anthropic.claude-sonnet-5-5 (card) |
| Claude 3 Haiku | Claude Haiku 4.5 | Profiles only: us. / eu. / au. / jp. / in.anthropic.claude-haiku-4-5-20251001-v1:0, global.anthropic.claude-haiku-4-5-20251001-v1:0 (card) |
Newer option for Haiku workloads: Claude Haiku 5.5 (anthropic.claude-haiku-5-5, card). Anthropic's mapping names Haiku 4.5, so test both if cost matters.
Step 1: Find every place you call these IDs
rg -n --hidden -g '!node_modules' -e 'claude-3-(5-|7-)?sonnet' -e 'claude-3-haiku' .
rg -n --hidden -g '*.{yml,yaml,json,toml,tf,tfvars}' -g '.env*' -e 'anthropic\.claude-3' .
Catch prefixed forms too (us., eu., apac. inference-profile IDs and ARNs). Check Lambda env vars, Step Functions, Bedrock Agents / Knowledge Bases / Flows, CloudFormation/CDK/Terraform and LLM gateway routing tables.
Step 2: Confirm the lifecycle in each Region you use
for r in ap-south-1 ap-southeast-1 ap-northeast-2 eu-west-2 eu-central-2 sa-east-1 ca-central-1; do
echo "$r: $(aws bedrock get-foundation-model --region $r \
--model-identifier anthropic.claude-3-5-sonnet-20241022-v2:0 \
--query 'modelDetails.modelLifecycle.status' --output text 2>&1)"
done
aws bedrock list-inference-profiles --region ap-south-1 \
--query "inferenceProfileSummaries[?contains(inferenceProfileId,'sonnet-5-5')].inferenceProfileId"
Step 3: Swap the model ID (boto3)
Keep the ID in config so rollback is one change. Converse API:
import os, boto3
brt = boto3.client("bedrock-runtime", region_name=os.environ.get("AWS_REGION", "ap-south-1"))
# was: "anthropic.claude-3-5-sonnet-20241022-v2:0"
MODEL_ID = os.environ.get("BEDROCK_MODEL_ID", "global.anthropic.claude-sonnet-5-5")
resp = brt.converse(
modelId=MODEL_ID,
messages=[{"role": "user", "content": [{"text": "Summarize this ticket in 3 bullets: ..."}]}],
inferenceConfig={"maxTokens": 1024},
)
# Newer Claude models can return reasoning blocks first: read only the text blocks.
text = "".join(b["text"] for b in resp["output"]["message"]["content"] if "text" in b)
InvokeModel (Anthropic Messages body):
import json
body = {"anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024,
"messages": [{"role": "user", "content": "Summarize this ticket in 3 bullets: ..."}]}
resp = brt.invoke_model(modelId=MODEL_ID, body=json.dumps(body))
out = json.loads(resp["body"].read())
text = "".join(b.get("text", "") for b in out["content"] if b["type"] == "text")
Step 4: Region and inference-profile notes
-
Haiku 4.5 needs a profile ID: per AWS, the bare model ID isn't supported for on-demand throughput on bedrock-runtime. From
ap-south-1(Mumbai), thein.profile is listed on the card. -
Sonnet 5.5 geo profiles are listed for US, EU and AU only. From Mumbai, Singapore, Seoul or Sรฃo Paulo, check the card's Regional availability table;
global.is the listed cross-Region option. - Data residency: geo and global profiles can route requests to other Regions. If you need single-Region processing, confirm In-Region support on the model card first.
-
IAM: grant
bedrock:InvokeModelon the inference-profile ARN and the destination foundation-model ARNs; update policies scoped to the old model ARN. - Quotas: check Service Quotas for the new model before moving production traffic.
Step 5: Testing checklist
- Frozen set of real prompts through old and new models: quality, refusals, length, latency.
-
Thinking is on by default on Claude Sonnet 5.5 (adaptive thinking, default effort high; the AWS card says
thinking.type: "disabled"is not supported). Re-check latency, output-token cost and code that assumes the first content block is text. - Tool use: validate every tool call against your schemas; re-run agent loops end to end.
- Structured output: parse 100% of responses with your production JSON parser.
- Re-check
maxTokens, stop sequences and temperature settings against the new model card. - Compare cost on the Bedrock pricing page with your own token counts.
- Alert on
ValidationException/ResourceNotFoundException/ access-denied errors.
Step 6: Roll out before Nov 13 and block the old IDs
- Canary 5โ10%, then 100%, with the old ID one config change away while it still works.
- After cutover, fail CI if any of the five
anthropic.claude-3*IDs above appears in the repo.
Free alerts + checklist
- Full guide (canonical, updated daily): https://aideprecations.com/guides/aws-bedrock-claude-3-shutdown/
- Subscribe (email only when a model is being retired; also calendar, webhooks, MCP): https://aideprecations.com/subscribe/
- Every Bedrock date: https://aideprecations.com/aws-bedrock/ ยท Calendar: https://aideprecations.com/calendar/
Dates come from official provider pages. Always confirm on the linked source.
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes โ full credit and traffic to the original publisher.