Skip to content

fix(opencode): add Claude Opus 4.5/4.6 base variants with thinking - #3369

Open
johngbl wants to merge 1 commit into
lbjlaq:mainfrom
johngbl:pr/opencode-opus-thinking
Open

fix(opencode): add Claude Opus 4.5/4.6 base variants with thinking#3369
johngbl wants to merge 1 commit into
lbjlaq:mainfrom
johngbl:pr/opencode-opus-thinking

Conversation

@johngbl

@johngbl johngbl commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Description

Ensures OpenCode sync exposes thinking variants for Claude Opus base models, matching the existing Claude Sonnet behavior.

Problem

build_model_catalog only defined claude-opus-4-5-thinking and claude-opus-4-6-thinking with ClaudeThinking variants. Syncing the base ids claude-opus-4-5 / claude-opus-4-6 (the ids shown by default in OpenCode) produced no variants object, so the dropdown showed without thinking options while claude-sonnet-4-6 correctly showed Low / Medium / High / Max.

Additionally, Gemini3Pro variants were inserted as low -> high -> medium which rendered in the UI as High before Low/Medium due to preserve_order JSON serialization.

Changes

  • opencode_sync.rs: build_model_catalog: add claude-opus-4-5 and claude-opus-4-6 base entries with variant_type: ClaudeThinking so both base and -thinking ids expose low/medium/high/max via build_claude_thinking_variant.
  • opencode_sync.rs: build_variants_object: reorder Gemini3Pro to low -> medium(disabled) -> high -> max(disabled) for consistent Default -> Low -> Medium -> High ordering.

Validation

  • cargo check 0 errors
  • Existing unit and integration tests unaffected (catalog order change only affects generated opencode.json)

Ensure claude-opus-4-5 and claude-opus-4-6 (base) expose the same thinking variants as sonnet (low/medium/high/max) via ClaudeThinking. Previously only the -thinking suffix had variants, so syncing the base id produced no variants and dropdown showed without thinking.

Also align Gemini3Pro variant order to low -> medium(disabled) -> high -> max(disabled) for consistent Default -> Low -> Medium -> High ordering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant