Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One capture · api

One read of Claude Developer Platformapi-20261022T020713Z

168 pages moved out of 808 read.

Pages moved 168 significant first
Pages read 808 in this capture
Captured 02:07 UTC
Corpus hash f3f082ef7981 index-hash

What this read moved

76-100 of 168, page 4 of 7

This capture is too large to show at once. Changes 76-100 of 168 are below, significant first; the rest are on the following screens.

models/fable-5-1/whats-new-fable-5-1 Changed · +10 / -10 lines

from line 6
66 
77Claude Fable 5.1 extends Claude Fable 5 at the same input and output prices, with cache reads at a quarter of the cost, and brings stronger long-running agentic coding, multistep research, and document, spreadsheet, and slide work. For most workloads, start with Claude Opus 5.5 (see [Choosing a model](https://platform.claude.com/docs/en/about-claude/models/choosing-a-model)). Use Claude Fable 5.1 for demanding reasoning and long-horizon agentic work, or when your evals on Claude Opus 5.5 at higher effort still don't meet your requirements. Claude Mythos 5.1 offers the same capabilities only to organizations verified through Anthropic's verification programs, such as the [Cyber Verification Program](https://support.claude.com/en/articles/14604842).
88 
9If you already call Claude Fable 5, four changes are breaking: [forced tool use returns an error](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#forced-tool-use-is-not-supported), [only Claude Fable 5.1 and Claude Mythos 5.1 can read Claude Fable 5.1's thinking blocks](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#thinking-blocks-are-tied-to-the-model-that-produced-them), [editing earlier turns invalidates thinking blocks](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#editing-earlier-turns-invalidates-thinking-blocks), and [some advisor tool pairings are not supported](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#advisor-tool-pairings). Five are additive: [per-message effort](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) (beta), [turn-scoped system messages](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) (beta), [readable progress updates between tool calls](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#progress-updates-between-tool-calls-beta) (`display: "updates"`, beta), a [lower cache read price](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#pricing), and [content provenance](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#content-provenance).
9If you already call Claude Fable 5, four changes are breaking: [forced tool use returns an error](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#forced-tool-use-is-not-supported), only Claude Fable 5.1 and Claude Mythos 5.1 can [read Claude Fable 5.1's thinking blocks](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#thinking-blocks-are-tied-to-the-model-that-produced-them), [editing earlier turns invalidates thinking blocks](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#editing-earlier-turns-invalidates-thinking-blocks), and [some advisor tool pairings are not supported](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#advisor-tool-pairings). Five are additive: [mid-conversation effort changes](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) (beta), [turn-scoped system messages](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) (beta), [readable progress updates between tool calls](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#progress-updates-between-tool-calls-beta) (`display: "updates"`, beta), a [lower cache read price](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#pricing), and [content provenance](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#content-provenance).
1010 
1111## Models
1212 
from line 59
5959 
6060Where the check is enforced, a request that replays an invalidated block is rejected with a 400 whose message says `The block is bound to a different conversation`. To drop the block and continue instead, send the `thinking-binding-controls-2026-08-01` beta header with `thinking.block_binding.prefix_mismatch_behavior: "drop_block"`. The drop is reported in `input_transformations` with `reason: "prefix_binding_mismatch"`.
6161 
62To keep thinking valid across a long session, treat the conversation as append-only. Add instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) ([turn-scoped](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) if it should apply to one turn only) and change tools with [mid-conversation tool changes](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) rather than editing `system` or `tools`. Trim context with server-side [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) or [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction), which don't count as edits. These patterns also keep the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) warm. To find out whether your integration edits history, run a session with `prefix_mismatch_behavior: "drop_block"` and log `input_transformations`: the [migration guide](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking) has the three-step check. See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) for the full rules.
62To keep thinking valid across a long session, treat the conversation as append-only. Add instructions with a [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) (a [turn-scoped system message](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta) if it should apply to one turn only) and change tools with [mid-conversation tool changes](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) rather than editing `system` or `tools`. Trim context with server-side [context editing](https://platform.claude.com/docs/en/build-with-claude/context-editing) or [compaction](https://platform.claude.com/docs/en/build-with-claude/compaction), which don't count as edits. These patterns also keep the [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) warm. To find out whether your integration edits history, run a session with `prefix_mismatch_behavior: "drop_block"` and log `input_transformations`: the migration guide has the three-step [history-editing check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking). See [Keeping the prefix unchanged](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#prefix-check) for the full rules.
6363 
6464### Some advisor tool pairings are not supported
6565 
from line 342
342342 
343343### Turn-scoped system messages (beta)
344344 
345A [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) can be scoped to one turn. Set `clear_at: "next_user_message"` on a `role: "system"` message and its text carries system-prompt authority for the current turn, then stops rendering once a later `user` message exists. The message stays in `messages` and you keep sending it back verbatim, so nothing earlier in the conversation changes. The [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) keeps matching, later [thinking blocks stay valid](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation), and a cleared message costs no input tokens. Use it for per-turn reminders in a tool loop ("check your inbox before running more code," "the user can't see that tool output") instead of injecting text into the history and deleting it on the next request. Turn-scoped system messages are in beta: include the `mid-conversation-system-clear-at-2026-08-21` beta header. See [Turn-scoped system messages](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages).
345A [mid-conversation system message](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) can be scoped to one turn. Set `clear_at: "next_user_message"` on a `role: "system"` message and its text carries system-prompt authority for the current turn, then stops rendering once a later `user` message exists. The message stays in `messages` and you keep sending it back verbatim, so nothing earlier in the conversation changes. The [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) keeps matching, later [thinking blocks stay valid](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-in-conversation), and a cleared message costs no input tokens. Use it for per-turn reminders in a tool loop ("check your inbox before running more code," "the user can't see that tool output") instead of injecting text into the history and deleting it on the next request. Turn-scoped system messages are in beta: include the `mid-conversation-system-clear-at-2026-08-21` beta header. See [how turn-scoped system messages work](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages#turn-scoped-system-messages) in Mid-conversation system messages and tool changes.
346346 
347347```json
348348{
from line 392
392392 
393393Claude Fable 5.1 improves on Claude Fable 5, and the gap is widest at higher [effort](https://platform.claude.com/docs/en/build-with-claude/effort) levels. The gains concentrate in six areas:
394394 
395* **Agentic coding over long sessions**, including multifile features, large refactors and migrations, debugging, and code review across sessions that run for hours.
396* **Knowledge work with documents, spreadsheets, and slides**, taking an analysis from a first question to a finished document, live-formula spreadsheet, or slide deck built from a blank page.
397* **Research and search**, with higher accuracy on multistep web research and deep-research tasks that follow up on what they find.
398* **Vision**, reading dense charts, filings, and tables nested in PDFs, including with crop-and-zoom tools on charts.
399* **Long-context work**, reasoning over and connecting details across the full [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows).
400* **Computer use**, operating a browser and desktop applications more reliably and recovering from failed steps.
395* **Agentic coding over long sessions**, including multifile features, large refactors and migrations, debugging, and code review across sessions that run for hours
396* **Knowledge work with documents, spreadsheets, and slides**, taking an analysis from a first question to a finished document, live-formula spreadsheet, or slide deck built from a blank page
397* **Research and search**, with higher accuracy on multistep web research and deep-research tasks that follow up on what they find
398* **Vision**, reading dense charts, filings, and tables nested in PDFs, including with crop-and-zoom tools on charts
399* **Long-context work**, reasoning over and connecting details across the full [1M token context window](https://platform.claude.com/docs/en/build-with-claude/context-windows)
400* **Computer use**, operating a browser and desktop applications more reliably and recovering from failed steps
401401 
402402Multilingual performance is comparable to Claude Fable 5.
403403 
from line 481
4814812. If you use the advisor tool (beta), choose an advisor at least as capable as Claude Fable 5.1. See [Some advisor tool pairings are not supported](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#advisor-tool-pairings).
4824823. Pass thinking blocks back unchanged and keep the history append-only. If your code builds the `messages` array itself, run the [history-editing check](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide#fable-5-1-preserved-thinking): move per-turn reminders you currently inject and delete to [turn-scoped system messages](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#turn-scoped-system-messages-beta), move `system` and `tools` changes to mid-conversation system messages, trim context server-side or strip thinking blocks from turns you carry across a client-side summary, then pick a production [`prefix_mismatch_behavior`](https://platform.claude.com/docs/en/build-with-claude/thinking#preserved-thinking-controls) and monitor `input_transformations`.
4834834. Re-tune effort from the default (`high`), and consider [changing it mid-conversation](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#change-effort-mid-conversation-beta) instead of holding one level for the whole session.
4845. In agent loops, watch for one tool call per turn where Claude Fable 5 batched several, and add the per-turn note from [Prompting Claude Fable 5.1](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1).
4845. In agent loops, watch for one tool call in each turn where Claude Fable 5 batched several, and add the per-turn note from [Prompting Claude Fable 5.1](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1).
4854856. Re-run your evals. Refusal handling, fallback, fallback credit, and the tokenizer carry over unchanged. Cache reads cost less (see [cache read prices](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#pricing)), and default behavior differs in the ways listed under [Changed from Claude Fable 5](https://platform.claude.com/docs/en/models/fable-5-1/whats-new-fable-5-1#changed-from-claude-fable-5).
486486 
487487See the [migration guide](https://platform.claude.com/docs/en/models/fable-5-1/migration-guide) for step-by-step instructions, including from Claude Opus 5 and earlier models.

models/opus-5-5/migration-guide Changed · +3 / -3 lines

from line 362
362362 
363363### Breaking changes
364364 
365Each change is explained in [What's new in Claude Opus 5.5](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#breaking-changes); this section gives the code change for each.
365Each change is explained under [Breaking changes](https://platform.claude.com/docs/en/models/opus-5-5/whats-new-opus-5-5#breaking-changes) in What's new in Claude Opus 5.5; this section gives the code change for each.
366366 
367367#### Thinking can't be disabled
368368 
from line 1504
15041504 
15051505 [`/v1/messages/count_tokens`](https://platform.claude.com/docs/en/build-with-claude/token-counting) returns a different number of tokens for Claude Opus 5.5 than it did for Claude Opus 4.6. Token efficiency can vary by workload shape.
15061506 
1507 Update your `max_tokens` parameters to give additional headroom, including compaction triggers, and re-test any code path that estimates tokens client-side or assumes a fixed token-to-character ratio. Use the [Token counting endpoint](https://platform.claude.com/docs/en/build-with-claude/token-counting) to verify. Prompting interventions, [`task_budget`](https://platform.claude.com/docs/en/build-with-claude/task-budgets), and [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) can help control costs; these controls might trade off model intelligence.
1507 Update your `max_tokens` parameters to give additional headroom, including compaction triggers, and re-test any code path that estimates tokens client-side or assumes a fixed token-to-character ratio. Use the [Token counting](https://platform.claude.com/docs/en/build-with-claude/token-counting) endpoint to verify. Prompting interventions, [`task_budget`](https://platform.claude.com/docs/en/build-with-claude/task-budgets), and [`effort`](https://platform.claude.com/docs/en/build-with-claude/effort) can help control costs; these controls might trade off model intelligence.
15081508 
150915095. **Prefill removal (already in effect on Claude Opus 4.6):** Prefilling assistant messages returns a 400 error on Claude Opus 4.6 and later Opus models, including Claude Opus 5.5, so this is a change only if you come from Claude Opus 4.5 or earlier. Use [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) or system prompt instructions instead.
15101510 
from line 1514
15141514 
151515151. **Built-in progress updates in agentic traces:** Claude Opus 4.7 provides more regular, higher-quality updates to the user throughout long agentic traces. If you've added scaffolding to force interim status messages ("After every 3 tool calls, summarize progress"), try removing it. On Claude Opus 5.5 these updates arrive in `thinking` blocks, which are empty at the default `thinking.display`. To receive them, see [Text between tool calls is returned in thinking blocks](https://platform.claude.com/docs/en/models/opus-5-5/migration-guide#text-between-tool-calls). To shape their length and contents, see [User-facing progress updates](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5-5#user-facing-progress-updates).
15161516 
15172. **Real-time cybersecurity safeguards:** Newly added in Claude Opus 4.7, requests that involve prohibited or high-risk topics might lead to refusals. For legitimate security work such as penetration testing, vulnerability research, or red-teaming, apply to the [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude-opus-and-sonnet) to request reduced restrictions. The application route depends on how you access Claude.
15172. **Real-time cybersecurity safeguards:** These safeguards are new in Claude Opus 4.7: requests that involve prohibited or high-risk topics might lead to refusals. For legitimate security work such as penetration testing, vulnerability research, or red-teaming, apply to the [Cyber Verification Program](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude-opus-and-sonnet) to request reduced restrictions. The application route depends on how you access Claude.
15181518 
151915193. **High-resolution image support:** Claude Opus 4.7 is the first Claude model with high-resolution image support. Maximum image resolution is 2,576 pixels on the long edge, up from 1,568 pixels on prior models. This unlocks gains on vision-heavy workloads and is particularly valuable for computer use, screenshot understanding, and document analysis.
15201520 

test-and-evaluate/develop-tests Changed · +11 / -11 lines

from line 98
9898Most use cases need multidimensional evaluation along several success criteria.
9999 
100100<Accordion title="Example multidimensional criteria for sentiment analysis">
101 | | Criteria |
102 | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
103 | Bad | The model should classify sentiments well |
104 | Good | On a held-out test set of 10,000 diverse Twitter posts, the sentiment analysis model should achieve:<br />- an F1 score of at least 0.85<br />- 99.5% of outputs are non-toxic<br />- 90% of errors would cause inconvenience, not egregious error\*<br />- 95% response time \< 200ms |
101 | | Criteria |
102 | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
103 | Bad | The model should classify sentiments well |
104 | Good | On a held-out test set of 10,000 diverse Twitter posts, the sentiment analysis model should achieve:<br />- an F1 score of at least 0.85<br />- 99.5% non-toxic outputs<br />- 90% of errors would cause inconvenience, not egregious error\*<br />- 95% response time \< 200ms |
105105 
106106 \*In reality, you would also define what "inconvenience" and "egregious" mean.
107107</Accordion>
from line 125
125125### Example evals
126126 
127127<AccordionGroup>
128 <Accordion title="Task fidelity (sentiment analysis) - exact match evaluation">
128 <Accordion title="Task fidelity (sentiment analysis): exact match evaluation">
129129 **What it measures:** Exact match evals measure whether the model's output matches a predefined correct answer, typically after normalizing whitespace and case. It's a simple, unambiguous metric that's perfect for tasks with clear-cut, categorical answers such as sentiment analysis (positive, negative, neutral).
130130 
131131 **Example eval test cases:** 1,000 tweets with human-labeled sentiments.
from line 487
487487 </CodeGroup>
488488 </Accordion>
489489 
490 <Accordion title="Consistency (FAQ bot) - cosine similarity evaluation">
490 <Accordion title="Consistency (FAQ bot): cosine similarity evaluation">
491491 **What it measures:** Cosine similarity measures the similarity between two vectors (in this case, sentence embeddings of the model's output using [Sentence-BERT (SBERT)](https://sbert.net/)) by computing the cosine of the angle between them. Values closer to 1 indicate higher similarity. It's ideal for evaluating consistency because similar questions should yield semantically similar answers, even if the wording varies.
492492 
493493 **Example eval test cases:** 50 groups with a few paraphrased versions each.
from line 1033
10331033 </CodeGroup>
10341034 </Accordion>
10351035 
1036 <Accordion title="Relevance and coherence (summarization) - ROUGE-L evaluation">
1036 <Accordion title="Relevance and coherence (summarization): ROUGE-L evaluation">
10371037 **What it measures:** ROUGE-L (Recall-Oriented Understudy for Gisting Evaluation - Longest Common Subsequence) evaluates the quality of generated summaries. It measures the length of the longest common subsequence between the candidate and reference summaries. High ROUGE-L scores indicate that the generated summary captures key information in a coherent order.
10381038 
10391039 **Example eval test cases:** 200 articles with reference summaries.
from line 1560
15601560 </CodeGroup>
15611561 </Accordion>
15621562 
1563 <Accordion title="Tone and style (customer service) - LLM-based Likert scale">
1563 <Accordion title="Tone and style (customer service): LLM-based Likert scale">
15641564 **What it measures:** The LLM-based Likert scale is a psychometric scale that uses an LLM to judge subjective attitudes or perceptions. Here, it's used to rate the tone of responses on a scale from 1 to 5. It's ideal for evaluating nuanced aspects such as empathy, professionalism, or patience that are difficult to quantify with traditional metrics.
15651565 
15661566 **Example eval test cases:** 100 customer inquiries with target tone (empathetic, patient, professional).
from line 2031
20312031 </CodeGroup>
20322032 </Accordion>
20332033 
2034 <Accordion title="Privacy preservation (medical chatbot) - LLM-based binary classification">
2034 <Accordion title="Privacy preservation (medical chatbot): LLM-based binary classification">
20352035 **What it measures:** Binary classification determines if an input belongs to one of two classes. Here, it's used to classify whether a response contains PHI. This method can account for context and identify subtle or implicit forms of PHI that rule-based systems might miss.
20362036 
20372037 **Example eval test cases:** 500 simulated patient queries, some with PHI.
from line 2584
25842584 </CodeGroup>
25852585 </Accordion>
25862586 
2587 <Accordion title="Context utilization (conversation assistant) - LLM-based ordinal scale">
2587 <Accordion title="Context utilization (conversation assistant): LLM-based ordinal scale">
25882588 **What it measures:** Similar to the Likert scale, the ordinal scale measures on a fixed, ordered scale (1–5). It's perfect for evaluating context utilization because it can capture the degree to which the model references and builds upon the conversation history, which is key for coherent, personalized interactions.
25892589 
25902590 **Example eval test cases:** 100 multi-turn conversations with context-dependent questions.
from line 3240
32403240 <Note>
32413241 A given use case, or even a specific success criterion for that use case, might require several rubrics for holistic evaluation.
32423242 </Note>
3243* **Empirical or specific:** For example, instruct the LLM to output only 'correct' or 'incorrect', or to judge from a scale of 1–5. Purely qualitative evaluations are hard to assess quickly and at scale.
3243* **Be empirical or specific:** For example, instruct the LLM to output only 'correct' or 'incorrect', or to judge from a scale of 1–5. Purely qualitative evaluations are hard to assess quickly and at scale.
32443244* **Encourage reasoning:** Use a grader model with [thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) on, so that it reasons before it produces an evaluation score. This increases evaluation performance, particularly for tasks requiring complex judgment.
32453245 
32463246<Accordion title="Example: LLM-based grading">

about-claude/use-case-guides/legal-summarization Changed · +1 / -1 lines

from line 17
1717 Large-scale document review can be time-consuming and expensive when done manually. Claude can process and summarize vast amounts of legal documents rapidly, significantly reducing the time and cost associated with document review. This capability is particularly valuable for tasks such as due diligence, contract analysis, or litigation discovery, where efficiency is crucial.
1818 </Accordion>
1919 
20 <Accordion title="You require automated extraction of key metadata">
20 <Accordion title="You need automated extraction of key metadata">
2121 Claude can efficiently extract and categorize important metadata from legal documents, such as parties involved, dates, contract terms, or specific clauses. This automated extraction can help organize information, making it easier to search, analyze, and manage large document sets. It's especially useful for contract management, compliance checks, or creating searchable databases of legal information.
2222 </Accordion>
2323 

agents-and-tools/agent-skills/enterprise Changed · +1 / -1 lines

from line 25
2525| Network access patterns | URLs, API endpoints, `fetch`, `curl`, or `requests` calls | High: potential data exfiltration vector |
2626| Hardcoded credentials | API keys, tokens, or passwords in Skill files or scripts | High: secrets exposed in Git history and context window |
2727| Filesystem access scope | Paths outside the Skill directory, broad glob patterns, path traversal (`../`) | Medium: might access unintended data |
28| Tool invocations | Instructions directing Claude to use bash, file operations, or other tools | Medium: review what operations are performed |
28| Tool calls | Instructions directing Claude to use bash, file operations, or other tools | Medium: review what operations are performed |
2929 
3030### Review checklist
3131 

agents-and-tools/agent-skills/overview Changed · +1 / -1 lines

from line 114
114114Skills run in a code execution environment where Claude has filesystem access, bash commands, and code execution capabilities. Skills exist as directories on a virtual machine, and Claude interacts with them using the same bash commands you'd use to navigate files on your computer.
115115 
116116<Frame>
117 ![Agent Skills architecture - showing how Skills integrate with the agent's configuration and virtual machine](https://platform.claude.com/docs/images/agent-skills-architecture.svg)
117 ![Agent Skills architecture, showing how Skills integrate with the agent's configuration and virtual machine](https://platform.claude.com/docs/images/agent-skills-architecture.svg)
118118</Frame>
119119 
120120**How Claude accesses Skill content:**

agents-and-tools/mcp-tunnels/quickstart Changed · +1 / -1 lines

from line 17
1717## What you need
1818 
1919* [Docker and Docker Compose](https://docs.docker.com/get-docker/) on a machine with outbound internet access.
20* A role in the [Claude Console](https://platform.claude.com) that can manage MCP tunnels. See the [Console guide prerequisites](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/console#prerequisites).
20* A role in the [Claude Console](https://platform.claude.com/) that can manage MCP tunnels. See the [Console guide prerequisites](https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/console#prerequisites).
2121* [OpenSSL](https://openssl-library.org/source/) 1.1.1 or later. Preinstalled on macOS and most Linux distributions. On Windows, install it separately (the `openssl` binary must be on your `PATH`).
2222 
2323<Steps>

agents-and-tools/tool-use/bash-tool Changed · +1 / -1 lines

from line 180
180180 
181181Claude responds with `stop_reason: "tool_use"` and a `tool_use` block that contains the command for your application to run:
182182 
183```json Output
183```text Output wrap
184184{
185185 "id": "msg_01XAbCDeFgHiJkLmNoPQrStU",
186186 "model": "claude-opus-5-5",

agents-and-tools/tool-use/define-tools Changed · +1 / -1 lines

from line 869
869869 
870870For example, given the prompt "What's the weather like in San Francisco right now, and what time is it there?", Claude might respond with:
871871 
872```json JSON
872```text JSON
873873{
874874 "role": "assistant",
875875 "content": [

agents-and-tools/tool-use/handle-tool-calls Changed · +1 / -1 lines

from line 23
2323A `tool_use` block for a member of the [computer use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/computer-use-tool) or [browser use](https://platform.claude.com/docs/en/agents-and-tools/tool-use/browser-use-tool) toolset also carries a `toolset_name` field (`"computer"` or `"browser"`). Its `name` is the member tool Claude is calling, such as `screenshot` or `navigate`, so dispatch those blocks on both fields.
2424 
2525<Accordion title="Example API response with a `tool_use` content block">
26 ```json JSON
26 ```text JSON wrap
2727 {
2828 "id": "msg_01Aq9w938a90dw8q",
2929 "model": "claude-opus-5-5",

agents-and-tools/tool-use/memory-tool Changed · +2 / -2 lines

from line 48
4848 
4949Claude calls the memory tool:
5050 
51```json
51```text wrap
5252{
5353 "type": "tool_use",
5454 "id": "toolu_01C4D5E6F7G8H9I0J1K2L3M4",
from line 72
7272 
7373**4. Claude reads relevant files:**
7474 
75```json
75```text wrap
7676{
7777 "type": "tool_use",
7878 "id": "toolu_01D5E6F7G8H9I0J1K2L3M4N5",

agents-and-tools/tool-use/parallel-tool-use Changed · +1 / -1 lines

from line 847
847847 
848848### At most one tool call
849849 
850When `tool_choice` type is `auto` (the default), setting `disable_parallel_tool_use: true` means Claude calls at most one tool in each response. Claude can still answer in plain text without calling any tool. The highlighted lines are the only change from a standard tool use request:
850When the `tool_choice` type is `auto` (the default), setting `disable_parallel_tool_use: true` means Claude calls at most one tool in each response. Claude can still answer in plain text without calling any tool. The highlighted lines are the only change from a standard tool use request:
851851 
852852<CodeGroup>
853853 ```bash cURL

agents-and-tools/tool-use/strict-tool-use Changed · +2 / -2 lines

from line 19
1919 
2020Strict tool use guarantees type-safe parameters:
2121 
22* Functions receive correctly typed arguments every time
22* Correctly typed function arguments every time
2323* No need to validate and retry tool calls
2424* Production-ready agents that work consistently at scale
2525 
from line 349
349349 
350350**Response format:** Tool use blocks with validated inputs in `response.content[x].input`
351351 
352```json Output
352```text Output wrap
353353{
354354 "type": "tool_use",
355355 "name": "get_weather",

agents-and-tools/tool-use/troubleshooting-tool-use Changed · +1 / -1 lines

from line 12
1212| ------------------------------------------ | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1313| Claude calls tool A when you wanted tool B | Description ambiguity | Sharpen descriptions. Differentiate tools by WHEN to use them, not only WHAT they do. See [Define tools](https://platform.claude.com/docs/en/agents-and-tools/tool-use/define-tools). |
1414| Claude never calls your tool | Tool name collision or overly generic schema | Check for duplicate names across your tool list. Add `input_examples` to make the intended use concrete. |
15| Claude calls with wrong parameter types | Model guessing at ambiguous schema | Add `strict: true` (if your schema is in the supported subset) or add `input_examples`. |
15| Claude calls with wrong parameter types | Ambiguous schema | Add `strict: true` (if your schema is in the supported subset) or add `input_examples`. |
1616 
1717## Claude invents tool parameters
1818 

api/beta-headers Changed · +1 / -1 lines

from line 209
209209 
210210If you use an invalid beta name, or a beta your organization doesn't have access to, you'll receive a `400` error response:
211211 
212```json Output
212```text Output
213213{
214214 "type": "error",
215215 "error": {

api/claude-code/routines-fire Changed · +2 / -2 lines

from line 95
9595 
9696A successful request returns `200 OK` with the new session details:
9797 
98```json
98```text
9999{
100100 "type": "routine_fire",
101101 "claude_code_session_id": "session_01HJKLMNOPQRSTUVWXYZ",
from line 113
113113 
114114Errors use the standard Anthropic [error envelope](https://platform.claude.com/docs/en/api/errors):
115115 
116```json
116```text wrap
117117{
118118 "type": "error",
119119 "error": {

api/overview Changed · +2 / -2 lines

from line 14
1414 
1515To use the Claude API, you'll need:
1616 
17* A [Claude Console account](https://platform.claude.com)
17* A [Claude Console account](https://platform.claude.com/)
1818* An [API key](https://platform.claude.com/settings/keys) from the Console, or a configured [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) rule
1919 
2020For step-by-step setup instructions, see [Get started](https://platform.claude.com/docs/en/get-started).
from line 163
163163* **Spend limits:** Maximum monthly cost for API usage
164164* **Rate limits:** Maximum number of requests per minute (RPM) and tokens per minute (TPM)
165165 
166In the Console, you can view your rate limits on the [Rate limits](https://platform.claude.com/usage/limits) page and your spend limits on the [Billing](https://platform.claude.com/settings/billing) page. For higher rate limits or a higher monthly spend cap, use **Request tier increase** on the **Rate limits** page.
166You can view your rate limits under [Rate limits in the Claude Console](https://platform.claude.com/usage/limits) and your spend limits on the Console's [Billing](https://platform.claude.com/settings/billing) page. For higher rate limits or a higher monthly spend cap, use **Request tier increase** on the **Rate limits** page.
167167 
168168For detailed information about limits, tiers, and the token bucket algorithm used for rate limiting, see [Rate limits](https://platform.claude.com/docs/en/api/rate-limits).
169169 

api/rate-limits Changed · +2 / -2 lines

from line 46
4646 
4747Once you reach your tier's spend cap, API usage pauses until 00:00 UTC on the first day of the next month, unless you request a higher limit sooner. While usage is paused, API requests return HTTP 429:
4848 
49```json
49```text
5050{
5151 "type": "error",
5252 "error": {
from line 244
244244 
245245You can monitor your rate limit usage on the [Usage](https://platform.claude.com/usage) page of the [Claude Console](https://platform.claude.com/).
246246 
247In addition to providing token and request charts, the Usage page provides two separate rate limit charts. Use these charts to see what headroom you have to grow, identify when you might be hitting peak use, understand what rate limits to request, and learn how to improve your caching rates. The charts visualize a number of metrics for a given rate limit (for example, for each model):
247In addition to providing token and request charts, the **Usage** page provides two separate rate limit charts. Use these charts to see what headroom you have to grow, identify when you might be hitting peak use, understand what rate limits to request, and learn how to improve your caching rates. The charts visualize a number of metrics for a given rate limit (for example, for each model):
248248 
249249* The **Rate Limit - Input Tokens** chart includes:
250250 

api/service-tiers Changed · +1 / -1 lines

from line 187
187187 
188188The response `usage` object also includes the service tier assigned to the request:
189189 
190```json
190```text wrap
191191{
192192 "usage": {
193193 "input_tokens": 410,

build-with-claude/cache-diagnostics Changed · +1 / -1 lines

from line 973
973973 
974974When `cache_miss_reason` is non-null, it looks like this:
975975 
976```json
976```text wrap
977977{
978978 "id": "msg_01Xyz...",
979979 "type": "message",

build-with-claude/compaction-on-demand Changed · +1 / -1 lines

from line 281
281281 ```
282282</CodeGroup>
283283 
284```json Response
284```text Response
285285{
286286 "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
287287 "type": "message",

build-with-claude/compaction-threshold Changed · +2 / -2 lines

from line 1365
13651365 
13661366A long-running conversation might result in multiple compactions. The last compaction block reflects the final state of the prompt, replacing content prior to it with the generated summary.
13671367 
1368```json Output
1368```text Output
13691369{
13701370 "content": [
13711371 {
from line 2255
22552255 
22562256Compaction requires an additional sampling step, which contributes to rate limits and billing. The API returns detailed usage information in the response:
22572257 
2258```json Output
2258```text Output wrap
22592259{
22602260 "usage": {
22612261 "input_tokens": 23000,

build-with-claude/effort Changed · +1 / -1 lines

from line 296
296296| Effort | Guidance for Claude Opus 4.7 |
297297| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
298298| `low` | Efficient, but best for short, scoped tasks. Pair `low` with explicit checklists if your task has multiple sections. |
299| `medium` | The drop-in for the average workflow where you want good results while reducing costs. |
299| `medium` | The setting for the average workflow where you want good results while reducing costs. |
300300| `high` | Advanced use cases that still need a balance of intelligence and token consumption. This is often the best balance of quality and token efficiency. |
301301| `xhigh` | The recommended starting point for coding and agentic work, and for exploratory tasks such as repeated tool calling, detailed web search, and knowledge-base search. Expect meaningfully higher token usage than `high`. |
302302| `max` | Reserve for frontier problems. On most workloads `max` adds significant cost for relatively small quality gains, and on some structured-output or less intelligence-sensitive tasks it can lead to overthinking. |

build-with-claude/fallback-credit Changed · +1 / -1 lines

from line 6
66 
77Prompt caches are per-model. When a model declines a request and you retry on another model, the conversation prefix already cached for the first model must be written into the new model's cache in full. Cache writes cost more than cache reads. Fallback credit removes that extra cost. The refusal carries a credit token, you echo the token on the retry, and the retry is billed as though the conversation had been on the new model from the start.
88 
9You need this page only when you build the retry yourself: over raw HTTP or with custom retry logic. [Server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback) and the [SDK middleware](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#client-side-fallback) apply fallback credit automatically. If you use either, skip this page.
9You need this page only when you build the retry yourself: over raw HTTP or with custom retry logic. [Server-side fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback) and [client-side fallback with the SDK middleware](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback#client-side-fallback) apply fallback credit automatically. If you use either, skip this page.
1010 
1111[Refusals and fallback](https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback) covers detecting refusals and choosing a fallback approach. [Prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) explains cache reads and cache writes if those terms are new.
1212 

build-with-claude/mid-conversation-system-messages Changed · +2 / -2 lines

from line 991
991991 
992992The response's `content` includes a `tool_use` block for the new tool, for example:
993993 
994```json
994```text
995995{
996996 "type": "tool_use",
997997 "id": "toolu_01A09q90qw90lq917835lq9",
from line 1006
10061006 
10071007A few rules follow from where the definition renders:
10081008 
1009* **Declare what you know up front.** A tool you know about at the first request belongs in `tools`, with `defer_loading: true` and a later `tool_addition` reference if it shouldn't be offered to the model yet. Define by value only what is unknown at the first request or changes later.
1009* **Declare what you know up front.** A tool you know about at the first request belongs in `tools`, with `defer_loading: true` and a later `tool_addition` reference if you don't want to offer it to the model yet. Define by value only what is unknown at the first request or changes later.
10101010* **Keep at least one non-deferred tool in `tools`.** A conversation whose `tools` array has no non-deferred tool is accepted, but the first tool it defines by value changes the start of the rendered prompt, which costs one full cache miss on that request. A [tool search tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-search-tool) counts as non-deferred.
10111011* **Dated tool types keep their own beta headers.** If a server tool you define by value requires its own beta header, send that header on every later request in the conversation.
10121012* **`cache_control` goes on the block or in the definition, not both,** and counts toward the request's breakpoint limit. A deferred definition can't carry `cache_control`.
Feedback