Dev.to AI ๐Ÿค– Ai ๐Ÿ‘ 0 ๐Ÿ“– 4 min read

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), the in. 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:InvokeModel on 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

Dates come from official provider pages. Always confirm on the linked source.

๐Ÿ“ฐ Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes โ€” full credit and traffic to the original publisher.