Anthropic SDK migration
Adopt adaptive thinking, structured outputs and new model ids in @anthropic-ai/sdk without breaking your prompts.
1 repository · 3 migrations a month · no card
What compat detects
- @anthropic-ai/sdk
- @ai-sdk/anthropic
- @anthropic-ai/bedrock-sdk
- @anthropic-ai/vertex-sdk
Recent Claude models reject parameters older code relies on: thinking budgets, assistant prefill, sampling parameters. compat finds each usage, rewrites it to the supported form, and keeps stop_reason handling intact.
What breaks across majors
- 01
thinking: { type: 'enabled', budget_tokens } is rejected on Claude 4.6+; adaptive thinking and output_config.effort replace it.
- 02
Assistant prefill returns 400 on 4.6+; structured outputs or system instructions replace it.
- 03
temperature, top_p and top_k are rejected on Opus 4.7+, Sonnet 5 and Fable.
- 04
output_format is deprecated in favour of output_config.format; Files and Skills APIs left beta.
- 05
Retired model ids in code, defaults and tests.
Typecheck flags removed request parameters. compat searches tests for hard-coded model ids and thinking budgets and lists them in the pull request.
What a budget_tokens to adaptive run looks like
Illustrativecompat locates every thinking block and sampling parameter, rewrites them for the target model, checks stop_reason handling including refusal, and opens the pull request with the model id choices left to you. Illustrative; no public run recorded yet.
01
Detect
compat finds the Anthropic packages your code imports and the upstream releases that affect them.
02
Migrate and verify
It edits only the affected code in a disposable sandbox, regenerates the lockfile, and runs your existing tests, type checks, lint and build where available.
03
Pull request
It opens a PR with the diff, verification results, warnings and manual steps. A person merges.
Questions
- Does compat merge the Anthropic migration automatically?
- No. compat has no merge capability. It pushes a branch and opens a pull request with the diff, the recorded checks and any manual steps. A person on your team reviews and merges.
- Which checks run?
- Your repository's own: install, typecheck, lint, test and build where the scripts exist. Each is listed in the pull request as passed, failed or not run. A check that did not run is never shown as passed.
- Does compat need my production credentials?
- No. Migrations run in a disposable sandbox with your code and package manager, not your environment. Checks that need live credentials are reported as not run.
- How does compat know a release affects my repository?
- It watches the Anthropic packages your code imports, reads new release notes, and judges relevance against the files that actually use the SDK. Irrelevant releases are dismissed with the reason; relevant ones become a proposal or, if you allow it, a run.