Repository navigation
feat: add Claude Sonnet 5.5 pricing, catalog rows and request contract - #6210
Conversation
Anthropic released Claude Sonnet 5.5 (claude-sonnet-5-5) on 2026-09-28. Live discovery listed it with no price, no max output and no effort ladder, and its request contract differs from Sonnet 5: thinking disabled/enabled, forced tool_choice and non-default sampling parameters all return 400. - Snapshot rows for anthropic, Bedrock (six ids, regional 1.1x), OpenRouter, Vercel, Kilo, Venice and GitHub Copilot, plus preemptive opencode-zen, ZenMux and Cloudflare rows; all 1M / 128K at 2 / 10 / 0.20 / 2.50. - Anthropic seed and context (also claude-cli), Cursor capability and effort tier, Claude Desktop picker suggestion; preemptive Devin and Kiro rows. - Price overlays for anthropic, anthropic-apikey and cursor (published) and devin/devin-cli (derived). - New src/adapters/anthropic-model-contract.ts: Sonnet 5.5 reasoning none sends between_tools, forced tool choice degrades to auto, temperature/top_p are dropped. The web-search and vision sidecars pick their thinking-off field from it. Verified live against api.anthropic.com. Plan, audit and live evidence: devlog/_plan/260929_sonnet_5_5_catalog/.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (25)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Post-merge audit found that the new Kiro Sonnet 5.5 row is user-visible despite Kiro currently rejecting the model: Kiro uses a static catalog with liveModels disabled. I opened #6214 to remove only that unsupported route, preserve direct Anthropic/accounting behavior, and add a regression plus architecture note. Focused validation is 210/210 green under capped resources. @lidge-jun @luvs01 please prioritize exact-head review of the corrective PR. |
…very Claude family (#6217) * docs(devlog): plan Claude contract hardening and PR carries * docs(devlog): fold hardening plan audit * fix(anthropic): apply the live sampling and tool-choice contract to every Claude family A live probe of api.anthropic.com on 2026-09-29 showed the Sonnet 5.5 rules from #6210 were narrower than the upstream contract: - Opus 4.7+, Sonnet 5+ and every Fable return 400 on any non-default temperature/top_p, with or without thinking. The adapter only dropped them when it sent thinking, so a no-reasoning request with temperature failed. - Haiku 4.5, Sonnet 4.5/4.6 and Opus 4.5/4.6 take either field alone but 400 when both are sent; top_p is now dropped when both are present. - Fable 5.1 rejects forced tool_choice like Opus 5.5; it now degrades to auto. - Opus 5.5 and Fable reject both thinking disabled and between_tools, so the web-search and vision sidecars send a low effort and no thinking field for them (verified to end_turn with text inside a 1,024-token budget). Plan, audit and evidence: devlog/_plan/260929_dev_next_hardening_carry/.
Summary
Anthropic released Claude Sonnet 5.5 (
claude-sonnet-5-5) on 2026-09-28. Live discovery already listsanthropic/claude-sonnet-5-5, but with no price, no max output andsupports_reasoning: false, and nothing outside Anthropic carries it. Its request contract also differs from Sonnet 5, so the adapter sent requests Sonnet 5.5 rejects:claude-sonnet-5-5nonethinking: {type:"disabled"}→ 400thinking: {type:"between_tools"}→ 200temperature/top_psetrequired/ namedany/tool→ 400auto→ 200 (same downgrade as Opus 5.5)Catalog and pricing, all 1M context / 128K output at the Sonnet 5 price ($2 / $10 / $0.20 cache read / $2.50 5m cache write):
anthropic.andglobal.at list,us./eu./jp./au.at 1.1x; OpenRouter, Vercel and Kiloanthropic/claude-sonnet-5.5; Veniceclaude-sonnet-5-5(its published 3.75 / 18.75); GitHub Copilotclaude-sonnet-5-5(GA 2026-09-28).claude-sonnet-5.5, opencode-zen, ZenMuxanthropic/claude-sonnet-5.5, Cloudflareanthropic/claude-sonnet-5-5. Kiro and Devin show the id in their static pickers, so a call can fail upstream until they ship it.The per-family wire rules moved into
src/adapters/anthropic-model-contract.ts, which the web-search and vision sidecars now also use for their thinking-off field, so a sidecar pointed at Sonnet 5.5 sendsbetween_toolsinstead of a rejecteddisabled. Sidecar defaults and Claude Code's native tier map stay onclaude-sonnet-5(installed Claude Code 2.1.283 still sends that id).Known residuals, unchanged here: dotted Bedrock ids (
us.anthropic.claude-sonnet-5-5) do not parse as a Claude family for these rules (true for every family today), and the Messages-native passthrough forwards the caller'sthinkingand sampling fields as sent.Sources: platform.claude.com pricing, models overview, Sonnet 5.5 overview / what's new / migration guide, effort and fast-mode pages; cursor.com/docs/models/claude-sonnet-5-5; GitHub changelog and Copilot pricing; models.dev, OpenRouter, Vercel, Kilo and Venice model APIs; live checks of Devin, Kiro, Command Code, opencode, Opper, ZenMux and Cloudflare catalogs. Plan, audit and live evidence:
devlog/_plan/260929_sonnet_5_5_catalog/.Verification
disabledcontrol all return 200.bun run typecheck,bun run structure:check,bun run privacy:scan: pass.bun teston the 13 touched/regression files (newanthropic-sonnet-5-5-contract.test.ts, anthropic reasoning and tool-choice, usage-cost, cursor catalog, kiro adapter, devin adapter, metadata sync, file-size ratchet, test layout, web-search anthropic, intercept model bindings): 460 pass / 0 fail.bun run test:changed(1428 files) in a/private/tmpcheckout of this commit with isolatedOPENCODEX_HOME/CODEX_HOME: 28689 pass / 19 fail. The 19 are in 7 service, launcher-signal and native-toggle files; run alone, those files give the same 339 pass / 3 fail on this branch and ondev09f8e5ebfe, so none comes from this change. Full cross-platform coverage is left to CI.Checklist