Skip to content

Commit 471cd5e

Browse files
github-actions[bot]claude-yolo[bot]
authored andcommitted
docs: Claude Code v2.1.309 - CMEK docs split into 8 pages with a stricter ZDR rule; axt-verify v0.2.0 needed for leaf v0x02
Co-Authored-By: claude-yolo[bot] <claude-yolo@lroole.com>
1 parent a4af436 commit 471cd5e

192 files changed

Lines changed: 2784 additions & 2838 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎content/.metadata.json‎

Lines changed: 415 additions & 360 deletions
Large diffs are not rendered by default.

‎content/en/about-claude/pricing.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ When used without these tools, code execution is billed by execution time, track
300300

301301
Code execution usage is tracked in the response:
302302

303-
```text wrap
303+
```json
304304
{
305305
"usage": {
306306
"input_tokens": 105,
@@ -329,7 +329,7 @@ See [tool use pricing](https://platform.claude.com/docs/en/about-claude/pricing#
329329

330330
Web search usage is charged in addition to token usage:
331331

332-
```text wrap
332+
```json
333333
{
334334
"usage": {
335335
"input_tokens": 105,
@@ -351,7 +351,7 @@ Each web search counts as one use, regardless of the number of results returned.
351351

352352
Web fetch usage has **no additional charges** beyond standard token costs:
353353

354-
```text wrap
354+
```json
355355
{
356356
"usage": {
357357
"input_tokens": 25039,

‎content/en/about-claude/use-case-guides/commerce-agents.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ url: https://platform.claude.com/docs/en/about-claude/use-case-guides/commerce-a
44
description: Build a shopping agent and a merchant agent on Claude using Claude for commerce, an open-source blueprint with working implementations on the Messages API, the Claude Agent SDK, and Claude Managed Agents.
55
---
66

7-
This guide shows how to build commerce agents on Claude: a shopping agent that customers use inside your app, and a merchant agent for the people running the store, whether that is the business's own operations staff or the sellers on its platform. It does that through Claude for commerce, an open-source blueprint with a working implementation of each agent on the [Messages API](https://platform.claude.com/docs/en/build-with-claude/working-with-messages), the [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview), and [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview), runnable examples for retail, travel, telecom, and entertainment, and a Claude Code plugin that scaffolds the same design against your own systems.
7+
This guide shows how to build commerce agents on Claude: a shopping agent that customers use inside your app, and a merchant agent for the people running the store, whether that is the business's own operations staff or the sellers on its platform. It does that through Claude for commerce, an open-source blueprint that includes the following:
8+
9+
* A working implementation of each agent on the [Messages API](https://platform.claude.com/docs/en/build-with-claude/working-with-messages), the [Claude Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview), and [Claude Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview)
10+
* Runnable examples for retail, travel, telecom, and entertainment
11+
* A Claude Code plugin that scaffolds the same design against your own systems
812

913
The code, setup instructions, and safety documentation are in the [Claude for commerce repository on GitHub](https://github.com/anthropics/commerce-agents). For how the agents are built and why, including the single-agent-with-skills design, UI components as tools, harness-enforced safety, prompt caching, memory, and evals, read the engineering post [A guide to the anatomy of effective commerce agents](https://claude.com/blog/the-anatomy-of-effective-commerce-agents).
1014

‎content/en/about-claude/use-case-guides/ticket-routing.md‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,7 +1058,7 @@ To assess this, first modify the script so that it compares the predicted intent
10581058
DEFAULT_MODEL = "claude-haiku-5-5"
10591059

10601060

1061-
def classify_support_request(request, actual_intent):
1061+
def classify_support_request(ticket_contents, actual_intent):
10621062
# Define the prompt for the classification task
10631063
classification_prompt = f"""You will be acting as a customer support ticket classification system.
10641064
[…]
@@ -1101,7 +1101,7 @@ To assess this, first modify the script so that it compares the predicted intent
11011101
const DEFAULT_MODEL = "claude-haiku-5-5";
11021102

11031103
async function classifySupportRequest(
1104-
request: string,
1104+
ticketContents: string,
11051105
actualIntent: string
11061106
): Promise<{ reasoning: string; intent: string; correct: boolean; usage: Anthropic.Usage }> {
11071107
// Define the prompt for the classification task
@@ -1147,7 +1147,7 @@ To assess this, first modify the script so that it compares the predicted intent
11471147
// Set the default model
11481148
const Model DefaultModel = Model.ClaudeHaiku5_5;
11491149

1150-
async Task<(string Reasoning, string Intent, bool Correct, Usage Usage)> ClassifySupportRequest(string request, string actualIntent)
1150+
async Task<(string Reasoning, string Intent, bool Correct, Usage Usage)> ClassifySupportRequest(string ticketContents, string actualIntent)
11511151
{
11521152
// Define the prompt for the classification task
11531153
var classificationPrompt = """
@@ -1205,7 +1205,7 @@ To assess this, first modify the script so that it compares the predicted intent
12051205
// Set the default model
12061206
const defaultModel = anthropic.ModelClaudeHaiku5_5
12071207

1208-
func classifySupportRequest(ctx context.Context, request, actualIntent string) (reasoning, intent string, correct bool, usage anthropic.Usage, err error) {
1208+
func classifySupportRequest(ctx context.Context, ticketContents, actualIntent string) (reasoning, intent string, correct bool, usage anthropic.Usage, err error) {
12091209
// Define the prompt for the classification task
12101210
classificationPrompt := `You will be acting as a customer support ticket classification system.
12111211
[…]
@@ -1264,7 +1264,7 @@ To assess this, first modify the script so that it compares the predicted intent
12641264

12651265
record Classification(String reasoning, String intent, boolean correct, Usage usage) {}
12661266

1267-
Classification classifySupportRequest(String request, String actualIntent) {
1267+
Classification classifySupportRequest(String ticketContents, String actualIntent) {
12681268
// Define the prompt for the classification task
12691269
String classificationPrompt = """
12701270
You will be acting as a customer support ticket classification system.
@@ -1316,7 +1316,7 @@ To assess this, first modify the script so that it compares the predicted intent
13161316
/**
13171317
* @return array{string, string, bool, Usage} the reasoning, the intent, whether the intent is correct, and the usage
13181318
*/
1319-
function classifySupportRequest(Client $client, string $request, string $actualIntent): array
1319+
function classifySupportRequest(Client $client, string $ticketContents, string $actualIntent): array
13201320
{
13211321
// Define the prompt for the classification task
13221322
$classificationPrompt = <<<PROMPT
@@ -1366,7 +1366,7 @@ To assess this, first modify the script so that it compares the predicted intent
13661366
# Set the default model
13671367
DEFAULT_MODEL = Anthropic::Model::CLAUDE_HAIKU_5_5
13681368

1369-
def classify_support_request(client, request, actual_intent)
1369+
def classify_support_request(client, ticket_contents, actual_intent)
13701370
# Define the prompt for the classification task
13711371
classification_prompt = <<~PROMPT
13721372
You will be acting as a customer support ticket classification system.
@@ -1411,7 +1411,7 @@ A proper evaluation requires clear thresholds and benchmarks to determine what i
14111411
* **Accuracy:** 95% (out of 100 tests)
14121412
* **Cost per classification:** 50% reduction on average (across 100 tests) from current routing method
14131413

1414-
Having these thresholds allows you to tell at scale, and with impartial empiricism, what method is best for you and what changes might need to be made to better fit your requirements.
1414+
Having these thresholds allows you to tell at scale, and with impartial empiricism, what method is best for you and what changes you might need to make to better fit your requirements.
14151415

14161416
***
14171417

‎content/en/agents-and-tools/agent-skills/best-practices.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -909,7 +909,7 @@ def process_file(path):
909909
return open(path).read()
910910
```
911911

912-
Configuration parameters should also be justified and documented to avoid "voodoo constants" (Ousterhout's law). If you don't know the right value, how will Claude determine it?
912+
Also justify and document configuration parameters to avoid "voodoo constants" (Ousterhout's law). If you don't know the right value, how will Claude determine it?
913913

914914
**Good example: Self-documenting:**
915915

‎content/en/agents-and-tools/agent-skills/claude-api-skill.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ Let Claude Code set up your agent for you
183183
/claude-api managed-agents-onboard
184184
```
185185

186-
The skill runs an interview that walks you through the Managed Agents mental model (Agent configs versus Sessions), templates an agent config, configures environments and tools, sets up the session loop, and emits runnable code for your language. The skill also covers the mandatory **Agent (once) → Session (every run)** flow: `model`, `system`, and `tools` live on the agent, never on the session, and agents should be created once and referenced by ID.
186+
The skill runs an interview that walks you through the Managed Agents mental model (Agent configs versus Sessions), templates an agent config, configures environments and tools, sets up the session loop, and emits runnable code for your language. The skill also covers the mandatory **Agent (once) → Session (every run)** flow: `model`, `system`, and `tools` live on the agent, never on the session, and you create each agent once and reference it by ID.
187187

188188
Managed Agents requires the `managed-agents-2026-04-01` beta header, which the SDK sets automatically for all `client.beta.agents.*`, `client.beta.environments.*`, `client.beta.sessions.*`, and `client.beta.vaults.*` calls.
189189

‎content/en/agents-and-tools/agent-skills/enterprise.md‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,19 @@ Before deploying any Skill from a third party or internal contributor, complete
4646

4747
### Skill content scanning
4848

49-
Claude Enterprise organizations can turn on automated security scanning for custom Skills in claude.ai and Claude Cowork. After you turn on **Skill and plugin security scanning** at [claude.ai > Organization settings > Skills](https://claude.ai/admin-settings/skills), Skills that members then upload or edit in claude.ai or Cowork are scanned for signs of malicious behavior, such as hidden code execution, sending your data to an outside service, or instructions that tamper with Claude's safeguards. A Skill that fails the scan, or whose scan hasn't completed, is blocked from use. An administrator can allow some Skills that failed the scan. A Skill that passes with a warning stays usable behind a caution notice. If scanning is available to your organization, turn it on. It complements, but doesn't replace, the [review checklist](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/enterprise#review-checklist).
49+
Claude Enterprise organizations can turn on automated security scanning for custom Skills in claude.ai and Claude Cowork. The setting is **Skill and plugin security scanning** at [claude.ai > Organization settings > Skills](https://claude.ai/admin-settings/skills).
50+
51+
After you turn on the setting, scanning applies to Skills that members then upload or edit in claude.ai or Cowork. Each scan checks for signs of malicious behavior. These signs include hidden code execution, transfer of your data to an outside service, and instructions that tamper with Claude's safeguards.
52+
53+
Whether a Skill is usable depends on its scan:
54+
55+
* A Skill that fails the scan is blocked from use.
56+
* A Skill whose scan hasn't completed is blocked from use.
57+
* A Skill that passes with a warning stays usable behind a caution notice.
58+
59+
Organization owners can allow some Skills that failed the scan. So can members whose [custom role](https://platform.claude.com/docs/en/manage-claude/user-management#custom-roles) can manage **Libraries**.
60+
61+
If scanning is available to your organization, turn it on. Scanning complements, but doesn't replace, the [review checklist](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/enterprise#review-checklist).
5062

5163
Scanning doesn't cover the Claude API. Skills you upload through the Skills API (`/v1/skills`), including from the Claude Console, aren't scanned, so for API deployments, rely on the review checklist and [version pinning](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/enterprise#versioning-strategy). Scanning also doesn't apply to Skills that were already in your organization when you turned it on, or to organizations with certain data handling configurations, such as customer-managed encryption keys (CMEK), zero data retention (ZDR), or HIPAA readiness. For setup steps, exclusions, and result types, see [Get started with skill and plugin scanning](https://support.claude.com/en/articles/15927065-get-started-with-skill-and-plugin-scanning) in the Claude Help Center.
5264

‎content/en/agents-and-tools/mcp-connector.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ When Claude uses MCP tools, the response includes two new content block types:
498498
499499
### MCP tool use block
500500
501-
```text wrap
501+
```json
502502
{
503503
"type": "mcp_tool_use",
504504
"id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
@@ -510,7 +510,7 @@ When Claude uses MCP tools, the response includes two new content block types:
510510
511511
### MCP tool result block
512512
513-
```text wrap
513+
```json
514514
{
515515
"type": "mcp_tool_result",
516516
"tool_use_id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
@@ -530,7 +530,7 @@ An MCP server can change its tools at any time. The `mcp-client-2026-09-15` beta
530530
531531
When the API asks an MCP server for its tools while producing a response, the response starts with an `mcp_tool_listing` block for that server, one block for each server it asked:
532532
533-
```text wrap
533+
```json
534534
{
535535
"type": "mcp_tool_listing",
536536
"mcp_server_name": "example-mcp",

‎content/en/agents-and-tools/mcp-tunnels/deploy-compose.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ This guide provides one reference approach using Docker Compose. You are respons
383383
</Tab>
384384
</Tabs>
385385

386-
The compose file reads `TUNNEL_TOKEN` from the host environment with no default, so the export must be repeated in every fresh shell and after a reboot.
386+
The compose file reads `TUNNEL_TOKEN` from the host environment with no default, so you must repeat the export in every fresh shell and after a reboot.
387387

388388
For a multi-VM deployment, copy the `mcp-tunnel/` directory to each host, set `TUNNEL_TOKEN`, and run `docker compose up -d`. In the programmatic flow `TUNNEL_TOKEN` is `$(sudo cat data/tunnel-token)`; in the manual flow it's the value you copied from the Console. The same tunnel token and certificates work across all replicas.
389389

‎content/en/agents-and-tools/tool-use/advisor-tool.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ The advisor tool also accepts the generic properties available on any tool defin
300300
301301
When the advisor is called, a `server_tool_use` block is followed by an `advisor_tool_result` block in the assistant's content. The following example shows the plaintext `advisor_result` variant returned by a Claude Opus 4.8 advisor. The [Quick start](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#quick-start) uses Claude Opus 5.5, which returns the encrypted `advisor_redacted_result` variant instead; see [Result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants) for both shapes side by side.
302302
303-
```text
303+
```json
304304
{
305305
"role": "assistant",
306306
"content": [
@@ -349,7 +349,7 @@ Here is the same request sent twice, identical except for the advisor `model` in
349349
350350
With `"model": "claude-opus-4-8"`, the advice is plaintext:
351351
352-
```text
352+
```json
353353
{
354354
"type": "advisor_tool_result",
355355
"tool_use_id": "srvtoolu_abc123",
@@ -362,7 +362,7 @@ With `"model": "claude-opus-4-8"`, the advice is plaintext:
362362
363363
With `"model": "claude-opus-5-5"`, the advice is encrypted:
364364
365-
```text
365+
```json
366366
{
367367
"type": "advisor_tool_result",
368368
"tool_use_id": "srvtoolu_abc123",
@@ -383,7 +383,7 @@ In both cases, round-trip the content verbatim on subsequent turns. If you switc
383383
384384
If the advisor call fails, the result carries an error:
385385
386-
```text wrap
386+
```json
387387
{
388388
"type": "advisor_tool_result",
389389
"tool_use_id": "srvtoolu_abc123",
@@ -1250,7 +1250,7 @@ A `message_delta` event follows with the updated `usage.iterations` array reflec
12501250
12511251
Advisor calls run as a separate sub-inference billed at the advisor model's rates. Usage is reported in the `usage.iterations[]` array:
12521252
1253-
```text wrap
1253+
```json
12541254
{
12551255
"usage": {
12561256
"input_tokens": 1760,
@@ -1777,7 +1777,7 @@ Hard reasoning tasks elicit substantially longer advisor output than the [typica
17771777
17781778
When the advisor does hit the cap, the result block carries `stop_reason: "max_tokens"` on both [result variants](https://platform.claude.com/docs/en/agents-and-tools/tool-use/advisor-tool#result-variants), whichever advisor model you use. Use `stop_reason` to detect truncated advice and decide whether to raise the cap or let the executor proceed with partial guidance. The API also appends `[Advisor output truncated at max_tokens=2048.]` (naming your cap) to the advice text, so the executor receives the truncation notice in its own context; with a plaintext `advisor_result` advisor that marker is visible to your client as well. Both signals appear only when you set `max_tokens` on the tool definition.
17791779
1780-
```text
1780+
```json
17811781
{
17821782
"type": "advisor_tool_result",
17831783
"tool_use_id": "srvtoolu_abc123",

0 commit comments

Comments
 (0)