Anthropic Rewrites Claude API After 3 Years, Removing Temperature Controls
Anthropic ships its first versioned Claude API release since 2023, dropping temperature controls, legacy fields, and the old X-Api-Key header.
- Anthropic released API version 2026-10-21, its first versioned release since 2023-06-01.
- temperature, top_p, and top_k are removed from Messages API and now return 400.
- Document blocks in assistant turns and citations in user turns now error out.
- SDKs send Authorization: Bearer instead of X-Api-Key; clients hold a single credential.
- Admin and Enterprise Analytics field names change; workspace_id on API keys becomes a scope object.
- SDKs and ant CLI relicensed to Apache 2.0; Text Completions removed from legacy clients.
Anthropic has published its migration guide for Claude API version 2026-10-21, the first official version since 2023-06-01. The release removes sampling controls, tightens message validation, and changes authentication behavior in the SDKs. Major releases of Anthropic’s SDKs and the ant CLI now use the new version by default.
Integrations pinned to 2023-06-01 will continue running because Anthropic has not deprecated that version. Breaking behavior begins when an application sends anthropic-version: 2026-10-21 or upgrades to a client that selects it automatically. Anthropic plans to release API versions more frequently, allowing breaking changes to arrive on a defined schedule ahead of model launches.
Sampling controls disappear
Requests using 2026-10-21 receive a 400 error if they include temperature, top_p, or top_k, even when a parameter carries its former default value. The updated SDKs and CLI also remove these fields from their types and flags.
Requests now use the default sampling behavior, equivalent to a 2023-06-01 request with a temperature of 1.0 and no sampling parameters. Models such as Claude 4.7 already use these defaults, so their output behavior remains unchanged.
Applications that lower temperature on models such as Claude Sonnet 4.6 will lose that control under the new version. Anthropic provides no replacement setting. Calls that depend on lower-temperature output must remain pinned to 2023-06-01.
Message validation tightens
- Documents cannot appear directly in assistant messages. Such requests now return
400. Place document blocks in user messages. Documents nested inside another block, including a web-fetch tool result, remain valid. - User text blocks cannot carry non-empty citation arrays. These requests also return
400. Citation arrays remain valid on assistant text blocks, including previous Claude responses sent back as conversation history.
Bearer auth becomes the SDK default
The updated SDKs and CLI send credentials through Authorization: Bearer <key>. Earlier releases used X-Api-Key. The API continues to accept both headers, so direct HTTP integrations can keep their existing authentication code.
Proxies and gateways that inspect, redact, allow, or rewrite X-Api-Key must also handle the Authorization header before an SDK upgrade. SDK clients now hold one credential at a time. Supplying both api_key and auth_token to a constructor raises ValueError; earlier clients sent both headers.
The SDK surface shifts
MessageParambecomes a union. It now comprisesUserMessageParam,AssistantMessageParam, andSystemMessageParam. Dictionary literals remain valid, while callingMessageParam(...)as a constructor raisesTypeError.- TypeScript and Ruby tool runners drop client-side compaction. Server-side compaction now manages older context. Replace
compactionControlwith acontext_managementedit, sendanthropic-beta: compact-2026-01-12, and set a trigger threshold of at least 50,000 tokens. - Several SDKs and the CLI remove the legacy Text Completions API. The
ant completions createcommand is gone. Useant messages create. - Admin and Enterprise Analytics fields change names. Replace
roleswithrole_ids,group_idwithrbac_group_id, andactor.emailwithactor.email_address. API-key responses now expose ascopeobject where they previously returnedworkspace_id. - The license changes to Apache 2.0. The new SDK and CLI releases use the Apache License, Version 2.0. Earlier versions remain under the MIT License.
Bedrock limits the upgrade
Amazon Bedrock supports 2026-10-21 only for Claude 4.7 and later models. Workloads using older Bedrock-hosted models must retain a compatible SDK and API-version combination or move to a supported model before upgrading.
Versioning gets a cadence
Claude’s API used one version string for more than three years. During that period, new model behavior and beta headers carried many compatibility changes. A regular version schedule gives teams a defined migration boundary, while the anthropic-version request header allows staged rollouts without changing every service at once.
The release also includes a /claude-api skill for Claude Code that can identify affected call sites and guide repository-wide changes. Most migrations require removing sampling parameters, validating stored conversation payloads, checking proxy authentication rules, and updating any SDK features listed above before selecting 2026-10-21.