Skip to content

[BUG] V1 blockBinding: false opt-out is ignored after upgrading to V2 #52325

Description

@dmitrii-galantsev

Description

V1 lets a model opt out of Anthropic thinking block binding with blockBinding: false (#46820). After moving to V2, that opt-out does nothing, so endpoints that reject the field fail again:

thinking.adaptive.block_binding: Extra inputs are not permitted

The V2 config migration copies thinking.blockBinding into the model settings, but V2 decides from compatibility.supportsThinkingBlockBinding and never reads the setting. Model.Compatibility also doesn't declare that field yet, so it's dropped from config either way.

#48793 covers this in the protocol layer but no longer applies to v2. #51864 and #52172 add the compatibility field but don't touch the V1 config path.

Plugins

None

OpenCode version

2.0.18 (also current v2)

Steps to reproduce

  1. Use a legacy (provider) config for an Anthropic-compatible endpoint that rejects block_binding, with the V1 opt-out on a Claude 5.1+ model:

    {
      "provider": {
        "gateway": {
          "npm": "@ai-sdk/anthropic",
          "options": { "baseURL": "https://gateway.example.com/v1" },
          "models": {
            "claude-opus-5-5": {
              "options": { "thinking": { "type": "adaptive", "blockBinding": false } }
            }
          }
        }
      }
    }
  2. opencode run -m gateway/claude-opus-5-5 "hi"

  3. The request fails with thinking.adaptive.block_binding: Extra inputs are not permitted. The same config works on V1.

Screenshot and/or share link

N/A

Operating System

Linux

Terminal

N/A (opencode run)

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions