One read of Claude Developer Platformapi-20261009T153709Z
536 pages moved out of 760 read.
Pages moved
536
significant first
Pages read
760
in this capture
Captured
15:37 UTC
Corpus hash
9680386eb15e
corpus-hash
What this read moved
1-25 of 536, page 1 of 22This capture is too large to show at once. Changes 1-25 of 536 are below, significant first; the rest are on the following screens.
about-claude/model-deprecations Changed · +8 / -8 lines
from line 126
126126
127127| Retirement date | Deprecated model | Recommended replacement |
128128| --------------- | -------------------------- | ----------------------- |
129| June 15, 2026 | `claude-sonnet-4-20250514` | `claude-sonnet-4-6` |
129| June 15, 2026 | `claude-sonnet-4-20250514` | `claude-sonnet-5-5` |
130130| June 15, 2026 | `claude-opus-4-20250514` | `claude-opus-4-8` |
131131
132132### 2026-02-19: Claude Haiku 3 model
from line 163
163163
164164| Retirement date | Deprecated model | Recommended replacement |
165165| ----------------- | ---------------------------- | ----------------------- |
166| February 19, 2026 | `claude-3-7-sonnet-20250219` | `claude-sonnet-4-6` |
166| February 19, 2026 | `claude-3-7-sonnet-20250219` | `claude-sonnet-5-5` |
167167
168168### 2025-08-13: Claude Sonnet 3.5 models
169169
from line 175
175175
176176| Retirement date | Deprecated model | Recommended replacement |
177177| ---------------- | ---------------------------- | ----------------------- |
178| October 28, 2025 | `claude-3-5-sonnet-20240620` | `claude-sonnet-4-6` |
179| October 28, 2025 | `claude-3-5-sonnet-20241022` | `claude-sonnet-4-6` |
178| October 28, 2025 | `claude-3-5-sonnet-20240620` | `claude-sonnet-5-5` |
179| October 28, 2025 | `claude-3-5-sonnet-20241022` | `claude-sonnet-5-5` |
180180
181181### 2025-06-30: Claude Opus 3 model
182182
from line 202
202202| --------------- | -------------------------- | ----------------------- |
203203| July 21, 2025 | `claude-2.0` | `claude-opus-4-8` |
204204| July 21, 2025 | `claude-2.1` | `claude-opus-4-8` |
205| July 21, 2025 | `claude-3-sonnet-20240229` | `claude-sonnet-4-6` |
205| July 21, 2025 | `claude-3-sonnet-20240229` | `claude-sonnet-5-5` |
206206
207207### 2024-09-04: Claude 1 and Instant models
208208
from line 226
226226
227227Anthropic occasionally deprecates request parameters that no longer apply to current models. How the API treats a deprecated parameter depends on the model, as the following table shows. Most SDKs keep deprecated parameters in their request types so existing code continues to type-check. The Python SDK (v1.0 and later) removes `temperature`, `top_p`, and `top_k`, so passing them raises a `TypeError`.
228228
229| Parameter | Status | Behavior | Recommended replacement |
230| ------------------------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
231| `temperature`, `top_p`, `top_k` | Deprecated (Claude Opus 4.7 and later) | Returns a 400 error when set to a non-default value on Claude 4.7 and later models and [Claude Mythos Preview](https://anthropic.com/glasswing). | Omit and use [prompting](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices) to guide model behavior. |
229| Parameter | Status | Behavior | Recommended replacement |
230| ------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
231| `temperature`, `top_p`, `top_k` | Deprecated (Claude 4.7 and later models) | Returns a 400 error when set to a non-default value on Claude 4.7 and later models and [Claude Mythos Preview](https://anthropic.com/glasswing). | Omit and use [prompting](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices) to guide model behavior. |
232232
233233For migration steps, see the [migration guide](https://platform.claude.com/docs/en/about-claude/models/migration-guide).
234234
about-claude/models/choosing-a-model Changed · +5 / -1 lines
from line 11
1111* **Capabilities:** What specific features or capabilities will you need the model to have to meet your needs?
1212* **Speed:** How quickly does the model need to respond in your application? Claude Opus 5.5, Claude Opus 5, and Claude Opus 4.8 support [fast mode](https://platform.claude.com/docs/en/build-with-claude/fast-mode) (research preview), which delivers up to 2.5x higher output speed at premium pricing.
1313* **Cost:** What's your budget for both development and production usage?
14* **Effort:** Several Claude models support an [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort) that trades intelligence for latency and cost within a single model. Tuning effort is often a better lever than switching models. On Claude Fable 5.1 and Claude Opus 5, start with the default (`high`) and adjust up or down based on your evals. On Claude Opus 5.5 and Claude Haiku 5.5 the default is `medium`; start there and adjust the same way. On Claude Opus 4.8 and Claude Opus 4.7, the `xhigh` effort level, between `high` and `max`, is the best setting for most coding and agentic use cases.
14* **Effort:** Several Claude models support an [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort) that trades intelligence for latency and cost within a single model. Tuning effort is often a better lever than switching models. On Claude Fable 5.1, Claude Opus 5, and Claude Sonnet 5.5, start with the default (`high`) and adjust up or down based on your evals. On Claude Opus 5.5 and Claude Haiku 5.5 the default is `medium`; start there and adjust the same way. On Claude Opus 4.8 and Claude Opus 4.7, the `xhigh` effort level, between `high` and `max`, is the best setting for most coding and agentic use cases.
1515
1616***
1717
from line 109
109109
110110 <Card title="What's new in Claude Sonnet 5.5" icon="sparkle" href="https://platform.claude.com/docs/en/models/sonnet-5-5/whats-new-sonnet-5-5">
111111 The latest Sonnet model: breaking changes, new features, and behavior differences
112 </Card>
113
114 <Card title="What's new in Claude Haiku 5.5" icon="sparkle" href="https://platform.claude.com/docs/en/models/haiku-5-5/whats-new-haiku-5-5">
115 The latest Haiku model: breaking changes, new features, and behavior differences
112116 </Card>
113117
114118 <Card title="Start building" icon="code" href="https://platform.claude.com/docs/en/get-started">
about-claude/models/optimizing-for-cost-and-intelligence Changed · +21 / -12 lines
from line 132
132132
133133Several things can break your cache during a task. Anything that changes per request, such as a timestamp or a queue position, placed ahead of the stable prefix turns every request into a full cache write: on the triage run in [Trim input and context tokens](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#trim-input-and-context-tokens), a 25-token status line at the front of the system prompt cost $4.24 USD per run instead of $0.59 USD, more than running with caching off. Keep per-request text in the newest user turn.
134134
135The cache is a byte-exact prefix match over the request in order (tools, then system prompt, then messages), so a change anywhere invalidates everything after it. Changing [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) or the thinking configuration between requests invalidates the cache from that point onward, and on some models the tools and system prompt ahead of it as well; any edit to the system prompt invalidates the cache from that point onward; setting or changing an output format invalidates the cache for the whole conversation; adding, removing, or reordering a tool definition invalidates all of it. The [prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#what-invalidates-the-cache) page lists these cases, apart from the output format, which [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#prompt-modification-and-token-costs) covers. On the most recent models, change instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages), a `{"role": "system"}` message appended to `messages`, instead of editing the top-level `system` field: the cached prefix stays intact. Check that page for which models support it. On models that support it, a [per-message effort change](https://platform.claude.com/docs/en/build-with-claude/effort#change-effort-mid-conversation-beta) leaves the cached prefix intact too. The stakes are highest on Claude Fable 5.1 and Claude Mythos 5.1, where a break re-writes the prefix at 1.25x the input price instead of reading it at 0.025x. On a 100,000-token prefix, one broken turn there costs $1.25 USD instead of $0.03 USD, 50 times the read; on Claude Opus 5.5 it costs $0.50 USD instead of $0.02 USD, and on Claude Sonnet 5.5 $0.25 USD instead of $0.01 USD, 25 times, and on the other current models 12.5 times.
135The cache is a byte-exact prefix match over the request in order (tools, then system prompt, then messages), so a change anywhere invalidates everything after it. Changing [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) or the thinking configuration between requests invalidates the cache from that point onward, and on some models the tools and system prompt ahead of it as well; any edit to the system prompt invalidates the cache from that point onward; setting or changing an output format invalidates the cache for the whole conversation; adding, removing, or reordering a tool definition invalidates all of it. The [prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#what-invalidates-the-cache) page lists these cases, apart from the output format, which [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs#prompt-modification-and-token-costs) covers. On the most recent models, change instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages), a `{"role": "system"}` message appended to `messages`, instead of editing the top-level `system` field: the cached prefix stays intact. Check that page for which models support it. A per-message effort change leaves the cached prefix intact too, but on fewer models: [Change effort mid-conversation](https://platform.claude.com/docs/en/build-with-claude/effort#changing-effort-mid-conversation) lists them. The stakes are highest on Claude Fable 5.1 and Claude Mythos 5.1, where a break re-writes the prefix at 1.25x the input price instead of reading it at 0.025x. On a 100,000-token prefix, one broken turn there costs $1.25 USD instead of $0.03 USD, 50 times the read; on Claude Opus 5.5 it costs $0.50 USD instead of $0.02 USD, and on Claude Sonnet 5.5 $0.25 USD instead of $0.01 USD, 25 times, and on the other current models 12.5 times.
136136
137137Anthropic measured this on the triage agent's long sessions[18](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs). An effort change and an added tool made mid-session rewrote 39,000 and 60,000 cached tokens, and those sessions cost $0.95 USD per session. The same two changes on the first request after compaction cost $0.75 USD, and on the request that triggered the compaction $0.92 USD, because the compaction's summarization pass then re-processed the 81,000-token context at the cache-write price: that summarization pass cost $0.21 USD, against $0.04 USD when the same changes came one request later, with accuracy within run-to-run noise in every arm:
138138
from line 302
302302
303303On harder work the gap widens. On Terminal-Bench 3[20](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence#refs), where the tasks are hard enough that pass rate rather than tokens sets the bill, Claude Opus 4.7, Opus 4.8, and Opus 5 each spend $8 USD to $15 USD per task but solve 7%, 15%, and 41% of tasks, so cost per solved task falls from $183 USD to $63 USD to $28 USD up the ladder. The 21% premium Claude Opus 5 carries over Opus 4.8 on the saturated coding subset becomes a 56% saving on Terminal-Bench 3, where the older model mostly fails: the more your workload defeats the old model, the more the upgrade saves per result.
304304
305Compare on cost per solved task, not per token: the same text costs about 30% more tokens on Claude Opus 4.7 and later, so a per-token comparison makes the newer models look more expensive by construction.
305Compare on cost per solved task, not per token: the same text costs about 30% more tokens on Claude 4.7 and later models, so a per-token comparison makes the newer models look more expensive by construction.
306306
307307### Tune effort
308308
from line 602
602602
603603The numbers on this page reflect list prices at the time of measurement and will drift as models and prices change. Your escalation rate, how cleanly tasks split, and transcript length move them too. The method stays the same:
604604
6051. Pull a few tasks from production logs, weighted like real traffic, and [write outcome checks](https://platform.claude.com/docs/en/test-and-evaluate/develop-tests) for each: tests pass, ticket closed, row count correct. Record cost per task beside the score: price the five priced token counts in each response's `usage` at their own rates (uncached input, 5-minute and 1-hour cache writes at 1.25x and 2x the input price, cache reads, and output), summed across the task's requests (the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) reports the aggregate).
6051. Pull a few tasks from production logs, weighted like real traffic, and [write outcome checks](https://platform.claude.com/docs/en/test-and-evaluate/develop-tests) for each: tests pass, ticket closed, row count correct. Record cost per task beside the score: price the five priced token counts in each response's `usage` at their own rates (uncached input, 5-minute and 1-hour cache writes at 1.25x and 2x the input price, cache reads, and output), summed across the task's requests (the [Usage and Cost API](https://platform.claude.com/docs/en/manage-claude/usage-cost-api) reports the aggregate). On a model priced by prompt length, such as Claude Haiku 5.5, price each request at the rates for its prompt length: a request whose prompt, cache reads and writes included, is over the model's threshold pays the higher prices for all of its tokens (see [Long context pricing](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing)).
6066062. Baseline the model tiers across effort levels, not only the default, and plot score against spend. A multi-model configuration must beat the single model's whole curve.
6076073. If the curve shows a gap effort can't close, add the multi-model strategy that fits and re-run the suite.
6086084. Run the winner in shadow on a traffic slice before cutover, then keep the suite running.
from line 611
611611
612612<CodeGroup>
613613 ```bash cURL
614 # Per-million-token prices from the pricing page; change these three for another model.
614 # Per-million-token prices from the pricing page; change these for another model.
615 # A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
615616 INPUT_PER_MTOK=4.00 # Claude Opus 5.5
616617 CACHE_READ_PER_MTOK=0.20 # 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
617618 OUTPUT_PER_MTOK=20.00
from line 639
638639 ```
639640
640641 ```bash CLI
641 # Per-million-token prices from the pricing page; change these three for another model.
642 # Per-million-token prices from the pricing page; change these for another model.
643 # A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
642644 INPUT_PER_MTOK=4.00 # Claude Opus 5.5
643645 CACHE_READ_PER_MTOK=0.20 # 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
644646 OUTPUT_PER_MTOK=20.00
from line 662
660662 ```
661663
662664 ```python Python
663 # Per-million-token prices from the pricing page; change these three for another model.
665 # Per-million-token prices from the pricing page; change these for another model.
666 # A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
664667 INPUT_PER_MTOK = 4.00 # Claude Opus 5.5
665668 # 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
666669 CACHE_READ_PER_MTOK = 0.20
from line 691
688691 ```
689692
690693 ```typescript TypeScript
691 // Per-million-token prices from the pricing page; change these three for another model.
694 // Per-million-token prices from the pricing page; change these for another model.
695 // A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
692696 const INPUT_PER_MTOK = 4.0; // Claude Opus 5.5
693697 const CACHE_READ_PER_MTOK = 0.2; // 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
694698 const OUTPUT_PER_MTOK = 20.0;
from line 715
711715 ```
712716
713717 ```csharp C#
714 // Per-million-token prices from the pricing page; change these three for another model.
718 // Per-million-token prices from the pricing page; change these for another model.
719 // A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
715720 const double InputPerMtok = 4.00; // Claude Opus 5.5
716721 const double CacheReadPerMtok = 0.20; // 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
717722 const double OutputPerMtok = 20.00;
from line 743
738743 ```
739744
740745 ```go Go
741 // Per-million-token prices from the pricing page; change these three for another model.
746 // Per-million-token prices from the pricing page; change these for another model.
747 // A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
742748 const (
743749 inputPerMTok = 4.00 // Claude Opus 5.5
744750 cacheReadPerMTok = 0.20 // 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
from line 775
769775 ```
770776
771777 ```java Java
772 // Per-million-token prices from the pricing page; change these three for another model.
778 // Per-million-token prices from the pricing page; change these for another model.
779 // A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
773780 static final double INPUT_PER_MTOK = 4.00; // Claude Opus 5.5
774781 static final double CACHE_READ_PER_MTOK = 0.20; // 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
775782 static final double OUTPUT_PER_MTOK = 20.00;
from line 803
796803 ```
797804
798805 ```php PHP
799 // Per-million-token prices from the pricing page; change these three for another model.
806 // Per-million-token prices from the pricing page; change these for another model.
807 // A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
800808 const INPUT_PER_MTOK = 4.00; // Claude Opus 5.5
801809 const CACHE_READ_PER_MTOK = 0.20; // 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
802810 const OUTPUT_PER_MTOK = 20.00;
from line 827
819827 ```
820828
821829 ```ruby Ruby
822 # Per-million-token prices from the pricing page; change these three for another model.
830 # Per-million-token prices from the pricing page; change these for another model.
831 # A model priced by prompt length, such as Claude Haiku 5.5, charges its long-prompt prices over its threshold.
823832 INPUT_PER_MTOK = 4.00 # Claude Opus 5.5
824833 CACHE_READ_PER_MTOK = 0.20 # 0.05x the input price on Claude Opus 5.5; the multiplier differs by model
825834 OUTPUT_PER_MTOK = 20.00
about-claude/pricing Changed · +13 / -12 lines
from line 68
6868 Starting with Claude Sonnet 4.5, Haiku 4.5, and Opus 4.5:
6969
7070 * **Bedrock** offers two endpoint types: global endpoints (dynamic routing for maximum availability) and regional endpoints (guaranteed data routing through specific geographic regions).
71 * **Google Cloud** offers three endpoint types: global endpoints, multi-region endpoints (dynamic routing within a geographic area), and regional endpoints.
71 * **Google Cloud** offers global endpoints and multi-region endpoints (dynamic routing within a geographic area) for these models, and regional endpoints for Claude Sonnet 4.6 and earlier models.
7272
7373 Regional and multi-region endpoints include a 10% premium over global endpoints. The Claude API (first-party) is global by default; for first-party data residency options and pricing, see [Data residency pricing](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing).
7474
from line 157
157157
158158### Data residency pricing
159159
160For Claude 4.6 and later models, specifying US-only inference through the `inference_geo` parameter incurs a 1.1x multiplier on all token pricing categories, including input tokens, output tokens, cache writes, and cache reads. Global routing (the default) uses standard pricing.
160For Claude 4.6 and later models, specifying US-only inference through the `inference_geo` parameter incurs a 1.1x multiplier on all token pricing categories, including input tokens, output tokens, cache writes, and cache reads. On Claude Haiku 5.5, the multiplier also applies to the higher prices for prompts over 100,000 tokens (see [Long context pricing](https://platform.claude.com/docs/en/about-claude/pricing#long-context-pricing)). Global routing (the default) uses standard pricing.
161161
162162This applies to the Claude API (first-party) and Claude Platform on AWS. On Claude in Microsoft Foundry, the same 1.1x multiplier applies to deployments that use the US Data Zone Standard deployment type (see [Inference geography](https://platform.claude.com/docs/en/about-claude/pricing#foundry-inference-geography)). Partner-operated platforms (Bedrock and Google Cloud) have independent regional pricing. See [Bedrock](https://aws.amazon.com/bedrock/pricing/) and [Google Cloud](https://cloud.google.com/vertex-ai/generative-ai/pricing#claude-models) for details. Earlier models do not support the `inference_geo` parameter and always use standard pricing; requests that include the parameter on these models return a 400 error.
163163
from line 276
276276
277277The bash tool definition adds the following input tokens to your request. This is in addition to the per-model [tool use system prompt](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing) that applies whenever any tool is present.
278278
279| Model | Additional input tokens |
280| --------------------------------------------------- | ----------------------- |
281| Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7 | 325 tokens |
282| Claude Opus 4.6, Claude Sonnet 4.6, and earlier | 244 tokens |
279| Model | Additional input tokens |
280| ----------------------------------------------------- | ----------------------- |
281| Claude 4.7 and later models and Claude Mythos Preview | 325 tokens |
282| Claude 4.6 and earlier models | 244 tokens |
283283
284284Additional tokens are consumed by:
285285
from line 320
320320
321321In addition to the base tokens, the following additional input tokens are needed for the text editor tool:
322322
323| Tool | Additional input tokens |
324| ----------------------------------- | ----------------------- |
325| `text_editor_20250429` (Claude 4.x) | 700 tokens |
323| Tool | Additional input tokens |
324| ------------------------------------------------------------------------------ | ----------------------- |
325| `text_editor_20250728` (Claude 4.7 and later models and Claude Mythos Preview) | 974 tokens |
326| `text_editor_20250728` (Claude 4.6 and earlier models) | 745 tokens |
326327
327328See [tool use pricing](https://platform.claude.com/docs/en/about-claude/pricing#tool-use-pricing) for complete pricing details.
328329
from line 381
380381
381382Computer use follows the standard [tool use pricing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing). When using the computer use tool:
382383
383**Toolset definition overhead:** Declaring `computer_toolset_20260801` with its default members adds about 4,500 input tokens to a request (about 4,520 on Claude Fable 5, Claude Mythos 5, Claude Opus 5, and Claude Opus 4.8, and about 4,590 on Claude Sonnet 5), which covers the member tool definitions and the tool use system prompt. Disabling `zoom` with `configs` removes about 410 of those tokens. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
384**Toolset definition overhead:** Declaring `computer_toolset_20260801` with its default members adds about 4,500 input tokens to a request (about 4,590 on Claude Sonnet 5 and about 4,520 on the other supported models), which covers the member tool definitions and the tool use system prompt. Disabling `zoom` with `configs` removes about 410 of those tokens. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
384385
385386**Earlier tool versions:** The following figures apply to the `computer_20251124` and `computer_20250124` tool versions, not to `computer_toolset_20260801`:
386387
from line 401
400401
401402Browser use follows the standard [tool use pricing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing). When using the browser use tool:
402403
403**Toolset definition overhead:** Declaring `browser_toolset_20260801` with its default members adds about 6,600 input tokens to a request (about 6,610 on Claude Fable 5, Claude Mythos 5, Claude Opus 5, and Claude Opus 4.8, and about 6,670 on Claude Sonnet 5), which covers the member tool definitions and the tool use system prompt. Enabling all four optional members adds about 880 tokens, and disabling members with `configs` reduces the count. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
404**Toolset definition overhead:** Declaring `browser_toolset_20260801` with its default members adds about 6,600 input tokens to a request (about 6,670 on Claude Sonnet 5 and about 6,610 on the other supported models), which covers the member tool definitions and the tool use system prompt. Enabling all four optional members adds about 880 tokens, and disabling members with `configs` reduces the count. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
404405
405406**Additional token consumption:**
406407
from line 519
518519
519520### How is token usage calculated?
520521
521Tokens are pieces of text that models process. As a rough estimate, 1 token is approximately 4 characters or 0.75 words in English. The exact count varies by language and content type.
522Tokens are pieces of text that models process. How many tokens the same text produces depends on the model's tokenizer, the language, and the type of content. Claude 4.7 and later models and Claude Mythos Preview use a newer tokenizer that produces approximately 30 percent more tokens for the same text than earlier models. To see how many tokens a request uses on a specific model, count it with [token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) and that model's ID.
522523
523524### Are there free tiers or trials?
524525
agents-and-tools/tool-use/advisor-tool Changed · +32 / -30 lines
from line 735
735735
736736### Mid-conversation nudge for under-calling executors
737737
738If a Haiku executor has not called the advisor in its first assistant turn, append a short reminder as an additional user message before the second assistant turn. In Anthropic's internal behavioral evaluation this raised task pass rates by roughly 7 percentage points on Haiku executors. On Sonnet executors, the plain-text nudge had no measurable effect in Anthropic's testing. The call-timing considerations that follow are especially relevant for Sonnet. Do not apply the nudge to Opus executors: On Opus it slightly lowered pass rates.
738If a Haiku executor has not called the advisor in its first assistant turn, append a short reminder as an additional user message before the second assistant turn. In Anthropic's internal behavioral evaluation on Claude Haiku 4.5 executors, this raised task pass rates by roughly 7 percentage points. On Sonnet executors, the plain-text nudge had no measurable effect in Anthropic's testing. The call-timing considerations that follow are especially relevant for Sonnet. Do not apply the nudge to Opus executors: On Opus it slightly lowered pass rates.
739739
740740With the default `NUDGE_TURN` of 2, the reminder typically arrives after the model has oriented on the task but before it has committed to an approach.
741741
from line 775
775775
776776 for turn in range(1, MAX_TURNS + 1):
777777 response = client.beta.messages.create(
778 model="claude-haiku-4-5",
778 model="claude-haiku-5-5",
779779 max_tokens=4096,
780780 betas=["advisor-tool-2026-03-01"],
781781 tools=tools,
from line 786
786786 block.type == "server_tool_use" and block.name == "advisor"
787787 for block in response.content
788788 )
789 if response.stop_reason == "end_turn":
790 break
791789 if response.stop_reason == "pause_turn":
792790 continue # server tool pending; re-send to let the API complete it
791 if response.stop_reason != "tool_use":
792 break # end_turn, or a stop such as max_tokens that needs handling (see below)
793793
794794 results = run_your_tools(response.content) # list of tool_result blocks
795795 if results:
from line 832
832832
833833 for (let turn = 1; turn <= MAX_TURNS; turn++) {
834834 const response = await client.beta.messages.create({
835 model: "claude-haiku-4-5",
835 model: "claude-haiku-5-5",
836836 max_tokens: 4096,
837837 betas: ["advisor-tool-2026-03-01"],
838838 tools,
from line 844
844844 response.content.some(
845845 (block) => block.type === "server_tool_use" && block.name === "advisor"
846846 );
847 if (response.stop_reason === "end_turn") {
848 break;
849 }
850847 if (response.stop_reason === "pause_turn") {
851848 continue; // server tool pending; re-send to let the API complete it
852849 }
850 if (response.stop_reason !== "tool_use") {
851 break; // end_turn, or a stop such as max_tokens that needs handling (see below)
852 }
853853
854854 const results = runYourTools(response.content); // list of tool_result blocks
855855 if (results.length > 0) {
from line 906
906906 {
907907 var response = await client.Beta.Messages.Create(new MessageCreateParams
908908 {
909 Model = Messages::Model.ClaudeHaiku4_5,
909 Model = Messages::Model.ClaudeHaiku5_5,
910910 MaxTokens = 4096,
911911 Tools = tools,
912912 Messages = messages,
from line 923
923923 block.TryPickServerToolUse(out var serverToolUse)
924924 && serverToolUse.Name.Value() == Name.Advisor
925925 );
926 if (response.StopReason == BetaStopReason.EndTurn)
927 {
928 break;
929 }
930926 if (response.StopReason == BetaStopReason.PauseTurn)
931927 {
932928 continue; // server tool pending; re-send to let the API complete it
933929 }
930 if (response.StopReason != BetaStopReason.ToolUse)
931 {
932 break; // end_turn, or a stop such as max_tokens that needs handling (see below)
933 }
934934
935935 var results = RunYourTools(response.Content); // list of tool_result blocks
936936 if (results.Count > 0)
from line 982
982982
983983 for turn := 1; turn <= maxTurns; turn++ {
984984 response, err := client.Beta.Messages.New(context.TODO(), anthropic.BetaMessageNewParams{
985 Model: anthropic.ModelClaudeHaiku4_5,
985 Model: anthropic.ModelClaudeHaiku5_5,
986986 MaxTokens: 4096,
987987 Tools: tools,
988988 Messages: messages,
from line 1001
10011001 advisorCalled = true
10021002 }
10031003 }
1004 if response.StopReason == anthropic.BetaStopReasonEndTurn {
1005 break
1006 }
10071004 if response.StopReason == anthropic.BetaStopReasonPauseTurn {
10081005 continue // server tool pending; re-send to let the API complete it
10091006 }
1007 if response.StopReason != anthropic.BetaStopReasonToolUse {
1008 break // end_turn, or a stop such as max_tokens that needs handling (see below)
1009 }
10101010
10111011 results := runYourTools(response.Content) // list of tool_result blocks
10121012 if len(results) > 0 {
from line 1076
10761076
10771077 for (int turn = 1; turn <= MAX_TURNS; turn++) {
10781078 BetaMessage response = client.beta().messages().create(MessageCreateParams.builder()
1079 .model(Model.CLAUDE_HAIKU_4_5)
1079 .model(Model.CLAUDE_HAIKU_5_5)
10801080 .maxTokens(4096L)
10811081 .tools(tools)
10821082 .messages(messages)
from line 1092
10921092 block.isServerToolUse()
10931093 && block.asServerToolUse().name().equals(BetaServerToolUseBlock.Name.ADVISOR));
10941094 BetaStopReason stopReason = response.stopReason().orElse(null);
1095 if (BetaStopReason.END_TURN.equals(stopReason)) {
1096 break;
1097 }
10981095 if (BetaStopReason.PAUSE_TURN.equals(stopReason)) {
10991096 continue; // server tool pending; re-send to let the API complete it
11001097 }
1098 if (!BetaStopReason.TOOL_USE.equals(stopReason)) {
1099 break; // end_turn, or a stop such as max_tokens that needs handling (see below)
1100 }
11011101
11021102 List<BetaContentBlockParam> results = runYourTools(response.content()); // list of tool_result blocks
11031103 if (!results.isEmpty()) {
from line 1154
11541154 $response = $client->beta->messages->create(
11551155 maxTokens: 4096,
11561156 messages: $messages,
1157 model: 'claude-haiku-4-5',
1157 model: 'claude-haiku-5-5',
11581158 tools: $tools,
11591159 betas: ['advisor-tool-2026-03-01'],
11601160 );
from line 1164
11641164 $advisorCalled = true;
11651165 }
11661166 }
1167 if ($response->stopReason === 'end_turn') {
1168 break;
1169 }
11701167 if ($response->stopReason === 'pause_turn') {
11711168 continue; // server tool pending; re-send to let the API complete it
11721169 }
1170 if ($response->stopReason !== 'tool_use') {
1171 break; // end_turn, or a stop such as max_tokens that needs handling (see below)
1172 }
11731173
11741174 $results = runYourTools($response->content); // list of tool_result blocks
11751175 if ($results !== []) {
from line 1210
12101210
12111211 (1..MAX_TURNS).each do |turn|
12121212 response = client.beta.messages.create(
1213 model: "claude-haiku-4-5",
1213 model: "claude-haiku-5-5",
12141214 max_tokens: 4096,
12151215 tools: tools,
12161216 messages: messages,
from line 1220
12201220 advisor_called ||= response.content.any? do |block|
12211221 block.type == :server_tool_use && block.name == :advisor
12221222 end
1223 break if response.stop_reason == :end_turn
12241223 next if response.stop_reason == :pause_turn # server tool pending; re-send to let the API complete it
1224 break unless response.stop_reason == :tool_use # end_turn, or a stop such as max_tokens that needs handling (see below)
12251225
12261226 results = run_your_tools(response.content) # list of tool_result blocks
12271227 messages << { role: "user", content: results } unless results.empty?
from line 1231
12311231 ```
12321232</CodeGroup>
12331233
1234Append the nudge as its own user message after the tool results rather than as a sibling block in the same message. Consecutive user messages are valid. In Anthropic's testing on Haiku and Sonnet executors they behaved equivalently to a sibling block. The separate-message shape also keeps the reminder clearly distinct from tool output.
1234The loop ends on any stop reason other than `tool_use` or `pause_turn`. If `max_tokens` cuts a response off, drop the truncated assistant turn from `messages` and [retry with a higher `max_tokens`](https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons#max-tokens). When that turn contains no `tool_use` block, you can instead keep it and [continue the response](https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons#ensuring-complete-responses) with a new user message. Re-sending the truncated assistant turn as the last message is a [prefill](https://platform.claude.com/docs/en/api/errors#prefill-not-supported), which Claude 4.6 and later models reject.
12351235
1236Append the nudge as its own user message after the tool results rather than as a sibling block in the same message. Consecutive user messages are valid. In Anthropic's testing on Claude Haiku 4.5 and Sonnet executors they behaved equivalently to a sibling block. The separate-message shape also keeps the reminder clearly distinct from tool output.
1237
12361238**Trade-offs:** The nudge raises the call rate, which can push trivially simple tasks into an unnecessary consult. If your workload mixes simple and complex tasks, consider raising `NUDGE_TURN` to 3 so two-turn tasks complete before the nudge fires, or gate the nudge on a task-complexity signal you already compute. If your system prompt already contains restraint language ("reserve the advisor for genuine uncertainty"), skip the nudge entirely, because the two instructions conflict.
12371239
1238The plain-text nudge is highly salient on Haiku and Sonnet executors: 74 percent (Sonnet) to 98 percent (Haiku) of nudged attempts in Anthropic's testing called the advisor immediately at turn 2. If that lands before your executor has read the problem or gathered context, the resulting advisor call is low-context and can displace a better-timed later call. Measure your executor's baseline first-call turn before adding the nudge. If the executor already calls the advisor reliably and its first call typically lands at turn N, set `NUDGE_TURN` greater than N. In Anthropic's testing, a turn-2 nudge on workloads where the baseline first call was turn 7 or later correlated with a 3 to 4 percentage-point task-performance drop. On a browse workload where the baseline call rate was 86 percent, the same nudge raised engagement with no task-performance cost.
1240The plain-text nudge is highly salient on Claude Haiku 4.5 and Sonnet executors: 74 percent (Sonnet) to 98 percent (Claude Haiku 4.5) of nudged attempts in Anthropic's testing called the advisor immediately at turn 2. If that lands before your executor has read the problem or gathered context, the resulting advisor call is low-context and can displace a better-timed later call. Measure your executor's baseline first-call turn before adding the nudge. If the executor already calls the advisor reliably and its first call typically lands at turn N, set `NUDGE_TURN` greater than N. In Anthropic's testing, a turn-2 nudge on workloads where the baseline first call was turn 7 or later correlated with a 3 to 4 percentage-point task-performance drop. On a browse workload where the baseline call rate was 86 percent, the same nudge raised engagement with no task-performance cost.
12391241
12401242To force a consult on a specific request instead of nudging, set `tool_choice` to `{"type": "tool", "name": "advisor"}`, subject to the constraints in [Forcing tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools#forcing-tool-use). Forcing tool use cannot be combined with manual extended thinking (`thinking: {type: "enabled"}`): the API returns a `400 invalid_request_error` if you enable both. Adaptive thinking supports forced tool use. Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1, and Claude Mythos 5.1 executors reject `tool_choice` types `tool` and `any`, so use the prompt nudge on those models instead.
12411243
from line 1403
14011403**Keep it consistent:** Set `caching` once and leave it for the whole conversation. Toggling it off and on mid-conversation causes cache misses.
14021404
14031405<Warning>
1404 [`clear_thinking`](https://platform.claude.com/docs/en/build-with-claude/context-editing) with a `keep` value other than `"all"` shifts the advisor's quoted transcript each turn, causing advisor-side cache misses. This is a cost degradation only. Advice quality is unaffected. When extended thinking is enabled without explicit `clear_thinking` configuration, the API defaults to `keep: {type: "thinking_turns", value: 1}`, which triggers this behavior (the default on earlier Opus/Sonnet models and Haiku models through Claude Haiku 4.5, whereas on Opus 4.5+, Sonnet 4.6+, and Haiku 5.5 the default is to keep all turns). Set `keep: "all"` to preserve advisor cache stability.
1406 [`clear_thinking`](https://platform.claude.com/docs/en/build-with-claude/context-editing) with a `keep` value other than `"all"` shifts the advisor's quoted transcript each turn, causing advisor-side cache misses. This is a cost degradation only. Advice quality is unaffected. When thinking is on without explicit `clear_thinking` configuration, the API defaults to `keep: {type: "thinking_turns", value: 1}`, which triggers this behavior (the default on earlier Opus and Sonnet models and on Haiku models through Claude Haiku 4.5; on Claude Opus 4.5 and later Opus models, Claude Sonnet 4.6 and later Sonnet models, and Claude Haiku 5.5, the default is to keep all turns). Set `keep: "all"` to preserve advisor cache stability.
14051407</Warning>
14061408
14071409## Combining with other tools
agents-and-tools/tool-use/bash-tool Changed · +4 / -4 lines
from line 1920
19201920
19211921The bash tool definition adds the following input tokens to your request. This is in addition to the per-model [tool use system prompt](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing) that applies whenever any tool is present.
19221922
1923| Model | Additional input tokens |
1924| --------------------------------------------------- | ----------------------- |
1925| Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7 | 325 tokens |
1926| Claude Opus 4.6, Claude Sonnet 4.6, and earlier | 244 tokens |
1923| Model | Additional input tokens |
1924| ----------------------------------------------------- | ----------------------- |
1925| Claude 4.7 and later models and Claude Mythos Preview | 325 tokens |
1926| Claude 4.6 and earlier models | 244 tokens |
19271927
19281928Additional tokens are consumed by:
19291929
agents-and-tools/tool-use/browser-use-tool Changed · +1 / -4 lines
from line 20
2020 - claude-haiku-5-5
2121 supportedPlatforms:
2222 Claude API: ga
23 Claude Platform on AWS: not available
24 Amazon Bedrock: not available
2523 Google Cloud: ga
26 Microsoft Foundry: not available
2724---
2825
2926The browser use tool lets Claude navigate, read, and interact with webpages in a browser that your application runs. Claude works with the page both through its structure (the accessibility tree, elements, forms, and tabs) and through screenshots and viewport coordinates.
from line 1567
15701567
15711568Browser use follows the standard [tool use pricing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing). When using the browser use tool:
15721569
1573**Toolset definition overhead:** Declaring `browser_toolset_20260801` with its default members adds about 6,600 input tokens to a request (about 6,610 on Claude Fable 5, Claude Mythos 5, Claude Opus 5, and Claude Opus 4.8, and about 6,670 on Claude Sonnet 5), which covers the member tool definitions and the tool use system prompt. Enabling all four optional members adds about 880 tokens, and disabling members with `configs` reduces the count. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
1570**Toolset definition overhead:** Declaring `browser_toolset_20260801` with its default members adds about 6,600 input tokens to a request (about 6,670 on Claude Sonnet 5 and about 6,610 on the other supported models), which covers the member tool definitions and the tool use system prompt. Enabling all four optional members adds about 880 tokens, and disabling members with `configs` reduces the count. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
15741571
15751572**Additional token consumption:**
15761573
agents-and-tools/tool-use/computer-use-tool Changed · +5 / -5 lines
from line 25
2525 Google Cloud: ga
2626 Microsoft Foundry: beta
2727 details:
28 - On the Claude API and Google Cloud, Claude 5.5 and later models support computer use only through the `computer_toolset_20260801` toolset and return an error for the earlier `computer_20251124` tool version. To move an existing integration, see [Migrate from `computer_20251124`](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#migrate-from-computer-20251124).
29 - On Amazon Bedrock, Claude Opus 5.5 and Claude Sonnet 5.5 accept the earlier `computer_20251124` tool version as Claude Opus 5 and Claude Sonnet 5 do.
28 - On the Claude API and Google Cloud, Claude 5.5 and later models support computer use only through the `computer_toolset_20260801` toolset and return an error for the earlier `computer_20251124` and `computer_20250124` tool versions. To move an existing integration, see [Migrate from `computer_20251124`](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#migrate-from-computer-20251124). To move from `computer_20250124`, see [Move computer use to the toolset](https://platform.claude.com/docs/en/models/haiku-5-5/migration-guide#computer-use-toolset) in the Claude Haiku 5.5 migration guide.
29 - On Amazon Bedrock, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 accept the earlier `computer_20251124` tool version as Claude Opus 5 and Claude Sonnet 5 do.
3030 - Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, and Claude Opus 4.5 support computer use only through the earlier `computer_20251124` tool version, which requires a beta header; see [Earlier tool versions](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions).
3131 - Platforms other than the Claude API and Google Cloud currently offer only the [earlier beta tool versions](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions).
3232---
from line 2119
21192119
21202120## Migrate from `computer_20251124`
21212121
2122Upgrading from `computer_20251124` to the toolset is optional: the models listed for `computer_20251124` under [Earlier tool versions](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions) keep accepting it with its beta header, so an existing integration keeps working until you change it. Claude 5.5 and later models are the exception on the Claude API and Google Cloud: there they accept only the toolset. Upgrade an integration before you move it to one of them. On Amazon Bedrock, Claude Opus 5.5 and Claude Sonnet 5.5 keep accepting `computer_20251124`. To upgrade, make the following changes together:
2122Upgrading from `computer_20251124` to the toolset is optional: the models listed for `computer_20251124` under [Earlier tool versions](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool#earlier-tool-versions) keep accepting it with its beta header, so an existing integration keeps working until you change it. Claude 5.5 and later models are the exception on the Claude API and Google Cloud: there they accept only the toolset. Upgrade an integration before you move it to one of them. On Amazon Bedrock, Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 accept `computer_20251124`. To upgrade, make the following changes together:
21232123
212421241. **Remove the beta header.** Drop `anthropic-beta: computer-use-2025-11-24` from your requests. With the SDK, remove `betas` (python, typescript, php, ruby; csharp, go: `Betas`; java: `.addBeta()`) and call the Messages API through the standard client rather than the beta namespace.
212521252. **Change the `tools` entry.** Set `type` to `computer_toolset_20260801` and delete `name`, `display_width_px`, `display_height_px`, `display_number`, and `enable_zoom`. The toolset rejects each of these fields.
from line 2181
21812181
21822182| Tool version | Beta header | Use with | Parameters |
21832183| ------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
2184| `computer_20251124` | `computer-use-2025-11-24` | Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, and Claude Opus 4.5; on Amazon Bedrock, also Claude Opus 5.5 and Claude Sonnet 5.5 | [API reference](https://platform.claude.com/docs/en/api/beta/messages/create) |
2184| `computer_20251124` | `computer-use-2025-11-24` | Claude Fable 5.1, Claude Mythos 5.1, Claude Fable 5, Claude Mythos 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Sonnet 4.6, and Claude Opus 4.5; on Amazon Bedrock, also Claude Opus 5.5, Claude Sonnet 5.5, and Claude Haiku 5.5 | [API reference](https://platform.claude.com/docs/en/api/beta/messages/create) |
21852185| `computer_20250124` | `computer-use-2025-01-24` | Claude Sonnet 4.5 ([deprecated](https://platform.claude.com/docs/en/about-claude/model-deprecations)), Claude Haiku 4.5, Claude Opus 4.1 ([retired, except on Bedrock and Google Cloud](https://platform.claude.com/docs/en/about-claude/model-deprecations)), Claude Sonnet 4 ([retired, except on Bedrock and Google Cloud](https://platform.claude.com/docs/en/about-claude/model-deprecations)), and Claude Opus 4 ([retired, except on Google Cloud](https://platform.claude.com/docs/en/about-claude/model-deprecations)) | [API reference](https://platform.claude.com/docs/en/api/beta/messages/create) |
21862186
21872187***
from line 2209
22092209
22102210Computer use follows the standard [tool use pricing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing). When using the computer use tool:
22112211
2212**Toolset definition overhead:** Declaring `computer_toolset_20260801` with its default members adds about 4,500 input tokens to a request (about 4,520 on Claude Fable 5, Claude Mythos 5, Claude Opus 5, and Claude Opus 4.8, and about 4,590 on Claude Sonnet 5), which covers the member tool definitions and the tool use system prompt. Disabling `zoom` with `configs` removes about 410 of those tokens. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
2212**Toolset definition overhead:** Declaring `computer_toolset_20260801` with its default members adds about 4,500 input tokens to a request (about 4,590 on Claude Sonnet 5 and about 4,520 on the other supported models), which covers the member tool definitions and the tool use system prompt. Disabling `zoom` with `configs` removes about 410 of those tokens. The exact count for a request is reported in the response `usage`, and you can estimate it in advance with the [token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting).
22132213
22142214**Earlier tool versions:** The following figures apply to the `computer_20251124` and `computer_20250124` tool versions, not to `computer_toolset_20260801`:
22152215
agents-and-tools/tool-use/define-tools Changed · +6 / -4 lines
from line 558
558558
559559Not every model and setting supports forced tool use. Where it isn't supported, `tool_choice: {"type": "any"}` and `tool_choice: {"type": "tool", "name": "..."}` fail, while `tool_choice: {"type": "auto"}` (the default) and `tool_choice: {"type": "none"}` still work:
560560
561| Model or setting | Restriction | What to use instead |
562| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
563| Manual [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) (`thinking: {type: "enabled"}`) | `any` and `tool` are not supported and result in an error | `auto` or `none`. [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) itself doesn't block forced tool use (Claude Opus 5 and Claude Haiku 5.5 support it with thinking on); the models in the next row reject forced tool use regardless of thinking settings |
564| Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1, and [Claude Mythos 5.1](https://platform.claude.com/docs/en/models/mythos-5-1/overview) | `any` and `tool` return a [400 error](https://platform.claude.com/docs/en/api/errors#forced-tool-use-not-supported) | `auto` with [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) to guarantee schema-valid tool inputs, or [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) when you need a response in a fixed JSON shape. Prompting still influences which tool `auto` picks. `none` is also supported |
561| Model or setting | Restriction | What to use instead |
562| --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
563| Manual [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) (`thinking: {type: "enabled"}`) | `any` and `tool` are not supported and result in an error | `auto` or `none`. [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) itself doesn't block forced tool use (models with thinking on by default, such as Claude Opus 5 and Claude Haiku 5.5, accept it, but a forced call skips thinking: the response starts with the tool call and has no `thinking` block); the models in the next row reject forced tool use regardless of thinking settings |
564| Claude Opus 5.5, Claude Sonnet 5.5, Claude Fable 5.1, and [Claude Mythos 5.1](https://platform.claude.com/docs/en/models/mythos-5-1/overview) | `any` and `tool` return a [400 error](https://platform.claude.com/docs/en/api/errors#forced-tool-use-not-supported) | `auto` with [strict tool use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/strict-tool-use) to guarantee schema-valid tool inputs, or [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) when you need a response in a fixed JSON shape. Prompting still influences which tool `auto` picks. `none` is also supported |
565565
566566On models that support it, the highlighted lines are the only difference from a standard tool use request:
567567
from line 862
862862Note that when you have `tool_choice` as `any` or `tool`, the API prefills the assistant message to force a tool to be used. This means that the models will not emit a natural language response or explanation before `tool_use` content blocks, even if explicitly asked to do so.
863863
864864Testing has shown that this should not reduce performance. If you would like the model to provide natural language context or explanations while still requesting that the model use a specific tool, you can use `{"type": "auto"}` for `tool_choice` (the default) and add explicit instructions in a `user` message. For example: `What's the weather like in London? Use the get_weather tool in your response.`
865
866Forcing a tool also skips thinking on every model that accepts forced tool use: the response starts with the `tool_use` block and has no `thinking` block. To let the model think before it calls the tool, use `auto` with a prompt instruction in the same way.
865867
866868<Tip>
867869 **Guaranteed tool calls with strict tools**
agents-and-tools/tool-use/text-editor-tool Changed · +4 / -3 lines
from line 2238
22382238
22392239In addition to the base tokens, the following additional input tokens are needed for the text editor tool:
22402240
2241| Tool | Additional input tokens |
2242| ----------------------------------- | ----------------------- |
2243| `text_editor_20250429` (Claude 4.x) | 700 tokens |
2241| Tool | Additional input tokens |
2242| ------------------------------------------------------------------------------ | ----------------------- |
2243| `text_editor_20250728` (Claude 4.7 and later models and Claude Mythos Preview) | 974 tokens |
2244| `text_editor_20250728` (Claude 4.6 and earlier models) | 745 tokens |
22442245
22452246For more detailed information about tool pricing, see [Tool use pricing](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview#pricing).
22462247
agents-and-tools/tool-use/troubleshooting-tool-use Changed · +1 / -1 lines
## JSON escaping differences between model versions ## JSON escaping differences (Opus 4.6+)
from line 56
5656| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
5757| Claude refuses to act on a tool result, or asks the user to confirm instructions that came from it | Your own instructions are being delivered inside the `tool_result` content | Claude is trained to treat instructions inside tool results as potentially untrusted third-party content. Move your instructions out of the tool result: send them in a `user` turn after the `tool_result` block, or, on supported models, in a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages). Keep the tool result to just the data. See [Mitigate jailbreaks and prompt injections](https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks#indirect-prompt-injection). |
5858
59## JSON escaping differences (Opus 4.6+)
59## JSON escaping differences between model versions
6060
6161| Symptom | Cause | Fix |
6262| -------------------------------------------------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
api/beta Changed · +1120 / -0 lines
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 477
477477
478478#### Headers
479479
480- `"anthropic-version": optional string`
481
482 The version of the Claude API you want to use.
483
484 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
485
480486- `"anthropic-beta": optional array of AnthropicBeta`
481487
482488 Optional header to specify the beta version(s) you want to use.
from line 949
943949
944950#### Headers
945951
952- `"anthropic-version": optional string`
953
954 The version of the Claude API you want to use.
955
956 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
957
946958- `"anthropic-beta": optional array of AnthropicBeta`
947959
948960 Optional header to specify the beta version(s) you want to use.
from line 1400
13881400
13891401#### Headers
13901402
1403- `"anthropic-version": optional string`
1404
1405 The version of the Claude API you want to use.
1406
1407 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
1408
13911409- `"anthropic-beta": optional array of AnthropicBeta`
13921410
13931411 Optional header to specify the beta version(s) you want to use.
from line 7753
77357753
77367754 - `strict: optional boolean`
77377755
7738 When true, guarantees schema validation on tool names and inputs
7739
7740 - `BetaToolTextEditor20250429 object`
7741
7742 - `type: "text_editor_20250429"`
7743
7744 - `name: "str_replace_based_edit_tool"`
7745
7746 Name of the tool.
7747
7748 This is how the tool will be called by the model and in `tool_use` blocks.
7749
7750 - `allowed_callers: optional array of "direct" or "code_execution_20250825" or "code_execution_20260120" or "code_execution_20260521"`
7751
7752 - `"direct"`
7753
7754 - `"code_execution_20250825"`
7755
7756 - `
7756 When true,
api/beta/agents Changed · +12 / -0 lines
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 13
1313
1414### Headers
1515
16- `"anthropic-version": optional string`
17
1618- `"anthropic-beta": optional array of AnthropicBeta`
1719
1820 Optional header to specify the beta version(s) you want to use.
from line 1755
17531755
17541756### Headers
17551757
1758- `"anthropic-version": optional string`
1759
17561760- `"anthropic-beta": optional array of AnthropicBeta`
17571761
17581762 Optional header to specify the beta version(s) you want to use.
from line 2652
26482652
26492653### Headers
26502654
2655- `"anthropic-version": optional string`
2656
26512657- `"anthropic-beta": optional array of AnthropicBeta`
26522658
26532659 Optional header to specify the beta version(s) you want to use.
from line 3532
35263532
35273533### Headers
35283534
3535- `"anthropic-version": optional string`
3536
35293537- `"anthropic-beta": optional array of AnthropicBeta`
35303538
35313539 Optional header to specify the beta version(s) you want to use.
from line 5249
52415249
52425250### Headers
52435251
5252- `"anthropic-version": optional string`
5253
52445254- `"anthropic-beta": optional array of AnthropicBeta`
52455255
52465256 Optional header to specify the beta version(s) you want to use.
from line 8081
80718081
80728082 - `enabled: optional boolean or null`
80738083
8074 Whether this tool is enabled and available to Claude. Overrides the default_config setting.
8075
8076 - `permission_policy: optional BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy or null`
8077
8078 Permission policy for this tool. Control
8084 Whether this tool is enabled and available to Claude. Overrides the default_conf
api/beta/deployments Changed · +16 / -0 lines
from line 13
1313
1414### Headers
1515
16- `"anthropic-version": optional string`
17
1618- `"anthropic-beta": optional array of AnthropicBeta`
1719
1820 Optional header to specify the beta version(s) you want to use.
from line 1199
11971199
11981200### Headers
11991201
1202- `"anthropic-version": optional string`
1203
12001204- `"anthropic-beta": optional array of AnthropicBeta`
12011205
12021206 Optional header to specify the beta version(s) you want to use.
from line 1932
19281932
19291933### Headers
19301934
1935- `"anthropic-version": optional string`
1936
19311937- `"anthropic-beta": optional array of AnthropicBeta`
19321938
19331939 Optional header to specify the beta version(s) you want to use.
from line 2656
26502656
26512657### Headers
26522658
2659- `"anthropic-version": optional string`
2660
26532661- `"anthropic-beta": optional array of AnthropicBeta`
26542662
26552663 Optional header to specify the beta version(s) you want to use.
from line 3790
37823790
37833791### Headers
37843792
3793- `"anthropic-version": optional string`
3794
37853795- `"anthropic-beta": optional array of AnthropicBeta`
37863796
37873797 Optional header to specify the beta version(s) you want to use.
from line 4515
45054515
45064516### Headers
45074517
4518- `"anthropic-version": optional string`
4519
45084520- `"anthropic-beta": optional array of AnthropicBeta`
45094521
45104522 Optional header to specify the beta version(s) you want to use.
from line 4902
48904902
48914903### Headers
48924904
4905- `"anthropic-version": optional string`
4906
48934907- `"anthropic-beta": optional array of AnthropicBeta`
48944908
48954909 Optional header to specify the beta version(s) you want to use.
from line 5626
56125626 Unique identifier of the deployment to unpause.
56135627
56145628### Headers
5629
5630- `"anthropic-version": optional string`
56155631
56165632- `"anthropic-beta": optional array of AnthropicBeta`
56175633
api/beta/dreams Changed · +10 / -0 lines
from line 17
1717
1818### Headers
1919
20- `"anthropic-version": optional string`
21
2022- `"anthropic-beta": optional array of AnthropicBeta`
2123
2224 Optional header to specify the beta version(s) you want to use.
from line 598
596598
597599### Headers
598600
601- `"anthropic-version": optional string`
602
599603- `"anthropic-beta": optional array of AnthropicBeta`
600604
601605 Optional header to specify the beta version(s) you want to use.
from line 1012
10081012
10091013### Headers
10101014
1015- `"anthropic-version": optional string`
1016
10111017- `"anthropic-beta": optional array of AnthropicBeta`
10121018
10131019 Optional header to specify the beta version(s) you want to use.
from line 1421
14151421
14161422### Headers
14171423
1424- `"anthropic-version": optional string`
1425
14181426- `"anthropic-beta": optional array of AnthropicBeta`
14191427
14201428 Optional header to specify the beta version(s) you want to use.
from line 1830
18221830 The ID of the dream to archive (`drm_...`).
18231831
18241832### Headers
1833
1834- `"anthropic-version": optional string`
18251835
18261836- `"anthropic-beta": optional array of AnthropicBeta`
18271837
api/beta/environments Changed · +84 / -0 lines
from line 13
1313
1414### Headers
1515
16- `"anthropic-version": optional string`
17
18 The version of the Claude API you want to use.
19
20 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
21
1622- `"anthropic-beta": optional array of AnthropicBeta`
1723
1824 Optional header to specify the beta version(s) you want to use.
from line 488
482488
483489### Headers
484490
491- `"anthropic-version": optional string`
492
493 The version of the Claude API you want to use.
494
495 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
496
485497- `"anthropic-beta": optional array of AnthropicBeta`
486498
487499 Optional header to specify the beta version(s) you want to use.
from line 819
807819
808820### Headers
809821
822- `"anthropic-version": optional string`
823
824 The version of the Claude API you want to use.
825
826 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
827
810828- `"anthropic-beta": optional array of AnthropicBeta`
811829
812830 Optional header to specify the beta version(s) you want to use.
from line 1141
11231141
11241142### Headers
11251143
1144- `"anthropic-version": optional string`
1145
1146 The version of the Claude API you want to use.
1147
1148 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
1149
11261150- `"anthropic-beta": optional array of AnthropicBeta`
11271151
11281152 Optional header to specify the beta version(s) you want to use.
from line 1585
15611585
15621586### Headers
15631587
1588- `"anthropic-version": optional string`
1589
1590 The version of the Claude API you want to use.
1591
1592 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
1593
15641594- `"anthropic-beta": optional array of AnthropicBeta`
15651595
15661596 Optional header to specify the beta version(s) you want to use.
from line 1750
17201750
17211751### Headers
17221752
1753- `"anthropic-version": optional string`
1754
1755 The version of the Claude API you want to use.
1756
1757 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
1758
17231759- `"anthropic-beta": optional array of AnthropicBeta`
17241760
17251761 Optional header to specify the beta version(s) you want to use.
from line 2542
25062542
25072543#### Headers
25082544
2545- `"anthropic-version": optional string`
2546
2547 The version of the Claude API you want to use.
2548
2549 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
2550
25092551- `"anthropic-beta": optional array of AnthropicBeta`
25102552
25112553 Optional header to specify the beta version(s) you want to use.
from line 2804
27622804
27632805#### Headers
27642806
2807- `"anthropic-version": optional string`
2808
2809 The version of the Claude API you want to use.
2810
2811 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
2812
27652813- `"anthropic-beta": optional array of AnthropicBeta`
27662814
27672815 Optional header to specify the beta version(s) you want to use.
from line 3052
30043052
30053053#### Headers
30063054
3055- `"anthropic-version": optional string`
3056
3057 The version of the Claude API you want to use.
3058
3059 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
3060
30073061- `"anthropic-beta": optional array of AnthropicBeta`
30083062
30093063 Optional header to specify the beta version(s) you want to use.
from line 3307
32533307
32543308#### Headers
32553309
3310- `"anthropic-version": optional string`
3311
3312 The version of the Claude API you want to use.
3313
3314 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
3315
32563316- `"anthropic-beta": optional array of AnthropicBeta`
32573317
32583318 Optional header to specify the beta version(s) you want to use.
from line 3495
34353495
34363496#### Headers
34373497
3498- `"anthropic-version": optional string`
3499
3500 The version of the Claude API you want to use.
3501
3502 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
3503
34383504- `"anthropic-beta": optional array of AnthropicBeta`
34393505
34403506 Optional header to specify the beta version(s) you want to use.
from line 3765
36993765
37003766#### Headers
37013767
3768- `"anthropic-version": optional string`
3769
3770 The version of the Claude API you want to use.
3771
3772 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
3773
37023774- `"anthropic-beta": optional array of AnthropicBeta`
37033775
37043776 Optional header to specify the beta version(s) you want to use.
from line 4018
39464018
39474019#### Headers
39484020
4021- `"anthropic-version": optional string`
4022
4023 The version of the Claude API you want to use.
4024
4025 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
4026
39494027- `"anthropic-beta": optional array of AnthropicBeta`
39504028
39514029 Optional header to specify the beta version(s) you want to use.
from line 4275
41974275- `environment_id: string`
41984276
41994277#### Headers
4278
4279- `"anthropic-version": optional string`
4280
4281 The version of the Claude API you want to use.
4282
4283 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
42004284
42014285- `"anthropic-beta": optional array of AnthropicBeta`
42024286
api/beta/environments/archive Changed · +6 / -0 lines
from line 15
1515
1616## Headers
1717
18- `"anthropic-version": optional string`
19
20 The version of the Claude API you want to use.
21
22 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
23
1824- `"anthropic-beta": optional array of AnthropicBeta`
1925
2026 Optional header to specify the beta version(s) you want to use.
api/beta/environments/create Changed · +6 / -0 lines
from line 11
1111
1212## Headers
1313
14- `"anthropic-version": optional string`
15
16 The version of the Claude API you want to use.
17
18 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
19
1420- `"anthropic-beta": optional array of AnthropicBeta`
1521
1622 Optional header to specify the beta version(s) you want to use.
api/beta/environments/delete Changed · +6 / -0 lines
from line 15
1515
1616## Headers
1717
18- `"anthropic-version": optional string`
19
20 The version of the Claude API you want to use.
21
22 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
23
1824- `"anthropic-beta": optional array of AnthropicBeta`
1925
2026 Optional header to specify the beta version(s) you want to use.
api/beta/environments/list Changed · +6 / -0 lines
from line 29
2929
3030## Headers
3131
32- `"anthropic-version": optional string`
33
34 The version of the Claude API you want to use.
35
36 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
37
3238- `"anthropic-beta": optional array of AnthropicBeta`
3339
3440 Optional header to specify the beta version(s) you want to use.
api/beta/environments/retrieve Changed · +6 / -0 lines
from line 15
1515
1616## Headers
1717
18- `"anthropic-version": optional string`
19
20 The version of the Claude API you want to use.
21
22 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
23
1824- `"anthropic-beta": optional array of AnthropicBeta`
1925
2026 Optional header to specify the beta version(s) you want to use.
api/beta/environments/update Changed · +6 / -0 lines
from line 15
1515
1616## Headers
1717
18- `"anthropic-version": optional string`
19
20 The version of the Claude API you want to use.
21
22 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
23
1824- `"anthropic-beta": optional array of AnthropicBeta`
1925
2026 Optional header to specify the beta version(s) you want to use.
api/beta/environments/work Changed · +48 / -0 lines
from line 21
2121
2222### Headers
2323
24- `"anthropic-version": optional string`
25
26 The version of the Claude API you want to use.
27
28 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
29
2430- `"anthropic-beta": optional array of AnthropicBeta`
2531
2632 Optional header to specify the beta version(s) you want to use.
from line 283
277283
278284### Headers
279285
286- `"anthropic-version": optional string`
287
288 The version of the Claude API you want to use.
289
290 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
291
280292- `"anthropic-beta": optional array of AnthropicBeta`
281293
282294 Optional header to specify the beta version(s) you want to use.
from line 531
519531
520532### Headers
521533
534- `"anthropic-version": optional string`
535
536 The version of the Claude API you want to use.
537
538 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
539
522540- `"anthropic-beta": optional array of AnthropicBeta`
523541
524542 Optional header to specify the beta version(s) you want to use.
from line 786
768786
769787### Headers
770788
789- `"anthropic-version": optional string`
790
791 The version of the Claude API you want to use.
792
793 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
794
771795- `"anthropic-beta": optional array of AnthropicBeta`
772796
773797 Optional header to specify the beta version(s) you want to use.
from line 974
950974
951975### Headers
952976
977- `"anthropic-version": optional string`
978
979 The version of the Claude API you want to use.
980
981 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
982
953983- `"anthropic-beta": optional array of AnthropicBeta`
954984
955985 Optional header to specify the beta version(s) you want to use.
from line 1244
12141244
12151245### Headers
12161246
1247- `"anthropic-version": optional string`
1248
1249 The version of the Claude API you want to use.
1250
1251 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
1252
12171253- `"anthropic-beta": optional array of AnthropicBeta`
12181254
12191255 Optional header to specify the beta version(s) you want to use.
from line 1497
14611497
14621498### Headers
14631499
1500- `"anthropic-version": optional string`
1501
1502 The version of the Claude API you want to use.
1503
1504 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
1505
14641506- `"anthropic-beta": optional array of AnthropicBeta`
14651507
14661508 Optional header to specify the beta version(s) you want to use.
from line 1754
17121754- `environment_id: string`
17131755
17141756### Headers
1757
1758- `"anthropic-version": optional string`
1759
1760 The version of the Claude API you want to use.
1761
1762 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
17151763
17161764- `"anthropic-beta": optional array of AnthropicBeta`
17171765
api/beta/environments/work/ack Changed · +6 / -0 lines
from line 19
1919
2020## Headers
2121
22- `"anthropic-version": optional string`
23
24 The version of the Claude API you want to use.
25
26 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
27
2228- `"anthropic-beta": optional array of AnthropicBeta`
2329
2430 Optional header to specify the beta version(s) you want to use.
api/beta/environments/work/heartbeat Changed · +6 / -0 lines
from line 29
2929
3030## Headers
3131
32- `"anthropic-version": optional string`
33
34 The version of the Claude API you want to use.
35
36 Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
37
3238- `"anthropic-beta": optional array of AnthropicBeta`
3339
3440 Optional header to specify the beta version(s) you want to use.