Inference APIs
Reference/Errors/Claude API

Claude API 404 not_found_error: retired model ids (claude-3-5-sonnet, claude-3-7-sonnet, claude-sonnet-4, claude-opus-4)

Anthropic retires models on a published schedule: a model is deprecated with a named replacement and a date, and after that date requests to it return 404 not_found_error with nothing but the id in the message. Because the message does not say "retired", the error is often taken for a typo or a permissions problem. Several ids that were the default in tools and tutorials for most of 2025 are now past their date, including both Claude 3.5 Sonnet builds and Claude Sonnet 4.

Last verified September 18, 2026 against Anthropic: model deprecations, Anthropic: migration guide · 4 min read

ProviderClaude API (api.anthropic.com); Bedrock and Vertex keep their own dates
HTTP status404 Not Found
Error typenot_found_error
Messagemodel: claude-3-5-sonnet-20241022 (the id you sent)
Most recent retirementsclaude-opus-4-1-20250805 on August 5, 2026; claude-sonnet-4-20250514 and claude-opus-4-20250514 on June 15, 2026
How commonclaude-3-5-sonnet is in about 534,000 files on GitHub and claude-sonnet-4-20250514 in 338,000 (code search, September 17, 2026)
Notice givenAt least 60 days, by email and on the deprecations page
Can you wait it out?No. Retired means requests fail
Short answer
  • Look the id up in the table below and rename to the replacement Anthropic lists.
  • If you move to Claude Opus 4.7 or later, remove temperature, top_p and top_k; non-default values return 400.
  • Find every use: export the usage CSV from the Claude Console; it is broken down by key and model.

What the error looks like

HTTP 404 · Claude API (api.anthropic.com)
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "model: claude-3-5-sonnet-20241022"
  }
}

The message contains only the id. Retired ids, ids with a typo and ids your key cannot use all produce the same shape, so check the table first.

Retired ids and dates

Retired idDeprecatedRetiredAnthropic's replacement
claude-opus-4-1-20250805June 5, 2026August 5, 2026claude-opus-4-8
claude-sonnet-4-20250514April 14, 2026June 15, 2026claude-sonnet-4-6
claude-opus-4-20250514April 14, 2026June 15, 2026claude-opus-4-8
claude-3-haiku-20240307February 19, 2026April 20, 2026claude-haiku-4-5-20251001
claude-3-7-sonnet-20250219October 28, 2025February 19, 2026claude-sonnet-4-6
claude-3-5-haiku-20241022December 19, 2025February 19, 2026claude-haiku-4-5-20251001
claude-3-5-sonnet-20241022, claude-3-5-sonnet-20240620August 13, 2025October 28, 2025claude-sonnet-4-6
claude-3-opus-20240229June 30, 2025January 5, 2026claude-opus-4-8

From Anthropic's deprecations page as of September 18, 2026. Claude 2, Claude 1 and Instant ids were retired earlier. Amazon Bedrock and Google Cloud set their own retirement dates for the same models, so a build that still works on Bedrock can be gone on the Claude API and the other way round.

Fix: rename, then check the parameters

Python (anthropic SDK) · rename, and drop the sampling parameters on 4.7+
import anthropic

client = anthropic.Anthropic()
msg = client.messages.create(
    model="claude-sonnet-4-6",          # was "claude-sonnet-4-20250514" or "claude-3-5-sonnet-20241022"
    max_tokens=1024,
    messages=[{"role": "user", "content": "Summarise this in one line: ..."}],
    # no temperature / top_p / top_k: those return 400 on Claude Opus 4.7 and later
)

Two changes beyond the id:

  • Sampling parameters. temperature, top_p and top_k are deprecated from Claude Opus 4.7 on and return 400 when set to a non-default value. The Python SDK from v1.0 removes them from the request type. Anthropic's guidance is to steer behaviour through the prompt instead.
  • Behaviour. A replacement two generations newer answers differently: length, formatting, refusal boundaries, tool-call style. Run your evaluation set before switching production traffic.

To find every place a retired id is still used, export usage from the Claude Console (Usage, then Export). The CSV lists requests by API key and model, which catches the cron job nobody remembers.

Aliases without dates

Anthropic also serves alias ids without a date suffix, such as claude-sonnet-4-6. An alias follows the latest snapshot of that model, so it survives snapshot retirements but can change behaviour underneath you when a new snapshot ships. Pin the dated id for reproducibility, or the alias for longevity; both are legitimate, but know which one you chose.

Frequently asked questions

Is claude-3-5-sonnet available anywhere?

Not on the Claude API since October 28, 2025. Anthropic has said it intends to make past models available again at some point and has committed to preserving the weights, but there is no date.

My code uses claude-sonnet-4-6 already and still gets 404.

Then it is not this problem. Check the base URL and the key, and whether the request goes through a proxy that rewrites the model id.

Does Inference APIs serve Claude models?

No. We serve open-weight models only. This page exists because the error is common and the fix is not obvious from the message.

Something changed or wrong? Tell us and we will re-verify the entry.