Skip to content

Add Anthropic Claude Opus 5.5 API support - #1089

Merged
PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:add-claude-opus-5-5
Sep 22, 2026
Merged

PeterDaveHello merged 1 commit into
ChatGPTBox-dev:masterfrom
PeterDaveHello:add-claude-opus-5-5

Conversation

@PeterDaveHello

@PeterDaveHello PeterDaveHello commented Sep 22, 2026

Copy link
Copy Markdown
Member

Expose Claude Opus 5.5 through the Anthropic API model list using the official claude-opus-5-5 identifier.

Changes

  • Register Claude Opus 5.5 as a selectable Anthropic API model.
  • Make Claude Opus 5.5 the default Opus-tier API option while keeping Claude Opus 5 selectable.
  • Keep Opus 5.5 on its required adaptive thinking behavior by leaving the thinking field unset.
  • Omit unsupported custom temperature overrides for Claude Opus 5.5.
  • Extend Claude request-shaping and shared temperature regression coverage, including provider-qualified model-ID normalization.

Localization

  • Add the English i18n locale entry for Anthropic (Claude Opus 5.5).
  • Other locales continue to use the existing English fallback behavior for untranslated model labels.

Compatibility notes

  • Opus 5.5 does not support disabling thinking or legacy manually budgeted thinking. The direct Claude path only explicitly disables thinking for Sonnet 5, so Opus 5.5 correctly leaves thinking unset.
  • The existing direct Anthropic integration does not resend prior thinking blocks. This remains unchanged and keeps the model-support change scoped to the existing conversation-history behavior.

Validation

  • One commit on the current master base.
  • 5 files changed, 11 additions, 1 deletion.
  • Regression coverage includes model resolution, omitted unsupported temperature, unset thinking, and anthropic/claude-opus-5.5 normalization.

References

Summary by CodeRabbit

  • New Features

    • Added support for the Anthropic Claude Opus 5.5 model.
    • Claude Opus 5.5 is now included among the default API modes.
  • Bug Fixes

    • Prevented unsupported temperature overrides from being sent when using Claude Opus 5.5.

Register `claude-opus-5-5` as the default Opus API preset while keeping
Claude Opus 5 available as a separate selectable model.

Keep Opus 5.5 on its required adaptive thinking behavior by leaving the
`thinking` field unset, and omit unsupported custom temperature values.

Extend Claude request-shaping and temperature normalization coverage.

References:
- https://www.anthropic.com/claude-opus-5-5
- https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5
- https://platform.claude.com/docs/en/build-with-claude/preserved-thinking
- https://platform.claude.com/docs/en/claude_api_primer
Copilot AI lite review requested due to automatic review settings September 22, 2026 19:08
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 5a3478ca-8dbb-426a-9b6d-0fa6d5bd2e2f

📥 Commits

Reviewing files that changed from the base of the PR and between 12db6b8 and e1bad51.

📒 Files selected for processing (5)
  • src/_locales/en/main.json
  • src/config/index.mjs
  • src/services/apis/temperature-params.mjs
  • tests/unit/services/apis/claude-api.test.mjs
  • tests/unit/services/apis/temperature-params.test.mjs

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The change adds Claude Opus 5.5 to model configuration and localization, makes it a default API mode, excludes it from custom temperature overrides, and adds test coverage for these behaviors.

Changes

Claude Opus 5.5 support

Layer / File(s) Summary
Model registration and default selection
src/config/index.mjs, src/_locales/en/main.json
Registers claudeOpus55Api with API value claude-opus-5-5, adds its English description, and replaces claudeOpus5Api in the default API mode list.
Temperature handling and request validation
src/services/apis/temperature-params.mjs, tests/unit/services/apis/claude-api.test.mjs, tests/unit/services/apis/temperature-params.test.mjs
Excludes Claude Opus 5.5 from custom temperature overrides. Tests verify that requests omit temperature and that both supported model identifiers reject temperature parameters.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to e1bad

Claude Opus 5.5 is registered and safely selected as the default, with unsupported temperature overrides omitted.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding Anthropic Claude Opus 5.5 API support.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 4…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Add Claude Opus 5.5 Anthropic API support

✨ Enhancement 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Registers Claude Opus 5.5 and promotes it as the default Opus API preset.
• Preserves adaptive thinking and omits unsupported temperature overrides for direct Anthropic
 requests.
• Adds localization and regression coverage for request shaping and provider-qualified model
 identifiers.
Diagram

graph TD
  REG["Model registry"] --> SEL["Model selector"] --> RES["Model resolution"] --> TEMP["Temperature policy"] --> REQ["Claude request"] --> API["Anthropic API"]
  I18N["English locale"] --> SEL
Loading
High-Level Assessment

The additive registration and centralized temperature exclusion are appropriate because they follow established model-support patterns and keep Claude Opus 5 selectable. A broader capability-metadata redesign could replace the exclusion set, but it would be disproportionate for this isolated model addition.

Files changed (5) +11 / -1

Enhancement (2) +7 / -1
index.mjsRegister Claude Opus 5.5 and promote it as the default Opus preset +6/-1

Register Claude Opus 5.5 and promote it as the default Opus preset

• Adds 'claudeOpus55Api' with the official 'claude-opus-5-5' identifier and includes it among direct Claude API models. Replaces Claude Opus 5 with Opus 5.5 in the default API mode list while retaining Opus 5 as a selectable model.

src/config/index.mjs

temperature-params.mjsSuppress custom temperature for Claude Opus 5.5 +1/-0

Suppress custom temperature for Claude Opus 5.5

• Adds Claude Opus 5.5 to the centralized set of models that reject custom temperature overrides. Existing identifier normalization also applies this restriction to provider-qualified and dotted model forms.

src/services/apis/temperature-params.mjs

Tests (2) +3 / -0
claude-api.test.mjsCover Claude Opus 5.5 request shaping +1/-0

Cover Claude Opus 5.5 request shaping

• Extends direct Claude API tests to verify Opus 5.5 resolves to the correct model, omits custom temperature, and leaves the 'thinking' field unset for adaptive thinking.

tests/unit/services/apis/claude-api.test.mjs

temperature-params.test.mjsCover Opus 5.5 temperature normalization +2/-0

Cover Opus 5.5 temperature normalization

• Adds regression cases confirming temperature overrides are rejected for both 'claude-opus-5-5' and the provider-qualified 'anthropic/claude-opus-5.5' identifier.

tests/unit/services/apis/temperature-params.test.mjs

Other (1) +1 / -0
main.jsonAdd the Claude Opus 5.5 English label +1/-0

Add the Claude Opus 5.5 English label

• Adds the English localization entry used to display Claude Opus 5.5 in model-selection interfaces. Other locales can continue using the existing fallback behavior.

src/_locales/en/main.json

@qodo-code-review

qodo-code-review Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. Non-English users see an English label ✗ Dismissed 📘 Rule violation ⚙ Maintainability
Description
src/_locales/en/main.json adds the Claude Opus 5.5 label, but the same key is absent from every
other supported locale file. Selecting Opus 5.5 under any of the 12 non-English resources therefore
resolves through fallbackLng instead of a locale-owned translation or placeholder.
Code

src/_locales/en/main.json[208]

+  "Anthropic (Claude Opus 5.5)": "Anthropic (Claude Opus 5.5)",
Evidence
Rule 2262059 requires each supported locale to contain a newly introduced localization key.
Repository-wide inspection finds the added key only in the English resource, while both localization
initializers explicitly fall back to English when a locale lacks it.

Rule 2262059: Add new English localization keys before other locales
src/_locales/en/main.json[208-208]
src/_locales/i18n.mjs[4-7]
src/_locales/i18n-react.mjs[5-8]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new Claude Opus 5.5 label exists only in the English locale, while the localization rule requires every supported locale to contain either a translation or a clearly marked placeholder.

## Fix Focus Areas
- src/_locales/en/main.json[208-208]

## Recommended Fix
Add the `Anthropic (Claude Opus 5.5)` key to every non-English `src/_locales/<locale>/main.json` file, using an appropriate translation or the project-approved placeholder format.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
✅ Compliance rules (platform): 6 rules
Review mode: ⚖️ Balanced: This is a localized but behavior-changing API model and request-shaping update, so a careful standard review is warranted despite the small diff.

Grey Divider

Tip of the day
💡 Did you know, you can route each action level your way: inline, summary, both, or drop

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread src/_locales/en/main.json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

No unresolved review issues were identified.

Review effort: Lite
Findings: None

What changed in this PR

Adds Claude Opus 5.5 support to the Anthropic API integration.

Changes:

  • Registers and defaults claude-opus-5-5.
  • Preserves adaptive thinking and omits unsupported temperature overrides.
  • Adds localization and regression coverage.
File Description
tests/​unit/​services/​apis/​temperature-params.test.mjs Tests model ID normalization.
tests/​unit/​services/​apis/​claude-api.test.mjs Tests Claude request shaping.
src/​services/​apis/​temperature-params.mjs Blocks unsupported temperature overrides.
src/​config/​index.mjs Registers and defaults the new model.
src/​_locales/​en/​main.json Adds the English model label.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes

  • claudeOpus55Api preset — adds claude-opus-5-5 to claudeApiModelKeys and Models with desc Anthropic (Claude Opus 5.5), following the same two-edit pattern as prior Opus/Sonnet additions.
  • Default Opus-tier swapdefaultApiModeIds now lists claudeOpus55Api in place of claudeOpus5Api; Opus 5 stays in claudeApiModelKeys/Models and is still selectable for existing users.
  • Temperature omissionclaude-opus-5-5 added to MODELS_WITHOUT_CUSTOM_TEMPERATURE, with test coverage for both the bare and anthropic/claude-opus-5.5 (dot-normalized) forms.
  • Thinking shape — left unset for Opus 5.5, matching the always-on adaptive-thinking behavior shared by Opus 5 / Fable 5/5.1; only claude-sonnet-5 explicitly disables thinking.
  • Localization — English identity entry added; other locales use the existing en fallback.

I verified the request-shape matrix (tests/unit/services/apis/claude-api.test.mjs), temperature matrix, and config predicates; the full suite passes (1068/1068), and prettier --check / eslint are clean on the changed files. The temperature set entry is technically prefix-covered by claude-opus-5, but the explicit listing matches the repo's convention for sibling models (e.g. claude-fable-5-1), so no change is suggested.

Pullfrog  | View workflow run | Using DeepSeek Flash (free via Pullfrog for OSS) | 𝕏

@PeterDaveHello
PeterDaveHello merged commit 096854c into ChatGPTBox-dev:master Sep 22, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants