Skip to content

[Bug]: opencode/claude-opus-4-7 rejects /think xhigh|adaptive|max despite docs declaring Opus 4.7 supports them #72729

Description

@aaajiao

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

  1. Configure an opencode:default auth profile (api_key)
  2. In a session using opencode/claude-opus-4-7, type /think xhigh
  3. 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:

  1. Implementing resolveThinkingProfile in extensions/opencode/ that delegates to the underlying Anthropic profile based on model id, or
  2. Declaring per-model level sets in the plugin's manifest

Environment

  • OpenClaw 2026.4.24
  • Auth: opencode (api_key)
  • Channel: Telegram main session

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions