HomeDocs changes
Documentation changes
What the docs quietly changed.
Anthropic's published documentation, fetched on a schedule and diffed against the last copy. Every edit dated, including the ones that never made a release note.
Last poll read all 4 cleanly: Claude Code CLI, Claude Developer Platform, Claude Documentation, Model Context Protocol. A date here is when this site noticed, not when Anthropic edited.
Claude Developer Platform
812pages tracked
765 changed this week · last read 23 Oct 2026
Claude Code CLI
228pages tracked
145 changed this week · last read 22 Oct 2026
Claude Documentation
280pages tracked
77 changed this week · last read 23 Oct 2026
Model Context Protocol
357pages tracked
171 changed this week · last read 22 Oct 2026
100 on this page
ReadSourcePageWhatLines
21 Oct 2026
617 pages
+38537 −9704 lines
api
manage-claude/inference-hooks-configuration
±changed
+13−13
apichanged
manage-claude/inference-hooks-configuration
## Before you begin
## Before you start
Still in **Data and privacy**, open the **Inference hooks** section to reach the Inference hooks settings page. It lives under Data and privacy rather than as its own entry in
Still in **Data and privacy**, open the **Inference hooks** section to reach the Inference hooks settings page. It lives under **Data and privacy** rather than as its own entry
Click **Configure** to open the **Set up endpoint** dialog and enter the **Endpoint URL**: the `https://` URL that receives verdict requests. Only `https://` URLs are accepted.
+13 −13 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/inference-hooks
±changed
+5−5
apichanged
manage-claude/inference-hooks
There are two hook events. `prompt` fires once per governed inference request, before inference begins. `tool_call` fires when Claude's response contains tool calls, before any of
There are two hook events. `prompt` fires once for each governed inference request, before inference starts. `tool_call` fires when Claude's response contains tool calls, before an
If your AI security server is unreachable, returns an error, or doesn't respond within the timeout, your organization's failure handling setting decides the outcome: block the requ
If your AI security server is unreachable, returns an error, or doesn't respond within the timeout, your organization's failure handling setting determines the outcome: block the r
For the full request and response schemas, signature verification, and operational details, see [Develop an integration](https://platform.claude.com/docs/en/manage-claude/inference
+5 −5 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/data-residency
±changed
+4−4
apichanged
manage-claude/data-residency
* **Workspace geo:** Controls where data is stored at rest and where endpoint processing (such as image transcoding and code execution) happens. Configured at the workspace level i
* **Workspace geo:** Controls where data is stored at rest and where endpoint processing (such as image transcoding and code execution) occurs. Configured at the workspace level in
* **Global routing** (`inference_geo: "global"`): Standard pricing applies.
* **Older models:** Don't support `inference_geo` (see [Model availability](https://platform.claude.com/docs/en/manage-claude/data-residency#model-availability)); standard pricing
* **Global routing (`inference_geo: "global"`):** Standard pricing applies.
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-sessions
±changed
+21−21
apichanged
manage-claude/compliance-sessions
| `product_surface` values | `cowork`, `claude_code`, `claude_science`, `claude_in_chrome`, and values beginning with `office_agents`
| `product_surface` values | `cowork`, `claude_code`, `claude_science`, `claude_in_chrome`, and values starting with `office_agents`
For local sessions, Anthropic records each conversation server-side as its requests reach the Claude API; nothing is installed on the device, and nothing is collected beyond the re
For local sessions, Anthropic records each conversation server-side as its requests reach the Claude API; nothing is installed on the device, and nothing is collected beyond the re
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
+21 −21 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-org-data
±changed
+1−1
apichanged
manage-claude/compliance-org-data
The `api_keys` array lists every Compliance Access Key configured for your parent organization, so the same list is returned regardless of which linked organization you query. Each
The `api_keys` array lists every Compliance Access Key configured for your parent organization, so the same list is returned regardless of which linked organization you query. Each
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-integration-patterns
±changed
+6−6
apichanged
manage-claude/compliance-integration-patterns
* Requests are limited to 600 per minute per [parent organization](https://platform.claude.com/docs/en/manage-claude/compliance-api#how-the-compliance-api-works), shared across eve
* Requests are limited to 600 per minute for each [parent organization](https://platform.claude.com/docs/en/manage-claude/compliance-api#how-the-compliance-api-works), shared acros
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--header "anthropic-version: 2023-06-01" \
-H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
+6 −6 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-faq
±changed
+3−3
apichanged
manage-claude/compliance-faq
Local and remote session transcripts both carry user prompts, assistant responses, and tool calls and results. For local sessions (on users' machines), that is what Claude was
Local and remote session transcripts both carry user prompts, assistant responses, and tool calls and results. For local sessions (on users' machines), that is what Claude was
[Cowork's OpenTelemetry logging](https://support.claude.com/en/articles/14477985-monitor-claude-cowork-activity-with-opentelemetry) and [Claude Code monitoring](https://code.cl
[Cowork's OpenTelemetry logging](https://support.claude.com/en/articles/14477985-monitor-claude-cowork-activity-with-opentelemetry) and [Claude Code monitoring](https://code.cl
Yes. A Claude Enterprise parent organization can have many linked organizations, including a mix of claude.ai organizations and Claude Console organizations (for example, separ
+3 −3 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-errors
±changed
+2−2
apichanged
manage-claude/compliance-errors
The following table tells you at a glance whether to retry. Each section that follows shows the verbatim error body and the fix.
The following table tells you whether to retry. Each section that follows shows the verbatim error body and the fix.
A 500 without the `x-should-retry: false` header is transient: retry with exponential backoff (start at 1 second, double up to 60 seconds). The same applies to 502, 503, 504, and 5
A 500 without the `x-should-retry: false` header is transient: retry with exponential backoff (start at 1 second, double up to 60 seconds). The same applies to 502, 503, 504, and 5
+2 −2 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-content-data
±changed
+13−13
apichanged
manage-claude/compliance-content-data
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--header "anthropic-version: 2023-06-01" \
-H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
-H "anthropic-version: 2023-06-01" \
To scope the list to specific users instead (for example, a legal hold on named custodians), pass 1–10 `user_ids[]` values. Obtain the IDs from [List organization users](https://pl
+13 −13 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-api-access
±changed
+1−1
apichanged
manage-claude/compliance-api-access
* **Claude Enterprise organizations:** The primary owner enables the Compliance API at [claude.ai > Organization settings > API](https://claude.ai/admin-settings/api-access). E
* **Claude Enterprise organizations:** The primary owner enables the Compliance API at [claude.ai > Organization settings > API](https://claude.ai/admin-settings/api-access). E
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-api
±changed
+4−4
apichanged
manage-claude/compliance-api
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--header "anthropic-version: 2023-06-01"
-H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
-H "anthropic-version: 2023-06-01"
All `/v1/compliance/*` endpoints share a rate limit of 600 requests per minute per parent organization (for a standalone Claude Console organization, per organization). The local s
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/compliance-activity-feed
±changed
+8−8
apichanged
manage-claude/compliance-activity-feed
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
--header "anthropic-version: 2023-06-01"
-H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
-H "anthropic-version: 2023-06-01"
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
+8 −8 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/claude-code-analytics-api
±changed
+6−6
apichanged
manage-claude/claude-code-analytics-api
The Claude Code Analytics Admin API provides programmatic access to daily aggregated usage metrics for Claude Code users, enabling organizations to analyze developer productivity a
This API enables you to better monitor, analyze, and optimize your Claude Code adoption:
The Claude Code Analytics Admin API provides programmatic access to daily aggregated usage metrics for Claude Code users, allowing organizations to analyze developer productivity a
+6 −6 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/authentication
±changed
+21−21
apichanged
manage-claude/authentication
| Key type | Acts as | Works in
| -------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------
| **Personal key** | You, the user, with your roles and permissions | Either a single workspace or t
| **Service account key** | A [service account](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation#service-accounts) | Either a single workspace or a
| **Workspace key** (legacy) | No one: it belongs to the workspace it was created in | That workspace
+21 −21 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/app-attest
±changed
+1−1
apichanged
manage-claude/app-attest
Tokens are scoped to your workspace, expire after one hour, and authorize only [Messages API](https://platform.claude.com/docs/en/api/messages/create) calls. They carry no end-user
Tokens are scoped to your workspace, expire after 1 hour, and authorize only [Messages API](https://platform.claude.com/docs/en/api/messages/create) calls. They carry no end-user i
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/api-and-data-retention
±changed
+41−41
apichanged
manage-claude/api-and-data-retention
Different APIs and features have different storage needs. Where a feature does not require storage of customer prompts or responses, it may be eligible for ZDR. Where a feature nec
Different APIs and features have different storage needs. Where a feature does not require storage of customer prompts or responses, it might be eligible for ZDR. Where a feature n
* **Claude Messages and Token Counting APIs:** ZDR applies to these endpoints for eligible features listed in the [feature eligibility table](https://platform.claude.com/docs/en/ma
* **Claude Messages and Token Counting APIs:** ZDR applies to these endpoints for eligible features listed in the [feature eligibility table](https://platform.claude.com/docs/en/ma
| Feature | Endpoint
+41 −41 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/analytics-api
±changed
+8−8
apichanged
manage-claude/analytics-api
--header "anthropic-version: 2023-06-01" \
--header "x-api-key: $ANTHROPIC_ADMIN_KEY"
-H "anthropic-version: 2023-06-01" \
-H "x-api-key: $ANTHROPIC_ADMIN_KEY"
For the available metrics, request parameters, and response schema, see the [Claude Code Analytics API guide](https://platform.claude.com/docs/en/manage-claude/claude-code-analytic
+8 −8 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/admin-api-keys
±changed
+4−4
apichanged
manage-claude/admin-api-keys
Click **Create admin key**, give it a name, choose a [key expiration](https://platform.claude.com/docs/en/manage-claude/authentication#key-expiration), and click **Add**. Claud
Click **Create admin key**, give it a name, select a [key expiration](https://platform.claude.com/docs/en/manage-claude/authentication#key-expiration), and click **Add**. Claud
| Admin API [user management](https://platform.claude.com/docs/en/manage-claude/user-management): change member roles, remove members, create and withdraw invites (to assign the `m
| Admin API [user management](https://platform.claude.com/docs/en/manage-claude/user-management): change member roles, remove members, and create and withdraw invites (to assign th
| [Compliance API organization endpoints](https://platform.claude.com/docs/en/manage-claude/compliance-org-data): read organization metadata and effective settings
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/admin-api
±changed
+6−6
apichanged
manage-claude/admin-api
The Python, TypeScript, C#, Go, Java, PHP, and Ruby SDKs expose the endpoints on this page under `client.organization` (csharp, go: `client.Organization`; java: `client.organizatio
The SDK exposes the endpoints on this page under `client.organization` (csharp, go: `client.Organization`; java: `client.organization()`; php: `$client->organization`), and the `an
The SDKs and the `ant` CLI read `ANTHROPIC_AUTH_TOKEN` automatically. Leave `ANTHROPIC_API_KEY` unset in the same shell so they send the bearer token. Automated workloads skip the
The SDK and the `ant` CLI read `ANTHROPIC_AUTH_TOKEN` automatically. Leave `ANTHROPIC_API_KEY` unset in the same shell so they send the bearer token. Automated workloads skip the l
Monitor and manage [API keys](https://platform.claude.com/docs/en/api/organization/api_keys/list). Each key in the response includes its `expires_at` timestamp (`null` for keys wit
+6 −6 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/access-transparency-log
±changed
+27−27
apichanged
manage-claude/access-transparency-log
When Access Transparency is enabled, Anthropic maintains a transparency log for your organization. It is an append-only, cryptographically signed record of Access Transparency even
* **One log per organization.** Each organization's log has a fixed origin string: `axt.anthropic.com/<your organization UUID>`. The origin never changes for the life of the organi
When Access Transparency is enabled, Anthropic maintains a transparency log for your organization. It is an append-only, cryptographically signed record of Access Transparency even
+27 −27 lines
Recorded here 21 Oct 2026 19:37 UTC
api
manage-claude/access-transparency
±changed
+12−12
apichanged
manage-claude/access-transparency
* **Human access happens only under a published reason code.**
* **Human access occurs only under a published reason code.**
* **Covered content:** Access Transparency covers prompt and response content sent through the Claude Messages API or Claude Code sessions. Anthropic's [general ZDR documentation](
* **Covered content:** Access Transparency covers prompt and response content sent through the Claude Messages API or Claude Code sessions. The [API and data retention](https://pla
--header "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
+12 −12 lines
Recorded here 21 Oct 2026 19:37 UTC
api
intro
±changed
+4−4
apichanged
intro
Follow these steps to go from zero to a working Claude integration.
Follow these steps to build a working Claude integration.
<Card title="API Reference" icon="code" href="https://platform.claude.com/docs/en/api/overview">
<Card title="API reference" icon="code" href="https://platform.claude.com/docs/en/api/overview">
Claude can assist with many tasks that involve text, code, and images.
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
get-started
±changed
+1−1
apichanged
get-started
Export your API key as an environment variable. The cURL command below reads it from `$ANTHROPIC_API_KEY`.
Export your API key as an environment variable. The cURL command in the following step reads it from `$ANTHROPIC_API_KEY`.
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
get-api-key
±changed
+5−5
apichanged
get-api-key
When you create a key, you choose its type, which determines what the key can do, where it works, and when it stops working. A **personal key** acts as you, and stops working if yo
When you create a key, you choose its type, which determines what the key can do, where it works, and when it stops working. A **personal key** acts as you, and stops working if yo
Click **Create key**, name the key, choose an [expiration](https://platform.claude.com/docs/en/manage-claude/authentication#key-expiration), and set **Linked account** to yours
Click **Create key**, name the key, select an [expiration](https://platform.claude.com/docs/en/manage-claude/authentication#key-expiration), and set **Linked account** to yours
If the **Create key** button on the API keys page is disabled, your role may not allow you to create keys there. Ask an organization admin to change your role, or to create a servi
+5 −5 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/typescript
±changed
+25−25
apichanged
cli-sdks-libraries/sdks/typescript
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
This library includes TypeScript definitions for all request parameters and response fields. You may import and use them like so:
This library includes TypeScript definitions for all request parameters and response fields. You can import and use them as follows:
Streaming with `client.messages.stream(...)` exposes various helpers for your convenience including event handlers and accumulation.
+25 −25 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/ruby
±changed
+16−16
apichanged
cli-sdks-libraries/sdks/ruby
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
The SDK provides helper mechanisms to define structured data classes for tools and let Claude automatically execute them. For detailed documentation on tool use patterns including
The SDK provides helper mechanisms to define structured data classes for tools and let Claude automatically run them. For detailed documentation on tool use patterns including the
When the library is unable to connect to the API, or if the API returns a non-success status code (that is, 4xx or 5xx response), a subclass of `Anthropic::Errors::APIError` is rai
+16 −16 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/python
±changed
+20−20
apichanged
cli-sdks-libraries/sdks/python
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
Alternatively, you can use `client.messages.create(..., stream=True)` which only returns an iterable of the events in the stream and uses less memory (it doesn't build up a final m
Alternatively, you can use `client.messages.create(..., stream=True)`, which only returns an iterable of the events in the stream and uses less memory (it doesn't build up a final
When the library is unable to connect to the API, or if the API returns a non-success status code (that is, 4xx or 5xx response), a subclass of `APIError` is raised:
+20 −20 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/php
±changed
+3−3
apichanged
cli-sdks-libraries/sdks/php
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
It is recommended to use the static `with` constructor `Base64ImageSource::with(data: "U3RhaW5sZXNzIHJvY2tz", ...)` and named parameters to initialize value objects.
The recommended way to initialize value objects is the static `with` constructor `Base64ImageSource::with(data: "U3RhaW5sZXNzIHJvY2tz", ...)` with named parameters.
| Cause | Error Type |
+3 −3 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/java
±changed
+21−21
apichanged
cli-sdks-libraries/sdks/java
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
The tool use feature supports a "strict" mode that guarantees that the JSON output from the AI model will conform to the JSON schema you provide in the input parameters.
The tool use feature supports a "strict" mode that guarantees that the JSON output from the AI model conforms to the JSON schema you provide in the input parameters.
When your tool classes are defined, add them to the message parameters using `MessageCreateParams.Builder.addTool(Class<T>)` and then call them if requested to do so in the AI mode
+21 −21 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/go
±changed
+21−21
apichanged
cli-sdks-libraries/sdks/go
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
Request structs contain a `.SetExtraFields(map[string]any)` method which can send non-conforming fields in the request body. Extra fields overwrite any struct fields with a matchin
Request structs contain a `.SetExtraFields(map[string]any)` method that can send non-conforming fields in the request body. Extra fields overwrite any struct fields with a matching
Unions are represented as a struct with fields prefixed by "Of" for each of its variants. Only one field can be non-zero. The non-zero field will be serialized.
+21 −21 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/sdks/csharp
±changed
+8−8
apichanged
cli-sdks-libraries/sdks/csharp
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
For authentication options including Workload Identity Federation, see [Authentication](https://platform.claude.com/docs/en/manage-claude/authentication). If your API key is a [per
Using a [`with` expression](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/with-expression) makes it easy to construct the modified options.
You can use a [`with` expression](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/with-expression) to construct the modified options.
* `AnthropicSseException`: thrown for errors encountered during SSE streaming after a successful initial HTTP response.
+8 −8 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/middleware
±changed
+1−1
apichanged
cli-sdks-libraries/middleware
The SDK also accepts a custom HTTP client (for proxy configuration, custom TLS, or connection pooling). Only one HTTP client is used per SDK client; setting it replaces the default
The SDK also accepts a custom HTTP client (for proxy configuration, custom TLS, or connection pooling). Only one HTTP client is used for each SDK client; setting it replaces the de
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/libraries/openai-sdk
±changed
+55−55
apichanged
cli-sdks-libraries/libraries/openai-sdk
description: Anthropic provides a compatibility layer that enables you to use the OpenAI SDK to test the Claude API. With a few code changes, you can quickly evaluate Anthropic mod
description: Anthropic provides a compatibility layer that lets you use the OpenAI SDK to test the Claude API. With a few code changes, you can quickly evaluate Anthropic model cap
This compatibility layer is primarily intended to test and compare model capabilities, and is not considered a long-term or production-ready solution for most use cases. While it
This compatibility layer is primarily intended to test and compare model capabilities, and is not considered a long-term or production-ready solution for most use cases. Although
If you encounter any issues with the OpenAI SDK compatibility feature, please share your feedback via this [compatibility feedback form](https://forms.gle/oQV4McQNiuuNbz9n8).
+55 −55 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/libraries/apple-foundation-models
±changed
+4−4
apichanged
cli-sdks-libraries/libraries/apple-foundation-models
Requests go directly from your app to the Claude API; Apple is not in the request path and does not see prompts or responses. Usage is billed to your Anthropic account at [standard
Requests go directly from your app to the Claude API; Apple is not in the request path and does not see prompts or responses. Usage is billed to your Anthropic account at [standard
Tokens are scoped to your workspace, expire after one hour, and authorize only [Messages API](https://platform.claude.com/docs/en/api/messages/create) calls. They carry no end-user
Tokens are scoped to your workspace, expire after 1 hour, and authorize only [Messages API](https://platform.claude.com/docs/en/api/messages/create) calls. They carry no end-user i
The framework's `tools:` array works unchanged. Conform your types to `Tool`, pass them to `LanguageModelSession`, and the framework invokes them on the device when Claude calls th
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/cli/using
±changed
+16−16
apichanged
cli-sdks-libraries/cli/using
| Flag | Description
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------
| `--profile` | Named profile to use for this invocation (equivalent to setting `ANTHROPIC_PROFILE`). See [Switch between workspaces](https://platform.cla
| `--api-key-stdin` | Read the API key from standard input. The flag reads all of standard input, so pass the request body with [flags](https://platform.claude.
| `--auth-token-stdin` | Read the bearer token from standard input. The flag reads all of standard input, so pass the request body with [flags](https://platform.cl
+16 −16 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/cli/sessions-connect
±changed
+2−2
apichanged
cli-sdks-libraries/cli/sessions-connect
When a tool call is waiting for your approval, the input line changes to **Allow tool call?** This happens under an `always_ask` policy, or under `auto` when the server reaches no
When a tool call is waiting for your approval, the input line changes to **Allow tool call?** This occurs under an `always_ask` policy, or under `auto` when the server reaches no d
The URL can be opened once, within two minutes of being printed. Reloading that tab works, but to open the viewer anywhere else, run the command again. Your credentials never leave
The URL can be opened once, within 2 minutes of being printed. Reloading that tab works, but to open the viewer anywhere else, run the command again. Your credentials never leave t
+2 −2 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/cli/scripting
±changed
+2−2
apichanged
cli-sdks-libraries/cli/scripting
`--transform id --raw-output` on a list endpoint emits one bare ID per line, so standard tools such as `head` and `xargs` apply directly. Capture the first result, then pass it to
`--transform id --raw-output` on a list endpoint emits one bare ID on each line, so standard tools such as `head` and `xargs` apply directly. Capture the first result, then pass it
Claude Code shells out to `ant`, parses the structured output, and reasons over the results (no custom integration code required).
Claude Code runs `ant` commands, parses the structured output, and reasons over the results (no custom integration code required).
+2 −2 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/cli/quickstart
±changed
+1−1
apichanged
cli-sdks-libraries/cli/quickstart
Version-control API resources, scripting patterns, and use from Claude Code
Version control for API resources, scripting patterns, and use from Claude Code
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/cli/authentication
±changed
+4−4
apichanged
cli-sdks-libraries/cli/authentication
The `ant` CLI supports several credential sources. The [Quickstart](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart#authentication) covers the one-command hap
The `ant` CLI supports several credential sources. The [Quickstart](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart#authentication) covers the one-command log
To override the key for a single invocation, pass [`--api-key-stdin`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#global-flags) and pipe the key to the command
To override the key for a single run, pass [`--api-key-stdin`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/using#global-flags) and pipe the key to the command. To po
If you are using an API key scoped to multiple workspaces, such as a [personal or service account key](https://platform.claude.com/docs/en/manage-claude/authentication#key-types),
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
cli-sdks-libraries/cli/apply
±changed
+1−1
apichanged
cli-sdks-libraries/cli/apply
Commit it with your files. It's how the next run, on your machine or in CI, finds these resources instead of creating them again, and it's where you read an agent's ID to [start a
Commit it with your files. It's how the next run, on your machine or in CI, finds these resources instead of creating them again, and it's where you read an agent's ID to [start a
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
claude_api_primer
±changed
+12−12
apichanged
claude_api_primer
Interleaved thinking enables Claude to think between tool calls, reasoning about tool results before determining the next step.
Interleaved thinking allows Claude to think between tool calls, reasoning about tool results before determining the next step.
| Parameter | Description |
| -------------- | --------------------------------------------------------------------------------------------------- |
| `name` | The name of the tool. Must match the regex `^[a-zA-Z0-9_-]{1,128}$`. |
+12 −12 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/working-with-messages
±changed
+6−6
apichanged
build-with-claude/working-with-messages
The `temperature`, `top_p`, and `top_k` sampling parameters are not supported on Claude 4.7 and later models and Claude Mythos Preview, or on any model starting with [API version
The `temperature`, `top_p`, and `top_k` sampling parameters are not supported on Claude 4.7 and later models and Claude Mythos Preview, or on any model starting with [API version
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
model: "claude-opus-5-5",
+6 −6 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/vision-coordinates
±changed
+9−9
apichanged
build-with-claude/vision-coordinates
**Claude works best with absolute pixel coordinates.** Ask for them explicitly in your prompt. For example: *"Return the bounding box of each table as `[x1, y1, x2, y2]` (top-lef
**Claude works best with absolute pixel coordinates.** Ask for them explicitly in your prompt. For example: *"Return the bounding box of each table as `[x1, y1, x2, y2]` (top-lef
Coordinates follow the standard image convention: the origin `(0, 0)` is the top-left corner of the image, with x increasing to the right and y increasing downward. The coordinates
Coordinates follow the standard image convention: the origin `(0, 0)` is the top-left corner of the image, with x increasing to the right and y increasing downward. The coordinates
The most reliable approach is to resize your image yourself before uploading, so the image you have is exactly the image Claude sees and the coordinates Claude returns need no conv
+9 −9 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/vision
±changed
+18−18
apichanged
build-with-claude/vision
description: Claude's vision capabilities allow it to understand and analyze images, opening up exciting possibilities for multimodal interaction.
description: Claude's vision capabilities allow it to process and analyze images, opening up exciting possibilities for multimodal interaction.
* [Playground](https://platform.claude.com/playground) in the Claude Console. Add images directly to any User message block.
* [Playground](https://platform.claude.com/playground) in the Claude Console. Add images directly to any **User** message block.
The maximum number of images per message or request is:
+18 −18 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/token-counting
±changed
+3−3
apichanged
build-with-claude/token-counting
Token counts may include tokens added automatically by Anthropic for system optimizations. **You are not billed for system-added tokens**. Billing reflects only your content.
Token counts might include tokens added automatically by Anthropic for system optimizations. **You are not billed for system-added tokens**. Billing reflects only your content.
* Thinking blocks from **previous** assistant turns count toward your input tokens on models that [keep all prior turns](https://platform.claude.com/docs/en/build-with-claude/thi
* **Current** assistant turn thinking **does** count toward your input tokens
* Thinking blocks from **previous** assistant turns count toward your input tokens on models that [keep all prior turns](https://platform.claude.com/docs/en/build-with-claude/thi
+3 −3 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/thinking-troubleshooting
±changed
+18−18
apichanged
build-with-claude/thinking-troubleshooting
This happens because the model you requested has removed extended thinking (see the [per-model configuration table](https://platform.claude.com/docs/en/build-with-claude/thinking-t
This occurs because the model you requested has removed extended thinking (see the [per-model configuration table](https://platform.claude.com/docs/en/build-with-claude/thinking-tr
This happens because thinking is always on for all of these models (see the [per-model configuration table](https://platform.claude.com/docs/en/build-with-claude/thinking-troublesh
This occurs because thinking is always on for all of these models (see the [per-model configuration table](https://platform.claude.com/docs/en/build-with-claude/thinking-troublesho
This happens because only Claude Sonnet 5.5 accepts `thinking: {type: "between_tools"}` (see the [per-model configuration table](https://platform.claude.com/docs/en/build-with-clau
+18 −18 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/thinking-tool-workflows
±changed
+8−8
apichanged
build-with-claude/thinking-tool-workflows
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
You should see `thinking` and `tool_use` blocks in the response content on a run where Claude chose to think (on simpler requests, adaptive mode may skip the thinking block). A
You should see `thinking` and `tool_use` blocks in the response content on a run that includes thinking (on simpler requests, adaptive mode may skip the thinking block). A note
# Call your actual weather API, here is where your actual API call would go
+8 −8 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/thinking-steering-and-cost
±changed
+25−25
apichanged
build-with-claude/thinking-steering-and-cost
Claude's thinking is adaptive: the model evaluates each request and determines whether to think and how much. You set an intent, optionally specify the effort, and the model alloca
Claude's thinking is adaptive: the model evaluates each request and determines whether to think and how much. You set an intent, optionally specify the effort, and the model alloca
To learn how to turn thinking on, how to read thinking output, and about [thinking output on Claude Fable 5 and Claude Mythos 5](https://platform.claude.com/docs/en/build-with-clau
To learn how to turn thinking on and how to read thinking output, see the [Thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) overview. This page covers how
Thinking is optional for the model. On each request, Claude weighs the complexity of the input and determines whether deeper reasoning would improve the answer. A simple factual qu
+25 −25 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/thinking
±changed
+31−31
apichanged
build-with-claude/thinking
A model that answers in a single pass has to get everything right on the first try: no scratch work, no checking, no changing course halfway through. For a proof, a tricky bug, or
Thinking removes that constraint. When thinking is active, Claude works through the problem in its own words before answering: it restates what is being asked, tries approaches, ch
A model that answers in a single pass has to get everything right on the first try: no scratch work, no checking, no changing approach halfway through. For a proof, a tricky bug, o
+31 −31 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/task-budgets
±changed
+13−13
apichanged
build-with-claude/task-budgets
Task budgets let you tell Claude how many tokens it has for a full agentic loop, including thinking, tool calls, tool results, and output. The model sees a running countdown and us
Task budgets let you tell Claude how many tokens it has for a full agentic loop, including thinking, tool calls, tool results, and output. The model receives a running countdown an
Task budgets complement the [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort): effort controls how thoroughly Claude reasons about each step, while t
Task budgets complement the [effort parameter](https://platform.claude.com/docs/en/build-with-claude/effort): effort controls how thoroughly Claude reasons about each step, whereas
Claude sees a budget-countdown marker injected server-side throughout the conversation. The marker shows how many tokens remain in the current agentic loop and updates as the model
+13 −13 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/structured-outputs
±changed
+58−54
apichanged
build-with-claude/structured-outputs
Without structured outputs, Claude can generate malformed JSON responses or invalid tool inputs that break your applications. Even with careful prompting, you may encounter:
Without structured outputs, Claude can generate malformed JSON responses or invalid tool inputs that break your applications. Even with careful prompting, you might encounter:
The example above outputs:
The previous example outputs:
The example above outputs:
+58 −54 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/streaming
±changed
+39−39
apichanged
build-with-claude/streaming
The `.stream()` (java: `.createStreaming()`; csharp: `.CreateStreaming()`; go: `.NewStreaming()`; php: `->createStream()`) call keeps the HTTP connection alive with server-sent eve
The `.stream()` (java: `.createStreaming()`; csharp: `.CreateStreaming()`; go: `.NewStreaming()`; php: `->createStream()`) call keeps the HTTP connection alive with server-sent eve
Event streams may also include any number of `ping` events.
Event streams might also include any number of `ping` events.
The API may occasionally send [errors](https://platform.claude.com/docs/en/api/errors) in the event stream. For example, during periods of high usage, you may receive an `overloade
+39 −39 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/skills-guide
±changed
+19−19
apichanged
build-with-claude/skills-guide
* [Skill Management API Reference](https://platform.claude.com/docs/en/api/skills/list) - CRUD operations for Skills
* [Skill Versions API Reference](https://platform.claude.com/docs/en/api/skills/versions/list) - Version management
* [Skill management API reference](https://platform.claude.com/docs/en/api/skills/list) - CRUD operations for Skills
* [Skill versions API reference](https://platform.claude.com/docs/en/api/skills/versions/list) - Version management
Skills may perform operations that require multiple turns. Handle `pause_turn` stop reasons:
+19 −19 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/search-results
±changed
+10−10
apichanged
build-with-claude/search-results
description: Enable natural citations for RAG applications by providing search results with source attribution
description: Get natural citations for RAG applications by providing search results with source attribution
1. **From tool calls:** Your custom tools return search results, enabling dynamic RAG applications
2. **As top-level content:** You provide search results directly in user messages for pre-fetched or cached content
1. **From tool calls:** Your custom tools return search results, which lets you build dynamic RAG applications.
+10 −10 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/refusals-and-fallback
±changed
+23−23
apichanged
build-with-claude/refusals-and-fallback
* [Stop reasons and fallback](https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons): the full list of `stop_reason` values.
* [Fallback credit](https://platform.claude.com/docs/en/build-with-claude/fallback-credit): how to avoid paying the prompt-cache cost twice when you build the retry yourself.
* [SDK middleware](https://platform.claude.com/docs/en/cli-sdks-libraries/middleware): the SDK helper that wraps all of this.
* [Fallback and billing cookbook](https://platform.claude.com/cookbook/fable-5-fallback-billing-guide): a worked end-to-end example.
* [Stop reasons and fallback](https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons): the full list of `stop_reason` values
+23 −23 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-sonnet-5-5
±changed
+14−14
apichanged
build-with-claude/prompt-engineering/prompting-claude-sonnet-5-5
Lower effort also changes how the model finishes agentic work. At `low`, it keeps its thinking short and can skip verifying a change. See [Verification on coding tasks](https://pla
Lower effort also changes how the model completes agentic work. At `low`, it keeps its thinking short and can skip verifying a change. See [Verification on coding tasks](https://pl
**Unrequested additions when coding.** The model tends to add tests, documentation, and small supporting files that fit your repository's conventions, even when you don't ask for t
**Unrequested additions when coding.** The model tends to add tests, documentation, and small supporting files that fit your repository's conventions, even when you don't ask for t
**Thoroughness at `xhigh` and `max` effort.** At these levels the model is especially thorough. After it finishes a task, it can start its own rounds of review and verification, so
+14 −14 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-sonnet-5
±changed
+10−10
apichanged
build-with-claude/prompt-engineering/prompting-claude-sonnet-5
If your product depends on a certain style or verbosity of output, you may need to tune your prompts. As an example, to decrease verbosity, you might add:
If your product depends on a certain style or verbosity of output, you might need to tune your prompts. As an example, to decrease verbosity, you might add:
Claude Sonnet 5 respects effort levels strictly, especially at the low end. At `low` and `medium`, the model scopes its work to what was asked rather than going above and beyond. T
Claude Sonnet 5 respects effort levels strictly, especially at the low end. At `low` and `medium`, the model scopes its work to what was asked rather than going beyond the request.
The triggering behavior for adaptive thinking is steerable. If you find the model emitting thinking blocks more often than you'd like, which can happen with large or complex system
+10 −10 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-opus-5-5
±changed
+20−20
apichanged
build-with-claude/prompt-engineering/prompting-claude-opus-5-5
description: "Behavioral differences from Claude Opus 5 and the prompting and harness patterns that address them: effort calibration, thinking behavior in API integrations and chat
description: "Behavioral differences from Claude Opus 5 and the prompting and harness patterns that address them: effort calibration, thinking behavior in API integrations and chat
Claude Opus 5.5 generates output tokens more than 30 percent faster than Claude Opus 5 and tends to finish the same task with fewer tokens. Existing Claude Opus 5 prompts should pe
Claude Opus 5.5 generates output tokens more than 30 percent faster than Claude Opus 5 and tends to complete the same task with fewer tokens. Existing Claude Opus 5 prompts should
* Unsure which effort level to run, or turns run longer and cost more than they did on Claude Opus 5: [Calibrate effort](https://platform.claude.com/docs/en/build-with-claude/promp
+20 −20 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-opus-5
±changed
+8−8
apichanged
build-with-claude/prompt-engineering/prompting-claude-opus-5
* **Agentic coding:** Claude Opus 5 is strongest on difficult coding tasks: multi-file features, larger refactors, and end-to-end feature work. It completes full tasks rather than
* **Code review and bug-finding:** Claude Opus 5 reviews code with high precision and recall: it finds real bugs at a high rate per pass, and its additional findings are mostly rea
* **Agentic coding:** Claude Opus 5 is strongest on difficult coding tasks: multifile features, larger refactors, and end-to-end feature work. It completes full tasks rather than l
* **Code review and bug-finding:** Claude Opus 5 reviews code with high precision and recall: it finds real bugs at a high rate per pass, and its additional findings are mostly rea
* **Vision:** Claude Opus 5 is strong on chart, document, and diagram understanding, and on UI and frontend visual replication. Re-validate any prompt-side vision workarounds you t
+8 −8 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-opus-4-8
±changed
+11−11
apichanged
build-with-claude/prompt-engineering/prompting-claude-opus-4-8
Claude Opus 4.8 calibrates response length to how complex it judges the task to be, rather than defaulting to a fixed verbosity. This usually means shorter answers on simple lookup
Claude Opus 4.8 calibrates response length to the complexity of the task, rather than defaulting to a fixed verbosity. This usually means shorter answers on simple lookups and much
If your product depends on a certain style or verbosity of output, you may need to tune your prompts. As an example, to decrease verbosity, you might add:
If your product depends on a certain style or verbosity of output, you might need to tune your prompts. As an example, to decrease verbosity, you might add:
* **`max`:** Max effort can deliver performance gains in some use cases, but may show diminishing returns from increased token usage. This setting can also sometimes be prone to ov
+11 −11 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-haiku-5-5
±changed
+4−4
apichanged
build-with-claude/prompt-engineering/prompting-claude-haiku-5-5
The model also sometimes needs an extra nudge to search. This happens most at `low` effort and with long system prompts. To fix it, add this text directly after the date:
The model also sometimes needs an extra nudge to search. This occurs most at `low` effort and with long system prompts. To fix it, add this text directly after the date:
Claude Haiku 5.5 sometimes writes reasoning-like text in the reply that users see. This happens more often with thinking off or at `low` effort. If you see this behavior, switch to
Claude Haiku 5.5 sometimes writes reasoning-like text in the reply that users see. This occurs more often with thinking off or at `low` effort. If you see this behavior, switch to
* `frontier_llm`: the request could assist the development of competing AI models.
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-fable-5-1
±changed
+18−18
apichanged
build-with-claude/prompt-engineering/prompting-claude-fable-5-1
* One tool call per turn in agent loops: [Batch independent tool calls in agent loops](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fab
* One tool call for each turn in agent loops: [Batch independent tool calls in agent loops](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claud
Prompts, skills, and tool descriptions that ask the model to write out its thinking or reasoning may be declined with the `reasoning_extraction` category. Ask for a short explana
Prompts, skills, and tool descriptions that ask the model to write its thinking or reasoning might be declined with the `reasoning_extraction` category. Ask for a short explanati
First, check that your client receives progress updates at all. The model's short notes between tool calls, what it just found and what it's doing next, come back as [progress-upda
+18 −18 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/prompting-claude-fable-5
±changed
+7−7
apichanged
build-with-claude/prompt-engineering/prompting-claude-fable-5
Claude Fable 5 has several behavioral differences from Claude Opus 4.8 that may require prompt or scaffolding updates. Capability improvements at this level are also a good prompt
Claude Fable 5 has several behavioral differences from Claude Opus 4.8 that might require prompt or scaffolding updates. Capability improvements at this level are also a good promp
Claude Fable 5 runs safety classifiers that target offensive cybersecurity techniques (such as building exploits, malware, or attack tooling), biology and life sciences content (
Claude Fable 5 runs safety classifiers that target offensive cybersecurity techniques (such as building exploits, malware, or attack tooling), biology and life sciences content (
* **Code review and debugging.** Bug-finding recall (outside the cybersecurity domains the safety classifiers cover) is noticeably higher than Claude Opus 4.8, including search acr
+7 −7 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/overview
±changed
+2−2
apichanged
build-with-claude/prompt-engineering/overview
If not, spend time establishing that first. Check out [Define success criteria and build evaluations](https://platform.claude.com/docs/en/test-and-evaluate/develop-tests) for tips
If not, spend time establishing that first. See [Define success criteria and build evaluations](https://platform.claude.com/docs/en/test-and-evaluate/develop-tests) for tips and gu
This guide focuses on success criteria that are controllable through prompt engineering. Not every success criteria or failing eval is best solved by prompt engineering. For exampl
This guide focuses on success criteria that are controllable through prompt engineering. Not every success criterion or failing eval is best solved by prompt engineering. For examp
+2 −2 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-engineering/claude-prompting-best-practices
±changed
+51−51
apichanged
build-with-claude/prompt-engineering/claude-prompting-best-practices
Claude responds well to clear, explicit instructions. Being specific about your desired output can help enhance results. If you want "above and beyond" behavior, explicitly request
Claude responds well to clear, explicit instructions. Being specific about the output you want can help enhance results. If you want Claude to do more than the task strictly requir
**Golden rule:** Show your prompt to a colleague with minimal context on the task and ask them to follow it. If they'd be confused, Claude will be too.
* Be specific about the desired output format and constraints.
+51 −51 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/prompt-caching
±changed
+65−65
apichanged
build-with-claude/prompt-caching
* **[Automatic caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#automatic-caching)**: Add a single `cache_control` field at the top level of your reque
* **[Explicit cache breakpoints](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints)**: Place `cache_control` directly on individual co
* **[Automatic caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#automatic-caching):** Add a single `cache_control` field at the top level of your reque
* **[Explicit cache breakpoints](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints):** Place `cache_control` directly on individual co
3. Otherwise, it processes the full prompt and caches the prefix once the response begins.
+65 −65 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/preserved-thinking
±changed
+43−44
apichanged
build-with-claude/preserved-thinking
* [Drops some `thinking` blocks and keeps later ones](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#append-assistant-turns-exactly-as-returned), or remov
* [Drops some `thinking` blocks and keeps later ones](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#append-assistant-turns-exactly-as-returned), or remov
Keep sending the full history on every request, thinking blocks included, and let the API drop what the current model can't read. The API never edits your `messages` array, so the
Keep sending the full history on every request, thinking blocks included, and let the API drop what the current model can't read. The API never edits your `messages` array, so the
Keep `system` and `tools` fixed for the session and treat `messages` as append-only. The same discipline keeps the prefix stable for [prompt caching](https://platform.claude.com/do
+43 −44 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/pdf-support
±changed
+22−22
apichanged
build-with-claude/pdf-support
* Assisting with document translation
* Helping with document translation
## Before you begin
## Before you start
| Requirement | Limit |
+22 −22 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/overview
±changed
+18−18
apichanged
build-with-claude/overview
* **Tool infrastructure:** Handles discovery and orchestration at scale.
* **Context management:** Keeps long-running sessions efficient.
* **Tool infrastructure:** Handle discovery and orchestration at scale.
* **Context management:** Keep long-running sessions efficient.
| [Adaptive thinking](https://platform.claude.com/docs/en/build-with-claude/thinking) | Let Claude dynamically determine when and how much to think. The only thinki
+18 −18 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/multilingual-support
±changed
+1−1
apichanged
build-with-claude/multilingual-support
1. **Provide clear language context:** Although Claude can detect the target language automatically, explicitly stating the desired input and output languages improves reliability.
1. **Provide clear language context:** Although Claude can detect the target language automatically, explicitly stating the input and output languages you want improves reliability
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/mid-conversation-system-messages
±changed
+15−15
apichanged
build-with-claude/mid-conversation-system-messages
* **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 the model s
* **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'
* The tool definitions sent after the first user message that are still available after any message total more than 4 MB (4,194,304 bytes).
* The rendered tool text is larger than 4 MB (4,194,304 bytes).
* The tool definitions sent after the first user message that are still available after any message total more than 4 MB (4,194,304 bytes).
+15 −15 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/mid-conversation-effort-example
±changed
+5−5
apichanged
build-with-claude/mid-conversation-effort-example
The example is a single file. The constants control the effort level, the fan-out shape, and how often the mode refresher is re-sent. `MAX_CONCURRENT` caps how many subagents run a
The example is a single file. The constants control the effort level, the fan-out shape, and how often the mode refresher is re-sent. `MAX_CONCURRENT` caps how many subagents run a
A fan-out that spawns dozens of subagents is expensive to restart from scratch. A small content-addressed journal makes it idempotent: before dispatching a subagent, look up the SH
A fan-out that spawns dozens of subagents is expensive to restart from the beginning. A small content-addressed journal makes it idempotent: before dispatching a subagent, look up
The fan-out accepts up to `MAX_TOTAL_SUBTASKS` prompts, runs them through the journal with at most `MAX_CONCURRENT` in flight (sequential in the PHP port), and isolates failures so
+5 −5 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/handling-stop-reasons
±changed
+18−18
apichanged
build-with-claude/handling-stop-reasons
| [`end_turn`](https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons#end-turn) | Claude finished its response natura
| [`end_turn`](https://platform.claude.com/docs/en/build-with-claude/handling-stop-reasons#end-turn) | Claude completed its response natur
The most common stop reason. Indicates Claude finished its response naturally.
The most common stop reason. Indicates Claude completed its response naturally.
Sometimes Claude returns an empty response (exactly 2–3 tokens with no content) with `stop_reason: "end_turn"`. This typically occurs when Claude interprets that the assistant tu
+18 −18 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/files
±changed
+33−37
apichanged
build-with-claude/files
**Uploaded files are accessible to your entire workspace, not scoped to an end user, conversation, or session.** Any API key with access to a workspace can access any files uploa
If you are building a multi-tenant application on the Files API, create a separate [workspace](https://platform.claude.com/docs/en/manage-claude/workspaces) for each tenant. The
**Uploaded files are accessible to your entire workspace, not scoped to an end user, conversation, or session.** Any API key with access to a workspace can access any files uploa
+33 −37 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/fast-mode
±changed
+3−3
apichanged
build-with-claude/fast-mode
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
Falling back from fast to standard speed will result in a [prompt cache](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) miss. Requests at different speeds
+3 −3 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/fallback-credit
±changed
+18−18
apichanged
build-with-claude/fallback-credit
Prompt 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
Prompt 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
* **`fallback_credit_token`:** an opaque string that represents the credit.
* **`fallback_has_prefill_claim`:** a Boolean that tells you which retry body shape to use.
* **`fallback_credit_token`:** an opaque string that represents the credit
+18 −18 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/extended-thinking
±changed
+9−9
apichanged
build-with-claude/extended-thinking
Extended thinking availability per model, including the models where extended thinking is the only mode, is listed in the [per-model configuration table](https://platform.claude.co
Extended thinking availability for each model, including the models where extended thinking is the only mode, is listed in the [per-model configuration table](https://platform.clau
The `budget_tokens` parameter sets a target for how many tokens Claude can use for its internal reasoning process. Larger budgets can improve response quality by enabling more thor
The `budget_tokens` parameter sets a target for how many tokens Claude can use for its internal reasoning process. Larger budgets can improve response quality by allowing more thor
* **Less than `max_tokens`.** Thinking tokens count toward the `max_tokens` limit for the turn, so the budget must leave room for the final response. The one exception is [interlea
+9 −9 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/embeddings
±changed
+8−8
apichanged
build-with-claude/embeddings
description: Text embeddings are numerical representations of text that enable measuring semantic similarity. This guide introduces embeddings, their applications, and how to use e
description: Text embeddings are numerical representations of text that let you measure semantic similarity. This guide introduces embeddings, their applications, and how to use em
* Dataset size & domain specificity: size of the model training dataset and its relevance to the domain you want to embed. Larger or more domain-specific data generally produces be
* Inference performance: embedding lookup speed and end-to-end latency. This is a particularly important consideration for large scale production deployments
* Dataset size and domain specificity: size of the model training dataset and its relevance to the domain you want to embed. Larger or more domain-specific data generally produces
+8 −8 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/effort
±changed
+9−9
apichanged
build-with-claude/effort
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
Because effort applies to every output token, it works whether or not thinking is enabled. Lower effort also means fewer and terser tool calls.
Because effort applies to every output token, it works with or without thinking. Lower effort also means fewer and terser tool calls.
Claude Opus 4.7 also respects effort levels more strictly than Claude Opus 4.6, especially at `low` and `medium`. At lower effort levels, the model scopes its work to what was aske
+9 −9 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/context-windows
±changed
+2−2
apichanged
build-with-claude/context-windows

+262 −260 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/compaction-threshold
±changed
+17−17
apichanged
build-with-claude/compaction-threshold
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
model: "claude-opus-5-5",
model: Anthropic::Model::CLAUDE_OPUS_5_5,
model: "claude-opus-5-5",
+17 −17 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/compaction-thinking-blocks
±changed
+2−2
apichanged
build-with-claude/compaction-thinking-blocks
A later request can use a different `system`, different `tools`, or a different model than the compaction request, and the API still accepts the block. Such a change can invalidate
A later request can use a different `system`, different `tools`, or a different model from the compaction request, and the API still accepts the block. Such a change can invalidate
The `prefix_mismatch_behavior` field needs the `thinking-binding-controls-2026-08-01` beta header in addition to [the `compact-2026-09-04` beta header](https://platform.claude.com/
The `prefix_mismatch_behavior` field needs the `thinking-binding-controls-2026-08-01` beta header in addition to the [`compact-2026-09-04` beta header](https://platform.claude.com/
+2 −2 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/compaction-on-demand
±changed
+17−17
apichanged
build-with-claude/compaction-on-demand
With on-demand compaction, your application decides when a conversation is summarized: you send one request with the `compaction` parameter, and Claude returns a summary in place o
With on-demand compaction, your application determines when a conversation is summarized: you send one request with the `compaction` parameter, and Claude returns a summary in plac
From then on the block takes the place of the messages it summarizes. It goes first in `messages`, the summarized messages are removed, and your next turn follows it. Claude sees t
From then on the block takes the place of the messages it summarizes. It goes first in `messages`, the summarized messages are removed, and your next turn follows it. Claude receiv
. For wo
Anthropic uses AWS infrastructure to process your API requests, run model inference, and store your workspace content (such as prompts, outputs, files, Skills, and batches). For wo
* **Claude Platform on AWS** (this page): The Claude API platform billed through AWS Marketplace. Managed in the [Claude Console](https://platform.claude.com/docs/en/build-with-cla
* **Claude Platform on AWS (this page):** The Claude API platform billed through AWS Marketplace. Managed in the [Claude Console](https://platform.claude.com/docs/en/build-with-cla
Setting up Claude Platform on AWS happens in four phases: sign up on the AWS Console service page, complete your Anthropic organization setup, note your workspace ID, and sign in t
+52 −52 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/claude-on-vertex-ai
±changed
+7−7
apichanged
build-with-claude/claude-on-vertex-ai
Agent Platform limits request payloads to 30 MB. When sending large documents or many images, you might reach this limit before the token limit.
Agent Platform limits request payloads to 30 MB. When sending large documents or many images, you might reach this limit before the token limit.
Regional and multi-region endpoints include a 10% pricing premium over global endpoints.
Regional and multi-region endpoints include a 10 percent pricing premium over global endpoints.
* No pricing premium
+7 −7 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/claude-on-amazon-bedrock-legacy
±changed
+14−14
apichanged
build-with-claude/claude-on-amazon-bedrock-legacy
2. Configure your AWS credentials using the AWS configure command (see [Configure the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)) or find yo
2. Configure your AWS credentials using the AWS configure command (see [Configure the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)) or find yo
Anthropic's [client SDKs](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) support Bedrock. You can also use an AWS SDK like `boto3` directly.
Anthropic's [client SDKs](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) support Bedrock. You can also use an AWS SDK such as `boto3` directly.
<CodeGroup>
+14 −14 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/claude-in-microsoft-foundry
±changed
+7−7
apichanged
build-with-claude/claude-in-microsoft-foundry
Before you begin, ensure you have:
Before you start, ensure you have:
Anthropic's [client SDKs](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) support Foundry through a platform-specific package or client class. The examples on this
Anthropic's [client SDKs](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) support Foundry through a platform-specific package or client class. The examples on this
Foundry uses a two-level hierarchy: **resources** contain your security and billing configuration, while **deployments** are the model instances you call through the API. You'll fi
+7 −7 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/claude-in-amazon-bedrock
±changed
+6−6
apichanged
build-with-claude/claude-in-amazon-bedrock
Before you begin, ensure you have:
* An AWS account with [Amazon Bedrock model access](https://console.aws.amazon.com/bedrock/home#/modelaccess) enabled for the Claude models you intend to use.
* The [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installed and configured (optional, for credential management).
Before you start, ensure you have:
+6 −6 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/citations
±changed
+3−3
apichanged
build-with-claude/citations
* **Cost savings:** If your prompt-based approach asks Claude to output direct quotes, you may see cost savings because `cited_text` does not count toward your output tokens.
* **Cost savings:** If your prompt-based approach asks Claude to output direct quotes, you might see cost savings because `cited_text` does not count toward your output tokens.
* Responses may now include multiple text blocks where each text block can contain a claim that Claude is making and a list of citations that support the claim.
* Responses might now include multiple text blocks where each text block can contain a claim that Claude is making and a list of citations that support the claim.
PDF documents can be provided as base64-encoded data, a URL, or by `file_id`. PDF text is extracted and chunked into sentences. As image citations are not yet supported, PDFs that
+3 −3 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/cache-diagnostics
±changed
+7−7
apichanged
build-with-claude/cache-diagnostics
This workflow doesn't translate well to a one-off shell command. See the SDK tabs for the loop pattern; the per-turn HTTP request is identical to [Basic usage](https://platfo
This workflow doesn't translate well to a one-off shell command. Use the Claude SDK to run the loop; the per-turn HTTP request is identical to [Basic usage](https://platform.
This workflow doesn't translate well to a one-off shell command. See the SDK tabs for the loop pattern; the per-turn CLI invocation is identical to [Basic usage](https://plat
This workflow doesn't translate well to a one-off shell command. Use the Claude SDK to run the loop; the per-turn CLI command is identical to [Basic usage](https://platform.c
| `{"cache_miss_reason": null}` | The comparison was still running when the response was serialized. This can happen when the response starts very quickly. Treat it as inconclusiv
+7 −7 lines
Recorded here 21 Oct 2026 19:37 UTC
api
build-with-claude/batch-processing
±changed
+121−123
apichanged
build-with-claude/batch-processing
description: Process large volumes of Messages requests asynchronously with the Message Batches API, cutting costs by 50% and increasing throughput.
description: Process large volumes of Messages requests asynchronously with the Message Batches API, cutting costs by 50 percent and increasing throughput.
* Batch results are available for 29 days after creation. After that, you may still view the Batch, but its results will no longer be available for download.
* Batch results are available for 29 days after creation. After that, you can still view the Batch, but its results will no longer be available for download.
* Rate limits apply to both Batches API HTTP requests and the number of requests within a batch waiting to be processed. See [Message Batches API rate limits](https://platform.clau
+121 −123 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/supported-regions
±changed
+1−1
apichanged
api/supported-regions
description: "Here are the countries, regions, and territories we can currently support access from:"
description: "Here are the countries, regions, and territories Anthropic can support access from:"
+1 −1 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/service-tiers
±changed
+4−4
apichanged
api/service-tiers
* Cache writes as 1.25 tokens per token written to the cache with a 5 minute TTL
* Cache writes as 2.00 tokens per token written to the cache with a 1 hour TTL
* Cache writes as 1.25 tokens per token written to the cache with a 5-minute TTL
* Cache writes as 2.00 tokens per token written to the cache with a 1-hour TTL
* `"standard_only"` - Only use standard tier capacity, useful if you don't want to use your Priority Tier capacity
+4 −4 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/rate-limits
±changed
+16−16
apichanged
api/rate-limits
The API enforces service-configured limits at the organization level, but you may also set user-configurable limits for your organization's workspaces.
The API enforces service-configured limits at the organization level, but you can also set user-configurable limits for your organization's workspaces.
When usage reaches a spend limit you set, requests return HTTP 400 with error type `invalid_request_error`. The message begins `You have reached your specified API usage limits`, o
When usage reaches a spend limit you set, requests return HTTP 400 with error type `invalid_request_error`. The message starts with `You have reached your specified API usage limit
The rate limits for the Messages API are measured in requests per minute (RPM), input tokens per minute (ITPM), and output tokens per minute (OTPM) for each model class. If you exc
+16 −16 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/overview
±changed
+29−29
apichanged
api/overview
* **[Messages API](https://platform.claude.com/docs/en/api/messages/create)**: Send messages to Claude for conversational interactions (`POST /v1/messages`)
* **[Message Batches API](https://platform.claude.com/docs/en/api/messages/batches/create)**: Process large volumes of Messages requests asynchronously with 50% cost reduction (`PO
* **[Token Counting API](https://platform.claude.com/docs/en/api/messages/count_tokens)**: Count tokens in a message before sending to manage costs and rate limits (`POST /v1/messa
* **[Models API](https://platform.claude.com/docs/en/api/models/list)**: List available Claude models and their details (`GET /v1/models`)
* **[Files API](https://platform.claude.com/docs/en/api/files/upload)**: Upload and manage files for use across multiple API calls (`POST /v1/files`, `GET /v1/files`)
+29 −29 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/opentelemetry/spans
±changed
+14−14
apichanged
api/opentelemetry/spans
Attributes tagged with <Badge>Content</Badge> are only on spans in content mode, from the SDK and the API alike. See [how the content modes differ in the guide](https://platform.cl
Attributes tagged with <Badge>Content</Badge> are only on spans in content mode, from the SDK and the API alike. See [how the content modes differ in the guide](https://platform.cl
* The [`anthropic.sessions.update`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-sessions-update) span, for a turn that resumes because the session budge
* The [`anthropic.sessions.update`](https://platform.claude.com/docs/en/api/opentelemetry/spans#anthropic-sessions-update) span, for a turn that resumes because the request raise
| Attribute | Type | Description
+14 −14 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/ip-addresses
±changed
+2−2
apichanged
api/ip-addresses
description: Anthropic services use fixed IP addresses for both inbound and outbound connections. You can use these addresses to configure your firewall rules for secure access to
description: Anthropic services use fixed IP addresses for both inbound and outbound connections. You can use these addresses to configure your firewall rules for secure access to
The following IP addresses are no longer in use by Anthropic. If you have previously allowlisted these addresses, you should remove them from your firewall rules.
The following IP addresses are no longer in use by Anthropic. If you have previously allowlisted these addresses, remove them from your firewall rules.
+2 −2 lines
Recorded here 21 Oct 2026 19:37 UTC
api
api/errors
±changed
+15−15
apichanged
api/errors
529 errors can occur when the API experiences high traffic across all users.
In rare cases, if your organization has a sharp increase in usage, you might see 429 errors because of acceleration limits on the API. To avoid hitting acceleration limits, ram
A 529 error can occur when the API experiences high traffic across all users.
+15 −15 lines
Recorded here 21 Oct 2026 19:37 UTC
Nothing on this page matches that. Press Enter to search every page of the ledger.