Short version. Anthropic released API version 2026-10-21 on 21 October, and the new SDKs send it by default. On that version temperature, top_p and top_k return a 400 even at their default values, and so do citations in user messages and document blocks in assistant messages. Old versions keep working if you don't upgrade, but the SDK majors are new (Python 2.0.0, TypeScript 1.0.0), so a loose version range can pull the change in without you asking.
Picture a Monday deploy where nobody touched the code, and every request your gateway sends starts failing with a 400. That's the failure this release can cause if a lockfile gets refreshed and a major version slips in. Anthropic's 21 October release notes say the new client SDKs send API version 2026-10-21 by default, and the migration guide lists what that version now refuses. We read both, then checked the package registries.
What the new version rejects
Three Messages API changes can break a working app. Sampling parameters first: temperature, top_p and top_k return 400 in Messages and Batch requests, even at their default values. Models from Claude 4.7 onward already accepted only defaults, so they're unaffected. The catch is older models such as Claude Sonnet 4.6. There, a lowered temperature simply stops applying, and nothing replaces it. If you rely on a low temperature for repeatable extraction, you either stop sending it and accept the default of 1.0, or keep that request on the old version.
Second, a text block with a non-empty citations array inside a user message is a 400, including inside search_result blocks. Citations on assistant text and the enabled flag on documents still work. Third, document blocks now belong in user messages only. A document nested inside another block, like a web fetch result Claude returned earlier, is still accepted.
The Admin and Enterprise Analytics APIs renamed fields too. API keys lose workspace_id and gain scope, and the Default Workspace now shows its real ID instead of null. Analytics responses use actor.email_address and data where they used actor.email and summaries. If a dashboard reads the old names, it'll go quiet or empty, not loud. That's the worse kind of break.
The SDK majors, and the licence
Every SDK jumped a major: Python 2.0.0, TypeScript 1.0.0, C# 13.0.0, Go 2.0.0, Java 3.0.0, PHP 1.0.0, Ruby 2.0.0, and the ant CLI 2.0.0. We checked the registries ourselves. PyPI shows anthropic at 2.1.0 and the npm package at 1.1.0, both uploaded within hours of the announcement, both marked Apache 2.0. So the licence change from MIT is real, and it's already shipped. We're not lawyers, and the notes say earlier versions stay MIT. Check whether your compliance tooling flags a new licence on a dependency bump.
Some SDK details deserve a careful read. The Go module path is now github.com/anthropics/anthropic-sdk-go/v2, and every import has to change. For the CLI, the guide warns that the old path still installs the latest v1 with no warning. The TypeScript Bedrock, Vertex and Foundry packages need v1 of the core package, or a second copy gets installed beside the first. On Bedrock, the new version only covers Claude 4.7 and later, so older models stay on your current SDK or API version.
One more caveat. The guide is long, and our fetch returned its first half verbatim and a summary of the rest. That summary lists more SDK breaks: --api-key removed from the CLI, Text Completions gone from several SDKs, and an Authorization: Bearer header in place of X-Api-Key. Treat those as leads to confirm in the guide itself. If a gateway of yours reads X-Api-Key, that last one matters, so go and check it.
What to do this week
Our advice is boring. Pin the SDK to its current major in every lockfile today, then upgrade on purpose. Grep your code for temperature, top_p and top_k, and for citations on anything you send as a user turn. The header route is the cleanest rollback: per the guide, requests that keep sending their current anthropic-version header stay on the old behavior.
We couldn't find a retirement date for the old version in the part we read, so we can't tell you how long that safety net lasts. If it turns out to be short, our view changes. For now we'd call this a planned migration, not an emergency, as long as nothing auto-upgrades. Model deadlines are a separate list, and we keep them in the retirements calendar.
FAQ
Will my existing app break on its own?
Not if it keeps sending its current anthropic-version header or stays on its current SDK version. The break comes from upgrading to the new SDK majors or from sending 2026-10-21 yourself.
Can I still set temperature on any model?
On the new API version, no: the parameter returns a 400 even at its default. Claude 4.7 and later already took only defaults. On older models you'd stay on the old version for that request.
Do I need to change how I use citations?
Only if you put citations on text blocks inside user messages, including search results. Citations on assistant text and the citations.enabled flag on documents still work.
Is the Apache 2.0 licence a problem?
It's a permissive licence, so usually not. It's still a change from MIT on a dependency, and automated licence scanners may flag it, so tell whoever owns that check.
Sources. Anthropic, Migrating to API version 2026-10-21; Claude Platform release notes, 21 October 2026; anthropic on PyPI; @anthropic-ai/sdk on npm.
