Summary
The OpenCode plugin's thinking profile for claude-opus-4-7 only advertises the legacy 5 levels (off | minimal | low | medium | high), so /think xhigh, /think adaptive, and /think max all fail with "not supported", even though docs/tools/thinking.md states Opus 4.7 supports all three.
Steps to reproduce
- Configure an
opencode:default auth profile (api_key)
- In a session using
opencode/claude-opus-4-7, type /think xhigh
- Server rejects:
Thinking level "xhigh" is not supported for opencode/claude-opus-4-7. Use one of: off, minimal, low, medium, high.
The same xhigh / adaptive / max directives work on anthropic/claude-opus-4-7 (direct provider).
Expected behavior
Per docs/tools/thinking.md (v2026.4.24):
xhigh → "ultrathink+" (GPT-5.2+ and Codex models, plus Anthropic Claude Opus 4.7 effort)
adaptive → ... Anthropic Claude Opus 4.7 ...
max → provider max reasoning (currently Anthropic Claude Opus 4.7)
OpenCode Zen routes Opus 4.7 requests to Anthropic, so the same level set should be exposed for opencode/claude-opus-4-7 as for anthropic/claude-opus-4-7.
Actual behavior
/think xhigh|adaptive|max are rejected with the legacy 5-level menu, indicating the runtime validation profile for opencode/claude-opus-4-7 doesn't include the dynamic levels.
Root cause hypothesis
extensions/anthropic/register.runtime.ts declares xhigh/adaptive/max for Opus 4.7 (xhigh referenced in the file).
extensions/opencode/ has no resolveThinkingProfile and no xhigh references at all, so runtime validation falls back to the default profile (the legacy 5 levels).
This is similar in shape to #71269 — same root pattern of "provider plugin doesn't surface dynamic thinking options to runtime/UI", just on a different plugin.
Proposed fix
OpenCode plugin should mirror the Anthropic plugin's thinking profile for proxied Anthropic models (claude-opus-4-7, claude-opus-4-6, claude-sonnet-4-6). Either by:
- Implementing
resolveThinkingProfile in extensions/opencode/ that delegates to the underlying Anthropic profile based on model id, or
- Declaring per-model level sets in the plugin's manifest
Environment
- OpenClaw 2026.4.24
- Auth: opencode (api_key)
- Channel: Telegram main session
Summary
The OpenCode plugin's thinking profile for
claude-opus-4-7only advertises the legacy 5 levels (off | minimal | low | medium | high), so/think xhigh,/think adaptive, and/think maxall fail with "not supported", even thoughdocs/tools/thinking.mdstates Opus 4.7 supports all three.Steps to reproduce
opencode:defaultauth profile (api_key)opencode/claude-opus-4-7, type/think xhighThe same
xhigh/adaptive/maxdirectives work onanthropic/claude-opus-4-7(direct provider).Expected behavior
Per
docs/tools/thinking.md(v2026.4.24):OpenCode Zen routes Opus 4.7 requests to Anthropic, so the same level set should be exposed for
opencode/claude-opus-4-7as foranthropic/claude-opus-4-7.Actual behavior
/think xhigh|adaptive|maxare rejected with the legacy 5-level menu, indicating the runtime validation profile foropencode/claude-opus-4-7doesn't include the dynamic levels.Root cause hypothesis
extensions/anthropic/register.runtime.tsdeclares xhigh/adaptive/max for Opus 4.7 (xhighreferenced in the file).extensions/opencode/has noresolveThinkingProfileand no xhigh references at all, so runtime validation falls back to the default profile (the legacy 5 levels).This is similar in shape to #71269 — same root pattern of "provider plugin doesn't surface dynamic thinking options to runtime/UI", just on a different plugin.
Proposed fix
OpenCode plugin should mirror the Anthropic plugin's thinking profile for proxied Anthropic models (
claude-opus-4-7,claude-opus-4-6,claude-sonnet-4-6). Either by:resolveThinkingProfileinextensions/opencode/that delegates to the underlying Anthropic profile based on model id, orEnvironment