#2180·openclaude

Add Claude Opus 5 and Sonnet 5 to the first-party model catalog

Author: euxaristiaCreated Aug 27, 2026Updated Aug 27, 2026

Problem

The first-party Claude catalog stops at Opus 4.8 / Sonnet 4.6. src/integrations/brands/claude.ts lists only:

typescript
modelIds: ['claude-sonnet-4-6', 'claude-opus-4-6', 'claude-haiku-4-5']

and src/integrations/models/claude.ts has no descriptor for either Claude 5 model. Opus 5 and Sonnet 5 are generally available on the Anthropic API, so first-party users are pinned to the previous generation with no way to select the current one through /model.

Sonnet 5 is also cheaper than the model it replaces ($2/$10 per MTok vs Sonnet 4.6's $3/$15), so the gap costs metered users money on every request.

Secondary defect

Because there is no Opus 5 / Sonnet 5 entry, both models fall through the generic Claude-family branches:

  • modelSupportsAdaptiveThinking() classifies them as non-adaptive, so requests send the legacy budget_tokens thinking field. That field was removed on the Claude 5 models and the API rejects it with HTTP 400.
  • modelSupports1M() does not recognize them, so their 1M context window is not offered.
  • MODEL_COSTS has no entry, so /cost and the picker's pricing suffix report nothing.

Closed PR #2049 fixed the adaptive-thinking half of this in isolation; it was withdrawn by its author and never merged.

Proposal

Add both models end to end across the @[MODEL LAUNCH] checklist: catalog descriptors, provider config entries, pricing tiers, canonicalization, adaptive thinking, 1M context, effort levels (including xhigh/max), fast mode, advisor eligibility, and the /model picker.

Open question for maintainers: whether the first-party opus / sonnet aliases should now resolve to Opus 5 / Sonnet 5. Third-party routes (Bedrock/Vertex/Foundry) should stay on their current versions either way, since availability there lags.

Environment

  • OpenClaude 0.29.1
  • Provider: Anthropic first party (https://api.anthropic.com)