{"version":"2.1.287","anchor":"beta-header-rejection-detection-reworked","canonical_anchor":"beta-header-rejection-detection-reworked","heading":"Claude Code recognizes rejected beta headers by the API's error text","tier":"internal","area":"API","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287\/e\/beta-header-rejection-detection-reworked","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287","markdown":"### Claude Code recognizes rejected beta headers by the API's error text\n\nClaude Code now spots a rejected beta header from the API's own error wording rather than from the header name alone\n\n**Unclear.** It is not clear what Claude Code does differently once it detects a rejection.\n\n**What**\n\nClaude Code sometimes sends an `anthropic-beta` header, a request label that asks the API for preview features. When the API refuses one, Claude Code now spots this from the error text:\n\n- The error says there is an unexpected value for the `anthropic-beta` header.\n\n- The error contains `beta_header:` followed by the header's name.\n\nIt no longer treats an error as a rejection just because it mentions the header name. An error that mentions both `evict_on_complete` and beta is still treated as a rejection.\n\n**Why**\n\nThis affects how Claude Code falls back when the server rejects a beta header.\n\n- Area: API\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}