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_pandtop_kare 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 on2023-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
citationsarray in a user message (including insidesearch_resultblocks) 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(readscope.workspace_id), RBAC roles returndisplay_nameinstead ofname, and per-user usage and cost reports useactor.email_addressinstead ofactor.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 setsX-Api-Key,” the guide says, or keep sending the key inX-Api-Keyyourself. - A client holds one credential. In Python, passing both
api_keyandauth_tokennow raises aValueError. With nothing passed in code,ANTHROPIC_API_KEYwins overANTHROPIC_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:
MessageParambecomes a union of one type per role. In Python, a plain dict such as{"role": "user", "content": "Hello"}still works, but callingMessageParam(...)raises aTypeError. The non-beta Models methods no longer takebetas. - The CLI drops
--api-keyand--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-stdinand--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
- Pin your current major today (for example
anthropic<2in Python, or@anthropic-ai/sdkbelow 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. - Search your code for
temperature,top_pandtop_kin Claude calls, including framework and agent configs. Remove them, or decide which requests should stay on2023-06-01. - If you run a proxy, gateway or logging layer in front of Claude, make sure it reads and redacts the
Authorizationheader, not onlyX-Api-Key, before you move clients to the new SDKs. - Check Bedrock calls: move them to Claude 4.7 or later first, or leave them on your current SDK.
- Upgrade, then test against
2026-10-21before release, as the migration guide lays out.
Sources & method
Sources
- Anthropic, Claude Platform release notes, October 21, 2026
- Anthropic, “Migrating to API version 2026-10-21”
- Anthropic, API versions
- anthropic on PyPI and @anthropic-ai/sdk on npm
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.



