{"version":"2.1.261","anchor":"new-thinking-binding-controls-beta-header-is-compiled-but","canonical_anchor":"two-new-anthropic-api-beta-headers-added","heading":"New beta headers: dangerous_tool_use and thinking_binding_controls","tier":"notice","area":"API Headers","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-thinking-binding-controls-beta-header-is-compiled-but","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261","markdown":"### New beta headers: dangerous_tool_use and thinking_binding_controls\n\nA new thinking-binding-controls beta header is built but hardcoded off, so it's never actually sent yet.\n\nTwo new beta feature flags were added to the outgoing beta-headers list: `dangerous_tool_use` (header `dangerous-tool-use-2026-09-03`) and `thinking_binding_controls` (header `thinking-binding-controls-2026-08-01`), pushed into the same filtered array as other established betas such as `interleaved_thinking`.\n\nThe `thinking_binding_controls` header is only added when a computed condition (`kd = zPe() && OTn(f.querySource)`) is true, but `zPe()` is a newly-added stub that unconditionally returns false, so `kd` can never be true and this beta header is never actually sent in this build. A matching retry-eligibility classifier was also added for errors whose message says a thinking block was 'not created in this conversation' or 'bound to a different conversation', but it too depends on the same hardcoded-false `zPe()` (ORed with another function, `nm()`, whose behavior could not be confirmed), leaving it effectively inert as well.\n\n- Area: API Headers\n- Names: `thinking-binding-controls-2026-08-01`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5\n- Present in the build but not switched on"}