Skip to content

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

@aaajiao

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions