Claude Opus 4.7 Adaptive Thinking Silently Broken in OpenClaw 4.15
If you configured Claude Opus 4.7 with params.thinking = "adaptive" in OpenClaw, it appears to work — no errors, responses come back — but you're not actually getting adaptive thinking. OpenClaw is silently sending a fixed budget_tokens: 10000 to Anthropic instead. You're paying for standard thinking while believing you have adaptive.
What's Happening
The culprit is a one-line omission in OpenClaw's transport layer. The function supportsAdaptiveThinking() in anthropic-vertex-stream only checks for Opus 4.6 and Sonnet 4.6:
function supportsAdaptiveThinking(modelId) {
return modelId.includes("opus-4-6") || modelId.includes("opus-4.6")
|| modelId.includes("sonnet-4-6") || modelId.includes("sonnet-4.6");
}
Opus 4.7 is simply missing from this list. When OpenClaw sees thinking: "adaptive" on an unlisted model, it doesn't throw an error — it silently falls back to thinking: { type: "enabled", budget_tokens: 10000 }.
The irony: other parts of the codebase already know about Opus 4.7. shouldUseAnthropicAdaptiveThinkingDefault includes ANTHROPIC_OPUS_47_MODEL_ID. ANTHROPIC_MODERN_MODEL_PREFIXES includes claude-opus-4-7. Only the transport-level whitelist was missed during the 4.7 rollout.
There's also a secondary issue: mapThinkingLevelToEffort's xhigh branch only maps to "max" for Opus 4.6. For Opus 4.7, it currently returns "high" — probably also incorrect.
How to Confirm You're Affected
Check your gateway logs for the raw request body sent to Anthropic. If you see:
"thinking": { "type": "enabled", "budget_tokens": 10000 }
…when you configured adaptive, you're affected. You should be seeing:
"thinking": { "type": "adaptive" }
Workaround
Until the fix ships, explicitly set a non-adaptive thinking level in your agent config. This forces OpenClaw into the fixed budget_tokens path intentionally, rather than landing there by accident:
# In your openclaw.json or agents config
agents:
defaults:
models:
"anthropic*/claude-opus-4-7":
params:
thinking: "high" # or "low", "medium" — avoids the silent fallback
Setting thinking: "high" uses a larger but fixed token budget and avoids the ambiguity of the broken adaptive path. You won't get true adaptive thinking until the whitelist is patched, but at least you'll know what you're getting.
What "Adaptive" Actually Does
Anthropic's adaptive thinking mode lets the model dynamically scale its reasoning budget based on problem complexity. Simple questions use fewer tokens; hard problems get more. The fixed budget_tokens: 10000 fallback is always 10K regardless of what the task needs — potentially wasteful on easy queries and insufficient on complex ones.
Affected Versions
- OpenClaw 2026.4.15 — confirmed affected
- Earlier versions with Opus 4.7 support — likely affected too
- Opus 4.6 — unaffected (correctly listed in whitelist)
Track the fix at issue #68078.
Need Help?
If you're running Opus 4.7 and want to verify your thinking configuration is actually doing what you expect, ClawReady's audit covers exactly this — we check your model config, provider routing, and thinking levels to make sure nothing is silently misbehaving.