TL;DR: On October 21, 2026, Anthropic released Claude API version 2026-10-21, the first new anthropic-version since 2023-06-01, along with new major versions of all its SDKs and the ant CLI that send it by default. Under the new version, any request that sends temperature, top_p or top_k gets a 400 error, on every model. The new SDKs also send your API key as Authorization: Bearer instead of X-Api-Key, which matters if a proxy or gateway sits in front of the API, and they’re now licensed under Apache 2.0 instead of MIT. Nothing forces you to move today: pin your current SDK major, read the list below, and upgrade on purpose.

What happened

Anthropic’s release notes for October 21 list the new API version and these SDK and CLI releases, which are the first to send 2026-10-21: Python SDK 2.0.0, TypeScript SDK 1.0.0, C# SDK 13.0.0, Go SDK 2.0.0, Java SDK 3.0.0, PHP SDK 1.0.0, Ruby SDK 2.0.0 and ant CLI 2.0.0. On PyPI, anthropic 2.0.0 was uploaded at 15:51 UTC on October 21 (11:51 p.m. Manila), and 2.1.0 followed at 22:00 UTC (6:00 a.m. Manila on October 22). On npm, @anthropic-ai/sdk 1.0.0 was published at 16:00 UTC, and the latest tag now points to 1.1.0.

Anthropic’s versioning page says 2026-10-21 is available on the Claude API, Claude Platform on AWS, Microsoft Foundry and Google Cloud. On Amazon Bedrock it works only with Claude 4.7 and later models; the migration guide says to keep calls to older Bedrock models on your current SDK version or API version. Anthropic doesn’t give an end date for 2023-06-01; it says it “recommends using the latest API version whenever possible.”

The same release notes add enforcement_status and enforcement_actions fields to user profiles, so a platform or gateway can see whether Anthropic has restricted or banned one of its end customers.

What breaks

In the API itself (requests that send anthropic-version: 2026-10-21, including token counting and each request in a Message Batch):

  • temperature, top_p and top_k are removed. Sending any of them returns a 400 error, “even at the parameter’s default value.” Requests then sample with the defaults, including a temperature of 1.0. Anthropic says models that already accept only the defaults, such as Claude 4.7 and later, sample as before, but on models such as Claude Sonnet 4.6, a request that lowered temperature for more consistent output “loses that effect. No other setting replaces it.” If you rely on a low temperature, Anthropic’s advice is to stop sending it or keep that request on 2023-06-01.
  • Document blocks placed directly in an assistant message return a 400 error. Send documents in user messages.
  • Text blocks with a non-empty citations array in a user message (including inside search_result blocks) return a 400 error. Citations in assistant messages you send back are still accepted.
  • Admin API and Claude Enterprise Analytics API fields are renamed, with the old names gone: for example, API keys no longer return workspace_id (read scope.workspace_id), RBAC roles return display_name instead of name, and per-user usage and cost reports use actor.email_address instead of actor.email.

In the new SDKs and CLI, on top of the API changes:

  • API keys go out as Authorization: Bearer <key>. The Claude API accepts either header, so code that calls Anthropic directly needs no change. But “change any proxy or gateway that reads or sets X-Api-Key,” the guide says, or keep sending the key in X-Api-Key yourself.
  • A client holds one credential. In Python, passing both api_key and auth_token now raises a ValueError. With nothing passed in code, ANTHROPIC_API_KEY wins over ANTHROPIC_AUTH_TOKEN, with a warning.
  • The legacy Text Completions API is removed from the TypeScript, Go, Java and Ruby SDKs and the CLI. Client-side compaction is removed from the TypeScript and Ruby tool runners in favor of server-side compaction.
  • Type changes: MessageParam becomes a union of one type per role. In Python, a plain dict such as {"role": "user", "content": "Hello"} still works, but calling MessageParam(...) raises a TypeError. The non-beta Models methods no longer take betas.
  • The CLI drops --api-key and --auth-token, because values on the command line show up in shell history and process lists. Use the environment variables or the new --api-key-stdin and --auth-token-stdin.
  • The license is Apache 2.0. Earlier versions stay under MIT. No code changes are needed, but update your dependency license records.

What to do now

  1. Pin your current major today (for example anthropic<2 in Python, or @anthropic-ai/sdk below 1.0.0 in npm), so a routine dependency refresh doesn’t pull in the new version before you’ve checked it. The same caution about brand-new releases applies here as in our GitHub package firewall and cooldown story.
  2. Search your code for temperature, top_p and top_k in Claude calls, including framework and agent configs. Remove them, or decide which requests should stay on 2023-06-01.
  3. If you run a proxy, gateway or logging layer in front of Claude, make sure it reads and redacts the Authorization header, not only X-Api-Key, before you move clients to the new SDKs.
  4. Check Bedrock calls: move them to Claude 4.7 or later first, or leave them on your current SDK.
  5. Upgrade, then test against 2026-10-21 before release, as the migration guide lays out.

Sources & method

Sources

Method. Last checked October 22, 2026, at 9:18 a.m. Manila time (01:18 UTC on October 22). Release times come from PyPI’s and npm’s own registry data. The pinning, search and gateway steps are our own suggestions based on Anthropic’s guide; we did not install or test the new SDKs. No affiliate links on this page. How we work.

Spotted an error? See our corrections policy and tell us.