Skip to content

feat(claude): add Claude Opus 5.5 to the built-in model list - #56

Merged
DanielGGordon merged 1 commit into
mainfrom
t3code/add-opus-5-5-model
Sep 22, 2026
Merged

DanielGGordon merged 1 commit into
mainfrom
t3code/add-opus-5-5-model

Conversation

@DanielGGordon

Copy link
Copy Markdown
Owner

What

Claude Code 2.1.280 shipped claude-opus-5-5, but the Claude provider's hardcoded catalog topped out at claude-opus-5, so Opus 5.5 never appeared in the T3 model menu.

  • Adds the claude-opus-5-5 built-in entry with the same Reasoning / Fast Mode / Context Window options as Opus 5, gated on Claude Code >= 2.1.280.
  • Effort defaults to Medium, matching Claude Code's baked-in catalog (default_effort: "medium" for Opus 5.5, vs high for Opus 5).
  • 1M context is the default, since the CLI supports the claude-opus-5-5[1m] suffix and the model is natively 1M.
  • Extends the version upgrade-message chain and keeps xhigh unmapped for the new slug (otherwise it would be silently promoted to max).
  • Points the bare opus alias at 5.5 (mirroring what feat(claude): add Claude Fable 5.1 to the built-in model list #55 did for fable), adds opus-5.5 / claude-opus-5.5, and leaves opus-5 on claude-opus-5.

Why 2.1.280 for the minimum version

Confirmed empirically against installed CLI binaries: claude-opus-5-5 appears in the baked-in model catalog of 2.1.280 and is absent from 2.1.278. 2.1.279 was never published to npm, so 2.1.280 is the first release carrying the model.

Verification

  • vp test run apps/server/src/provider/Layers/{ProviderRegistry,ClaudeAdapter}.test.ts — 113 passed (includes new coverage: model shows at 2.1.280, hidden with upgrade message at 2.1.279, xhigh preserved)
  • vp test run packages/shared/src/model.test.ts, apps/web/src/{modelSelection,providerInstances}.test.ts, apps/server/src/provider/providerSnapshot.test.ts — all passing
  • tsgo --noEmit -p apps/server/tsconfig.json — clean; vp lint / vp fmt --check on changed files — clean

🤖 Generated with Claude Code

Claude Code 2.1.280 shipped claude-opus-5-5 (1M native context, 128k max
output, fast mode, xhigh/max effort), but the Claude provider's hardcoded
catalog topped out at claude-opus-5, so it never appeared in the model menu.

- Add the claude-opus-5-5 built-in entry with the same Reasoning, Fast Mode
  and Context Window options as Opus 5, defaulting effort to Medium to match
  Claude Code's `default_effort` for the model, gated on Claude Code >= 2.1.280
  (2.1.278 lacks the slug; 2.1.279 was never released)
- Extend the version upgrade-message chain and keep xhigh effort unmapped for
  the new slug so it is not silently promoted to max
- Point the bare `opus` alias at 5.5 and add opus-5.5 / claude-opus-5.5
  aliases, leaving `opus-5` on claude-opus-5

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Sep 22, 2026
@DanielGGordon

Copy link
Copy Markdown
Owner Author

Test deployment (degraded / tunnel mode)

This branch is running on a local test instance, but the external HTTPS
port is not reachable yet (Caddy not bootstrapped or OVH port closed), so
there is no public URL. Reach it over an SSH tunnel:

# Open the tunnel from your laptop (keep this session open):
ssh -L 8080:127.0.0.1:3779 dgordon@<SERVER_IP>
# THEN, inside that SSH session (i.e. on <SERVER_IP>, not your laptop),
# mint a link whose URL points at your tunnel origin:
node scripts/test-status.ts --pair 7449 --base-url http://127.0.0.1:8080
# finally open the printed http://127.0.0.1:8080/pair#token=... in your local browser

Slot: external 7449 ⇄ loopback 3779.

@DanielGGordon
DanielGGordon merged commit be4bcaa into main Sep 22, 2026
6 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant