Anthropic has released a new version of the Claude API, numbered 2026-10-21. Developers have been setting anthropic-version: 2023-06-01 in their request headers since 2023, and this is the first official new version since then.
The most visible change is that the temperature, top_p and top_k sampling parameters have been removed from the Messages API. According to the migration guide, a request sent with the new version that includes any of these three fields returns a 400 error outright, even if the value is the default. If you leave them out, the request is sampled with defaults, with temperature at 1.0, the same as omitting the parameters on the old version.
The old version has not been deprecated. The advice in the documentation is blunt: for any request that relies on a non-default sampling value, either remove the parameter or stay on 2023-06-01.
Who is affected
For Claude 4.7 and later models, removing the parameters changes almost nothing in practice; the documentation says those models already accepted only default values. The people affected are applications still running older models such as Claude Sonnet 4.6 and deliberately turning the temperature down to get more stable output. The documentation is explicit that these requests lose their original effect after the upgrade, and no other setting can replace it.
Beyond the sampling parameters, the Messages API has two more changes that now return a 400:
- Placing a
documentblock directly in an assistant message now errors; documents must go in a user message. - Including a non-empty
citationsfield in a text block of a user message also errors.
There are renames on the administration side as well. In the Admin API, roles on RBAC groups becomes role_ids, workspace_id is removed from API keys in favor of scope, and in the enterprise analytics endpoints actor.email becomes actor.email_address. Under the new version the old field names are no longer returned.
SDKs jump major versions together
Every official language SDK has bumped its major version, and the new releases send 2026-10-21 by default: the Python package anthropic goes to 2.0.0, the TypeScript @anthropic-ai/sdk to 1.0.0, Go to v2 (the import path needs a /v2 suffix), Java to 3.0.0, C# to 13.0.0, PHP to 1.0.0 and Ruby to 2.0.0. The command-line tool ant moves to 2.0.0.
Go users need to watch for a trap. The CLI module path is now github.com/anthropics/anthropic-cli/v2, and the documentation specifically warns that running go install with the old path will keep installing the latest v1, with no error and no warning.
On Amazon Bedrock, the new version is available only for Claude 4.7 and later models. Anyone still calling Opus 4.6 or other older models on Bedrock must either stay on their current SDK version or switch models before upgrading.
The API key moves to a different header
The change likely to affect the most developers in China is tucked inside the SDK updates. The new SDKs and CLI no longer put the API key in the X-Api-Key header; they now uniformly send Authorization: Bearer <key>.
The Claude API itself accepts both headers, so programs that connect directly to the official endpoint are unaffected. The trouble is in the middle layers: self-hosted reverse proxies, API gateways and quota-metering middleware that read the key from X-Api-Key for authentication or billing will stop finding it once the SDK is upgraded. The documentation offers two ways out: change the gateway to read Authorization, or manually put the key back into X-Api-Key on the client.
Another knock-on change is that a client can now hold only one kind of credential. Passing both api_key and auth_token in Python used to send both headers; it now raises a ValueError.
A look back at a version number more than two years old
The 2023-06-01 version string spanned Claude's whole evolution from the Claude 2 era to the Claude 5 series. Capabilities added along the way, such as tool use, prompt caching and extended thinking, were mostly layered on through beta headers and new fields, while the version number itself never moved.
The retirement of the sampling parameters had in fact been foreshadowed. Since Claude 4.7 the models have accepted only default values, so adjusting the temperature on newer models had long had no effect. This release writes that rule into the API contract and makes the request fail at the door, so callers do not assume the parameter is still doing something.
The migration guide gives no timetable for how long the old version will be kept, and Anthropic has not yet announced a retirement date for 2023-06-01.
Sources: Claude Platform migration guide, Claude developer official account, CocoLoop; SDK version numbers, error conditions and the range of models supported on Bedrock are as stated in the official migration guide.