{"version":"2.1.314","anchor":"beta-header-rejection-detection-extended-to-input-tag-erro","canonical_anchor":"beta-header-rejection-detection-extended-to-input-tag-erro","heading":"More rejected optional API features are now recognized, so requests can retry without them","tier":"notice","area":"API Requests","scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/beta-header-rejection-detection-extended-to-input-tag-erro","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### More rejected optional API features are now recognized, so requests can retry without them\n\nClaude Code now recognizes more 'Input tag' errors as a sign that an optional API feature was rejected, at HTTP 400 or 422\n\n**What**\n\nClaude Code can switch on optional, still-in-testing features of the API, called betas, by sending extra headers with each request. Some gateways and platforms do not accept every beta. Claude Code now recognizes errors whose text mentions an `Input tag` as a sign that one of these betas was rejected, when the error comes back with HTTP status 400 or 422. This covers betas for:\n\n- tool definitions\n\n- adding and removing tools\n\n- tool references\n\n- clearing thinking and clearing tool uses\n\nThe same check is used when detecting whether structured outputs, answers in a fixed format, were rejected. Before, only the tool definition and tool addition cases were checked, each on its own.\n\n**Why**\n\nIf you go through a gateway or platform that does not support one of these betas, a request is more likely to be retried without it instead of failing.\n\n- Area: API Requests\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: org\n- Heads-up: no"}