Beta headers as configuration
A beta header is configuration in the most literal sense: a string that changes what the API will accept. It behaves like a door code rather than a setting. Precisely right and the feature exists for you; one character out and the API has no idea you asked for anything, because there is no fuzzy matching and no helpful correction.
How the mechanism works
You send anthropic-beta on the request with the value or values you need. Multiple betas go in one header, comma separated.
Each value is name plus a date, and the date is a version pin. When a beta's contract changes, a new dated value appears and the old one gets deprecated rather than mutated underneath you. That is a kindness, and it also means your headers are a dependency with a shelf life that belongs in your maintenance plan.
The current list, exactly
Learn these as strings, not as concepts.
files-api-2025-04-14 for the Files API.
computer-use-2025-11-24 for computer use. Older models use computer-use-2025-01-24, so this is one feature with two live header values depending on which model you are calling.
mcp-client-2025-11-20 for the MCP connector. mcp-client-2025-04-04 is deprecated, so if you see it in existing code that is a migration item.
skills-2025-10-02 plus code-execution-2025-08-25 for Agent Skills. Both.
advisor-tool-2026-03-01 for advisor.
managed-agents-2026-04-01 for Managed Agents.
What is GA and therefore has no header
Just as testable, and easier to get wrong because "I did not add a header" is invisible.
GA, no header required: the Messages API, tool use including tool_choice and parallel tool use and strict tool use, streaming, prompt caching, adaptive thinking, effort, structured outputs, Batches, citations, web search, web fetch, code execution as a server tool, tool search, memory, bash, and text editor.
So code-execution-2025-08-25 gates Agent Skills, while code execution as a server-side tool is GA. That is genuinely confusing and it is the sort of distinction a certification enjoys.
Beta means beta, and paraphrasing costs you
Strict tool use is a nice example of the opposite direction. It sounds new and gated, and it is GA with no header. But it is unavailable on mcp_toolset, so its constraint is a capability boundary rather than a release-status one.
Keep those two apart, because they sound the same in conversation and they have different fixes. A release-status limit is satisfied by sending the right string and then never thinking about it again. A capability boundary is not satisfiable at all: no header exists, and the only move is to change the design. Knowing which one you are looking at is the whole configuration-management sub-skill.
Try it yourself
The beta header inventory
Exact strings. A header that is one character off is a feature you do not have.
List the current beta headers and the feature each one unlocks, including the two that Agent Skills needs together and the one deprecated value.
Enabling Agent Skills
You enable Agent Skills with only skills-2025-10-02 and nothing works properly. Why?
Which of these two header values is current
Two services in the same monorepo enable the MCP connector. They do not agree.
anthropic-beta: mcp-client-2025-04-04
anthropic-beta: mcp-client-2025-11-20
Sorting GA from beta
Which of these features requires no beta header at all?
Two different reasons you cannot use something
Both sound identical when someone says them out loud in a design review, and they have completely different remedies. This is the distinction the configuration-management sub-skill is really testing.
Strict tool use is GA but unavailable on mcp_toolset, while the Files API is available but only behind a beta header. What kind of limit is each of those, and why does the difference matter?
Audit the headers in a design
For any Claude integration you can describe, write down every beta header it needs.
Each header is written out in full with its exact date suffix, each is justified by a named feature, none is present without a reason, and any feature you assumed was beta but is actually GA has been removed from the list.