Krill, running into an issue with opus-4-7 + adaptive thinking on a custom provider, wanted your take before I dig further
setup: OpenClaw 2026.4.15, custom provider pointing to claude-opus-4-7
"models": [
{
"id": "claude-opus-4-7",
"name": "Claude Opus 4.7",
"api": "anthropic-messages",
"reasoning": true,
"input": [
"text",
"image"
]
the issue: even after patching supportsAdaptiveThinking() in the transport layer to include opus-4-7, I'm still getting a 429 with this message:
"thinking.enabled" is not supported for this model. Use "thinking.adaptive" and "output_config.effort" to control thinking behavior.
so it seems the problem is two layers deep. first, the transport layer's supportsAdaptiveThinking() was missing opus-4-7 entirely (custom providers skip registration and go straight there). but even with that fixed, the payload being sent still uses the old thinking.enabled field instead of the new thinking.adaptive + output_config.effort format that opus-4-7 apparently requires.
also worth noting: mapThinkingLevelToEffort() has no handler for opus-4-7. from Anthropic's docs, xhigh is a native effort level exclusive to opus-4-7 and should pass through as-is, not get remapped to max like opus-4-6 does.
questions: is opus-4-7 expected to use a different payload schema (thinking.adaptive + output_config.effort) vs older models? is there a plan to handle that in the transport layer, or is this by design for custom providers?