Whetstone.
Configuration, Platforms, and LifecycleBeta headers as configuration
Module 5, Lesson 124 min

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.

Two betas on one request
anthropic-beta: skills-2025-10-02,code-execution-2025-08-25

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.

Practice

Try it yourself

Recall

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.

Reveal answer

files-api-2025-04-14 for the Files API. computer-use-2025-11-24 for computer use, with computer-use-2025-01-24 for older models. mcp-client-2025-11-20 for the MCP connector, superseding the deprecated mcp-client-2025-04-04. Agent Skills needs TWO together, skills-2025-10-02 and code-execution-2025-08-25. advisor-tool-2026-03-01 for advisor. managed-agents-2026-04-01 for Managed Agents.

Quiz

Enabling Agent Skills

You enable Agent Skills with only skills-2025-10-02 and nothing works properly. Why?

  1. AAgent Skills also requires code-execution-2025-08-25
  2. BThe header is deprecated and you need a newer date
  3. CAgent Skills also requires files-api-2025-04-14
  4. DSkills are GA and need no header, so the header itself is the problem
Show answer

Correct answer: A — Agent Skills also requires code-execution-2025-08-25

Agent Skills is gated by two headers together: skills-2025-10-02 and code-execution-2025-08-25. Files API is the tempting wrong pairing because skills sound like they involve files, and the Files API header is a real header, just not this dependency. This is the only feature in the current list that needs a pair, which is exactly why it is worth a question.

Quiz

Which of these two header values is current

Two services in the same monorepo enable the MCP connector. They do not agree.

Service A
anthropic-beta: mcp-client-2025-04-04
Service B
anthropic-beta: mcp-client-2025-11-20
  1. AA is current; B is a future-dated value that is not live yet
  2. BB is current; A is the deprecated value and is a migration item
  3. CBoth are current, since beta values accumulate rather than replace
  4. DNeither is valid, since the MCP connector is GA and takes no header
Show answer

Correct answer: B — B is current; A is the deprecated value and is a migration item

mcp-client-2025-11-20 is the current value and mcp-client-2025-04-04 is deprecated, so Service A is carrying a migration item rather than a working alternative. The tempting answer is that both are current, because a dated version pin sounds like a choice you get to make and older pins usually keep working for a while. They do not accumulate: a new dated value supersedes the old one, which is the whole reason the dates exist. Note also that this is a version supersession within a beta, not the same thing as a feature going GA.

Quiz

Sorting GA from beta

Which of these features requires no beta header at all?

  1. AThe MCP connector
  2. BComputer use
  3. CPrompt caching
  4. DThe Files API
Show answer

Correct answer: C — Prompt caching

Prompt caching is GA and needs no header, alongside tool use, streaming, structured outputs, adaptive thinking, effort, Batches and citations. The other three are all genuinely beta with dated headers. The trap in this whole area is paraphrasing beta as available, which is true in the sense that you can call it and false in every sense that matters to an architecture review or a support contract.

Recall

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?

Reveal answer

Strict tool use has a CAPABILITY boundary. It is fully released, no header exists that would help, and there is one surface it simply does not work on, so the remedy is to change the design or the surface. The Files API has a RELEASE-STATUS limit. It works everywhere it is offered, provided you send the right dated header, so the remedy is configuration. The difference matters because a release-status limit is something you satisfy and then forget, while a capability boundary is permanent as far as your design is concerned, and because a beta status carries contract-stability implications for a review that a capability gap does not.

Check

Audit the headers in a design

For any Claude integration you can describe, write down every beta header it needs.

You should see

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.

Sign in to track your progress →