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 Rewrites Claude API After 3 Years, Removing Temperature Controls
Read4 min
TypeNews
  • 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

  • MessageParam becomes a union. It now comprises UserMessageParam, AssistantMessageParam, and SystemMessageParam. Dictionary literals remain valid, while calling MessageParam(...) as a constructor raises TypeError.
  • TypeScript and Ruby tool runners drop client-side compaction. Server-side compaction now manages older context. Replace compactionControl with a context_management edit, send anthropic-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 create command is gone. Use ant messages create.
  • Admin and Enterprise Analytics fields change names. Replace roles with role_ids, group_id with rbac_group_id, and actor.email with actor.email_address. API-key responses now expose a scope object where they previously returned workspace_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.

Trending
  • No trending articles

Comments

avatar

Next Reads