From 5c5c6c69d124ecb288c7ed2bed65cad3c1f9d07d Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 03:57:06 +0000 Subject: [PATCH] docs: Claude Code v2.1.220 - mid-conversation tool changes beta, fallback API overhaul, plan mode + auto mode integration Co-Authored-By: claude-yolo[bot] --- content/.metadata.json | 622 +++++++++--------- content/CHANGELOG.md | 8 +- content/claude-code-manifest.json | 38 +- .../about-claude/models/choosing-a-model.md | 6 +- ...cing-claude-fable-5-and-claude-mythos-5.md | 2 +- .../en/about-claude/models/migration-guide.md | 23 +- .../about-claude/models/whats-new-opus-5.md | 58 +- content/en/about-claude/pricing.md | 12 +- .../agent-skills/claude-api-skill.md | 4 +- content/en/agents-and-tools/mcp-connector.md | 4 +- .../mcp-tunnels/deploy-compose.md | 6 +- .../mcp-tunnels/deploy-helm.md | 16 +- .../mcp-tunnels/quickstart.md | 4 +- content/en/api/rate-limits.md | 4 +- .../claude-in-amazon-bedrock.md | 4 +- .../claude-in-microsoft-foundry.md | 4 +- .../claude-on-amazon-bedrock-legacy.md | 4 +- .../build-with-claude/claude-on-vertex-ai.md | 8 +- .../claude-platform-on-aws.md | 4 +- content/en/build-with-claude/effort.md | 8 +- .../en/build-with-claude/fallback-credit.md | 32 +- content/en/build-with-claude/fast-mode.md | 25 +- .../mid-conversation-system-messages.md | 444 ++++++++++++- content/en/build-with-claude/overview.md | 28 +- .../en/build-with-claude/prompt-caching.md | 4 +- .../prompting-claude-opus-5.md | 14 +- .../refusals-and-fallback.md | 210 ++++-- content/en/build-with-claude/task-budgets.md | 21 + .../en/cli-sdks-libraries/cli/quickstart.md | 2 +- content/en/cli-sdks-libraries/sdks/java.md | 4 +- .../docs/claude-code/agent-sdk/agent-loop.md | 2 + content/en/docs/claude-code/agent-view.md | 8 +- .../en/docs/claude-code/auto-mode-config.md | 14 +- content/en/docs/claude-code/changelog.md | 33 +- .../claude-code/claude-code-on-the-web.md | 2 - content/en/docs/claude-code/code-review.md | 2 +- content/en/docs/claude-code/costs.md | 2 +- .../claude-code/desktop-scheduled-tasks.md | 2 +- content/en/docs/claude-code/fast-mode.md | 15 +- content/en/docs/claude-code/hooks.md | 18 +- content/en/docs/claude-code/mcp.md | 23 +- .../en/docs/claude-code/permission-modes.md | 43 +- content/en/docs/claude-code/permissions.md | 6 +- .../en/docs/claude-code/plugins-reference.md | 20 +- content/en/docs/claude-code/sandboxing.md | 4 +- content/en/docs/claude-code/skills.md | 2 +- content/en/docs/claude-code/workflows.md | 13 + content/en/get-started.md | 4 +- content/en/managed-agents/agent-setup.md | 2 +- content/en/managed-agents/quickstart.md | 4 +- .../managed-agents/self-hosted-sandboxes.md | 4 +- content/en/release-notes/overview.md | 5 +- .../.claude-plugin/marketplace.json | 44 +- .../github/skills/skills/claude-api/SKILL.md | 55 +- .../claude-api/csharp/claude-api/README.md | 25 +- .../claude-api/csharp/claude-api/batches.md | 2 +- .../skills/skills/claude-api/curl/examples.md | 21 +- .../skills/claude-api/curl/managed-agents.md | 8 +- .../skills/claude-api/go/claude-api/README.md | 13 +- .../claude-api/go/managed-agents/README.md | 4 +- .../claude-api/java/claude-api/README.md | 10 +- .../claude-api/java/claude-api/tool-use.md | 4 +- .../claude-api/java/managed-agents/README.md | 4 +- .../claude-api/php/claude-api/README.md | 13 +- .../claude-api/php/claude-api/batches.md | 2 +- .../claude-api/php/claude-api/streaming.md | 2 +- .../claude-api/php/claude-api/tool-use.md | 16 +- .../claude-api/php/managed-agents/README.md | 4 +- .../claude-api/python/claude-api/README.md | 43 +- .../claude-api/python/claude-api/batches.md | 6 +- .../claude-api/python/claude-api/files-api.md | 6 +- .../claude-api/python/claude-api/streaming.md | 18 +- .../claude-api/python/claude-api/tool-use.md | 40 +- .../python/managed-agents/README.md | 6 +- .../claude-api/ruby/claude-api/README.md | 11 +- .../claude-api/ruby/claude-api/streaming.md | 2 +- .../claude-api/ruby/claude-api/tool-use.md | 2 +- .../claude-api/ruby/managed-agents/README.md | 4 +- .../skills/claude-api/shared/anthropic-cli.md | 10 +- .../shared/claude-platform-on-aws.md | 6 +- .../skills/claude-api/shared/error-codes.md | 13 +- .../skills/claude-api/shared/live-sources.md | 2 +- .../shared/managed-agents-api-reference.md | 8 +- .../claude-api/shared/managed-agents-core.md | 8 +- .../shared/managed-agents-environments.md | 4 +- .../shared/managed-agents-events.md | 4 +- .../shared/managed-agents-memory.md | 2 +- .../shared/managed-agents-multiagent.md | 2 +- .../shared/managed-agents-onboarding.md | 2 +- .../shared/managed-agents-overview.md | 2 +- .../claude-api/shared/managed-agents-tools.md | 4 +- .../claude-api/shared/model-migration.md | 289 +++++++- .../skills/skills/claude-api/shared/models.md | 13 +- .../shared/platform-availability.md | 3 +- .../claude-api/shared/prompt-caching.md | 26 +- .../claude-api/shared/token-counting.md | 6 +- .../claude-api/shared/tool-use-concepts.md | 66 +- .../typescript/claude-api/README.md | 37 +- .../typescript/claude-api/batches.md | 4 +- .../typescript/claude-api/files-api.md | 2 +- .../typescript/claude-api/streaming.md | 12 +- .../typescript/claude-api/tool-use.md | 34 +- .../typescript/managed-agents/README.md | 6 +- ...how-do-i-log-out-of-all-active-sessions.md | 2 +- ...-can-i-delete-my-claude-console-account.md | 4 +- ...k-settings-on-team-and-enterprise-plans.md | 2 +- ...ser-feedback-settings-on-claude-console.md | 2 +- .../10593882-share-and-unshare-chats.md | 6 +- ...7-sharing-prompts-in-the-claude-console.md | 12 +- ...ith-local-mcp-servers-on-claude-desktop.md | 2 +- ...506255-get-started-with-claude-in-slack.md | 16 +- ...the-claude-lti-in-canvas-by-instructure.md | 2 +- ...and-memory-to-build-on-previous-context.md | 10 +- ...being-asked-to-verify-my-payment-method.md | 2 +- ...or-team-and-seat-based-enterprise-plans.md | 10 +- ...12173-get-started-with-claude-in-chrome.md | 2 +- ...eam-plan-from-monthly-to-annual-billing.md | 4 +- ...11783-create-and-edit-files-with-claude.md | 6 +- .../12157520-claude-code-usage-analytics.md | 2 +- .../support/12260368-use-incognito-chats.md | 2 +- .../support/12293051-use-claude-in-xcode.md | 2 +- ...age-usage-credits-for-paid-claude-plans.md | 2 +- .../support/12461605-use-claude-in-slack.md | 2 +- ...6728-troubleshoot-claude-error-messages.md | 2 +- .../support/12512180-use-skills-in-claude.md | 2 +- ...d-using-the-desktop-extension-allowlist.md | 8 +- .../12618689-claude-code-on-the-web.md | 6 +- ...-quick-entry-with-claude-desktop-on-mac.md | 2 +- .../support/12650343-use-claude-for-excel.md | 2 +- ...ting-started-with-claude-for-nonprofits.md | 2 +- ...2446-claude-in-chrome-permissions-guide.md | 4 +- ...using-the-blackbaud-connector-in-claude.md | 2 +- ...-using-the-benevity-connector-in-claude.md | 2 +- ...35-using-the-candid-connector-in-claude.md | 2 +- ...ts-partnership-success-guide-for-admins.md | 2 +- ...profits-partnership-guide-for-all-users.md | 2 +- .../12997503-team-plan-billing-faqs.md | 2 +- .../13132885-set-up-single-sign-on-sso.md | 8 +- ...3133195-set-up-jit-or-scim-provisioning.md | 6 +- ...1-configuring-session-security-settings.md | 6 +- .../13189465-log-in-to-your-claude-account.md | 2 +- .../13325567-account-management-faqs.md | 2 +- ...13345190-get-started-with-claude-cowork.md | 2 +- ...mizing-your-console-appearance-settings.md | 2 +- ...1040-logging-in-to-your-console-account.md | 2 +- ...13641943-visual-and-interactive-content.md | 6 +- .../support/13756069-public-sector-faqs.md | 2 +- ...33-manage-plugins-for-your-organization.md | 2 +- .../support/13837440-use-plugins-in-claude.md | 4 +- ...hedule-recurring-tasks-in-claude-cowork.md | 2 +- ...13892150-work-across-microsoft-365-apps.md | 4 +- ...e-based-permissions-on-enterprise-plans.md | 32 +- ...gn-tasks-from-anywhere-in-claude-cowork.md | 4 +- ...ur-tasks-with-projects-in-claude-cowork.md | 12 +- ...-let-claude-use-your-computer-in-cowork.md | 4 +- ...sync-works-for-enterprise-organizations.md | 4 +- content/support/14503613-sso-login.md | 6 +- ...43-set-up-scim-in-claude-for-government.md | 6 +- content/support/14503775-mcp-web-search.md | 2 +- ...-up-your-design-system-in-claude-design.md | 2 +- ...14604416-get-started-with-claude-design.md | 2 +- ...t-a-default-model-for-your-organization.md | 2 +- ...nage-model-access-for-your-organization.md | 8 +- ...1-get-started-with-1password-for-claude.md | 2 +- .../8114491-get-started-with-claude.md | 2 +- ...w-can-i-delete-or-rename-a-conversation.md | 2 +- .../8287232-verify-your-phone-number.md | 2 +- .../support/8325618-paid-plan-billing-faqs.md | 2 +- .../8606378-how-do-i-use-the-workbench.md | 8 +- ...27-customizing-your-appearance-settings.md | 6 +- ...8421-how-can-i-delete-my-claude-account.md | 4 +- ...9-manage-project-visibility-and-sharing.md | 10 +- ...d-usage-reporting-in-the-claude-console.md | 8 +- .../9547008-publish-and-share-artifacts.md | 8 +- ...e-public-projects-for-your-organization.md | 2 +- 175 files changed, 2021 insertions(+), 1082 deletions(-) diff --git a/content/.metadata.json b/content/.metadata.json index 54d58f639..cc86a3016 100644 --- a/content/.metadata.json +++ b/content/.metadata.json @@ -1,7 +1,7 @@ { "metadata": { "version": "2.0", - "fetch_date": "2026-07-24T17:19:11.974587Z", + "fetch_date": "2026-07-25T03:55:58.434080Z", "section": "all" }, "items": [ @@ -23,15 +23,15 @@ "url": "https://platform.claude.com/docs/en/get-started", "status": "success", "path": "en/get-started.md", - "sha256": "4f6115933b588ba689b03cb1b22d234f0e114f04d8f8afc8302868cdc0df2d91", + "sha256": "bd42004cf11012a067a51a0299f2f21a4a488e520ede4391f7a2195d035cbf17", "size": 19003 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/overview", "status": "success", "path": "en/build-with-claude/overview.md", - "sha256": "e1afd289e8d577debcc08e15b3d2f3e5e0f2c036d7cc666dbf2be4b0afbdf766", - "size": 26477 + "sha256": "f3d1325829a5759caf3f5d717f329718e45931d90680074c9268f4ff06d2cf3c", + "size": 26953 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/working-with-messages", @@ -51,36 +51,36 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/refusals-and-fallback", "status": "success", "path": "en/build-with-claude/refusals-and-fallback.md", - "sha256": "e9159c703ea39010e724b1aed2f892f8794b85c63eca3ed4d0312d5413f300bc", - "size": 51936 + "sha256": "903113a2fdc9be5ab7be0bf846f16795c987011a045bb746733fd7d36ab13d31", + "size": 54665 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/fallback-credit", "status": "success", "path": "en/build-with-claude/fallback-credit.md", - "sha256": "7d60283e233f54ec2ace8f18e3819235b966ad4564c45b1dd79a4f634fe6bb8b", - "size": 32028 + "sha256": "e48eba76434ca4fe54d188875aae95dc5eb45e2aa403b42af3def1eae31fbb8e", + "size": 32203 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/effort", "status": "success", "path": "en/build-with-claude/effort.md", - "sha256": "77164ee52182d3d4d1d238e84e4dd54f5839d853ae1cd0d847afbc1c87a51c07", - "size": 22399 + "sha256": "64372a183e97c1a03cb2891c671640cacc2a3642e9862d166a94cc39fb5ae37a", + "size": 21744 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/task-budgets", "status": "success", "path": "en/build-with-claude/task-budgets.md", - "sha256": "b5ca6340375bb4d0691389df2b0198891b746b145df07a2aa54cc075bbf2b37d", - "size": 24216 + "sha256": "887cd33465fde4cf8c7ae2767ee0e3be1bb66fdd4c94c5c1a249cd3682398a8e", + "size": 24844 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/fast-mode", "status": "success", "path": "en/build-with-claude/fast-mode.md", - "sha256": "84972eef34cdb14235b5dc63c743783c3094adf098bbcbf8a7c059c212b48429", - "size": 27017 + "sha256": "511a11c699a3028af353caa40aee9b1de0918524ea9ca36495fda485510e1312", + "size": 26726 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/structured-outputs", @@ -373,15 +373,15 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-caching", "status": "success", "path": "en/build-with-claude/prompt-caching.md", - "sha256": "26a4e75a404fb174d51b12c85cbefba6526f3d95a5fe370a750d39d49eebe758", - "size": 152323 + "sha256": "cb9243fa100109ed1632901432484379bdfc95e013f192058ae1d19f0b0198fe", + "size": 152223 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages", "status": "success", "path": "en/build-with-claude/mid-conversation-system-messages.md", - "sha256": "cbdb751edfafed599be2a7955239a6028fee94e130b5b147a145528ca0d56d9a", - "size": 25471 + "sha256": "85d9f6bd1ae53376076577ce4d54f78c008a919b4847335ad950b1205adcc293", + "size": 40076 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/mid-conversation-effort-example", @@ -478,7 +478,7 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/mcp-connector", "status": "success", "path": "en/agents-and-tools/mcp-connector.md", - "sha256": "86d7f1a5f3b4a1875fe143043b39964ec5f590d8afc0f301b67f499ad38f779e", + "sha256": "88953ff4a2c926454fba86a43bb5c9cc89881c0dc292eb9665840ab3d8d52e3e", "size": 48125 }, { @@ -499,7 +499,7 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/quickstart", "status": "success", "path": "en/agents-and-tools/mcp-tunnels/quickstart.md", - "sha256": "db3abcfea81c3e91ee357213dbda236577f35f88283983f3fe6c6c21177e4a55", + "sha256": "57e5159c2f04d597b4164ec0f185f6a12bfe539ec0831567dc17a0b29dbc4d0e", "size": 11082 }, { @@ -513,14 +513,14 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/deploy-helm", "status": "success", "path": "en/agents-and-tools/mcp-tunnels/deploy-helm.md", - "sha256": "4ef634bad108414efb55fe35d0002031301241cce2fd6e1744b3da67fc118d41", + "sha256": "501d1b8cdf5953ba4250fa2133e3a2eb1beb090a64b90fd1c04fead2ca37c637", "size": 22930 }, { "url": "https://platform.claude.com/docs/en/agents-and-tools/mcp-tunnels/deploy-compose", "status": "success", "path": "en/agents-and-tools/mcp-tunnels/deploy-compose.md", - "sha256": "2ac9ba22cc68295c4e0bdc4e9cd605cc25da6d5491d4b24879df3e6d0946fe59", + "sha256": "fcded00e638d3e58e20fd92ec622e4e868fed06fcb8ea92a3cc73fef21b182fc", "size": 21564 }, { @@ -548,35 +548,35 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/claude-in-amazon-bedrock", "status": "success", "path": "en/build-with-claude/claude-in-amazon-bedrock.md", - "sha256": "cce54d104869512485d60db799ad1b30f6b9fee90db7df48359a05fba21db061", + "sha256": "b92c583d95ac987fd21d3211680d9d6350658cdad1896fcb61c47a9ce7b6cb17", "size": 18698 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-on-amazon-bedrock-legacy", "status": "success", "path": "en/build-with-claude/claude-on-amazon-bedrock-legacy.md", - "sha256": "917d7b8995b66cccc4038c16a5c873130e846e033a6a70031e0e6d85e86cafad", + "sha256": "e4194abaddfcb066dcae20649b1f5f8d6640756fa5e9d7450698014cd0c23c06", "size": 37546 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws", "status": "success", "path": "en/build-with-claude/claude-platform-on-aws.md", - "sha256": "da3912eb610a93fe0fbc3b6f7e1154ead649bb87f910b8e3b1dcc7b664112495", + "sha256": "ef1ffc3f053e56167f73142032ce595c57f514b3df3bf2360adadd1d7e73ac87", "size": 73154 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai", "status": "success", "path": "en/build-with-claude/claude-on-vertex-ai.md", - "sha256": "001f77738ed1cb14e9d6e8e676864502d32ebe9657b84a1fbb53354d27d14925", + "sha256": "3e078342e9a5239a6e2bb184c251f7231969ac94ad4f46890bb0485327d29878", "size": 31680 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry", "status": "success", "path": "en/build-with-claude/claude-in-microsoft-foundry.md", - "sha256": "d7893537b1160e3a2b7f928cc505e24f98a5008a2b230949490b0bfe06da2504", + "sha256": "52e7167e1093b40c2f9c305f1379793351f3cac6811722be91f7140f929eee11", "size": 35459 }, { @@ -590,7 +590,7 @@ "url": "https://platform.claude.com/docs/en/managed-agents/quickstart", "status": "success", "path": "en/managed-agents/quickstart.md", - "sha256": "01311e17758e797976837595b5f6ea601f03728b616a8800cfe9f0b7f93649d3", + "sha256": "af0c71bee71f324c7e771181e9add024eef8e9c225c15422aa0790e986d7f165", "size": 28716 }, { @@ -611,8 +611,8 @@ "url": "https://platform.claude.com/docs/en/managed-agents/agent-setup", "status": "success", "path": "en/managed-agents/agent-setup.md", - "sha256": "1ce4fe161fcbc56f65b9349e86c4e87433f2f568381ca8726e8a2bf127b3d555", - "size": 22386 + "sha256": "49d9185950e648c648eb5b3d1ee322de5fca0937da5d55b9645b5eeede529863", + "size": 22310 }, { "url": "https://platform.claude.com/docs/en/managed-agents/tools", @@ -660,7 +660,7 @@ "url": "https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes", "status": "success", "path": "en/managed-agents/self-hosted-sandboxes.md", - "sha256": "6978ae33002435eda92bfdad0bd753d011a0f7e15aa7d1c592e841aea0110e7a", + "sha256": "32c9b79785044dfab5f0fb86e0b20ce698b006ba181c2b6ec6681248fd700887", "size": 76132 }, { @@ -1066,8 +1066,8 @@ "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5", "status": "success", "path": "en/build-with-claude/prompt-engineering/prompting-claude-opus-5.md", - "sha256": "3234dd6713ba3f3fe24585ddaeeb36aa40729edae0e5768efffa4e784c7a2c28", - "size": 10975 + "sha256": "ddf68607d4e2247460b280b3ab51164fd3fe231db9fb0ed08c9e9b6566ed88b0", + "size": 11225 }, { "url": "https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-4-8", @@ -1150,15 +1150,15 @@ "url": "https://platform.claude.com/docs/en/about-claude/models/choosing-a-model", "status": "success", "path": "en/about-claude/models/choosing-a-model.md", - "sha256": "ac70d9dbbde0d5cf3fda1ede45a4cdbf68850c0d351f1412e2b1c8317549b270", - "size": 7454 + "sha256": "43d753ff1d13545bc55a50d53ef804638e5e96363c9b856138380f94cfc6d5be", + "size": 7568 }, { "url": "https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5", "status": "success", "path": "en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5.md", - "sha256": "4fc543d1d99739aaae98d6452d62cf90ab4182485dc42173eff96bcf7ec0a188", - "size": 8998 + "sha256": "3fbe312d4f6076b461bb88805e333821d3a8af8f0cfc4c7e1ff56556f7b5c228", + "size": 9080 }, { "url": "https://platform.claude.com/docs/en/about-claude/models/whats-new-sonnet-5", @@ -1171,15 +1171,15 @@ "url": "https://platform.claude.com/docs/en/about-claude/models/whats-new-opus-5", "status": "success", "path": "en/about-claude/models/whats-new-opus-5.md", - "sha256": "3aa6d7ba6cadc29df84dabbc3bb43ecdda41f573bd8df364f4c09ee12a7181da", - "size": 15903 + "sha256": "679b331b022ee513215559d62441945a431286afb6ee8e74db5f2cc4a9a6e12a", + "size": 16380 }, { "url": "https://platform.claude.com/docs/en/about-claude/models/migration-guide", "status": "success", "path": "en/about-claude/models/migration-guide.md", - "sha256": "6474cfa1d46c7793af4d1794837768dd2f04769148edee13f9518ba81ceef5e0", - "size": 148318 + "sha256": "823cde5b7b6ffc0bdc34b905a27ecc4d8ed888cdabce6bfd0a3c2747d9811d68", + "size": 148616 }, { "url": "https://platform.claude.com/docs/en/about-claude/model-deprecations", @@ -1206,8 +1206,8 @@ "url": "https://platform.claude.com/docs/en/about-claude/pricing", "status": "success", "path": "en/about-claude/pricing.md", - "sha256": "faf4b2c64f30585db25a031409bea726fbbdff60553aef40a350d2e03840a9f1", - "size": 37363 + "sha256": "0769b253017dc3552f02cd2181eb69599370c68bc32c2e7d3742f3a47f768088", + "size": 37219 }, { "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/overview", @@ -1220,7 +1220,7 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart", "status": "success", "path": "en/cli-sdks-libraries/cli/quickstart.md", - "sha256": "6913dd0d206cea810b2bd85370c14762a04f6e84b745bb420548a818e2765268", + "sha256": "a1e1a5907778b9c69ea40026093abcb4a1b851a18c50a5047713415ef0f6b04c", "size": 4782 }, { @@ -1283,7 +1283,7 @@ "url": "https://platform.claude.com/docs/en/cli-sdks-libraries/sdks/java", "status": "success", "path": "en/cli-sdks-libraries/sdks/java.md", - "sha256": "557cfe32a8c0ba91e5dc8e32d68c7a6ac6683f69163daf221baaaa0ad010ec3f", + "sha256": "90cb2d8e11d2254cdb872a8cdeb631925f3ed8f70cb52e142161fecc4113fb31", "size": 46789 }, { @@ -1346,8 +1346,8 @@ "url": "https://platform.claude.com/docs/en/api/rate-limits", "status": "success", "path": "en/api/rate-limits.md", - "sha256": "c60a0703c094e898176a1dec7679ad6c6c93ac1f840236680743560665d22d7a", - "size": 26970 + "sha256": "dbb622a74d48f482dabbadccdf13209ebc8d6b7faf7719e9317bc1e2a7a33915", + "size": 27014 }, { "url": "https://platform.claude.com/docs/en/api/service-tiers", @@ -1388,15 +1388,15 @@ "url": "https://platform.claude.com/docs/en/agents-and-tools/agent-skills/claude-api-skill", "status": "success", "path": "en/agents-and-tools/agent-skills/claude-api-skill.md", - "sha256": "f70eac2f7d72750da10c263e7f060aba73f1e0fbd41e1c67043445d19082f038", - "size": 11703 + "sha256": "2fbd22cf4b3827bdb083b289ae7494b618718aa88cb7d795276c46d11f50224c", + "size": 11780 }, { "url": "https://platform.claude.com/docs/en/release-notes/overview", "status": "success", "path": "en/release-notes/overview.md", - "sha256": "bdca97b62b6e3bcab42350637d5b1f7b0c49d5275a9ed8b043ea6bbc4864ba04", - "size": 73548 + "sha256": "ddcb84047e40d4dd4fcb33f38356bae147cd466a89a89fd2c4ba440e45f9bd6d", + "size": 74151 }, { "url": "https://platform.claude.com/docs/en/api/completions", @@ -3873,8 +3873,8 @@ "url": "https://code.claude.com/docs/en/agent-sdk/agent-loop", "status": "success", "path": "en/docs/claude-code/agent-sdk/agent-loop.md", - "sha256": "bcbddde0d3d1376359df97d619509175d2ddfeb1518e479364c60148e1e23cb1", - "size": 43611 + "sha256": "716cd8c2c01a9bb32e4b697f722028f3a3f13ec10b970ebdf78f1eb75adfca60", + "size": 43962 }, { "url": "https://code.claude.com/docs/en/agent-sdk/claude-code-features", @@ -4090,8 +4090,8 @@ "url": "https://code.claude.com/docs/en/agent-view", "status": "success", "path": "en/docs/claude-code/agent-view.md", - "sha256": "48a470fac5802fb3d536d3b5a79932713a1a2aea4f8e3a9b4824dc68ae284f81", - "size": 152398 + "sha256": "47ec852b7d047f5815a583643cb223ba597fc9a926682e13db6133b48176a253", + "size": 152878 }, { "url": "https://code.claude.com/docs/en/agents", @@ -4132,8 +4132,8 @@ "url": "https://code.claude.com/docs/en/auto-mode-config", "status": "success", "path": "en/docs/claude-code/auto-mode-config.md", - "sha256": "c1f5b0bae8e485922979d4953b4170213df022da6409a098a97884e6d9a2aed7", - "size": 26838 + "sha256": "6803653df6a7f24538430c747200083c25c54250774be0dad59fea066f7b38e4", + "size": 27683 }, { "url": "https://code.claude.com/docs/en/best-practices", @@ -4153,8 +4153,8 @@ "url": "https://code.claude.com/docs/en/changelog", "status": "success", "path": "en/docs/claude-code/changelog.md", - "sha256": "113c28b0d979e8708e3d575382213c9e42c42d065fafd268a76f3b2fee051e05", - "size": 502692 + "sha256": "31d84f0e990ed6875ccf6ba1947e7d7382d8ecff717a28ff8ac9af75127fc94e", + "size": 505655 }, { "url": "https://code.claude.com/docs/en/channels", @@ -4223,8 +4223,8 @@ "url": "https://code.claude.com/docs/en/claude-code-on-the-web", "status": "success", "path": "en/docs/claude-code/claude-code-on-the-web.md", - "sha256": "9093a99636769c2e866e2a81611b784406e89f8abd5adcbf05617dabbef7c3fb", - "size": 65968 + "sha256": "660ab810633df5a24bed05ef5ac205fb614030bfea26c891cb2c758b3848f3cf", + "size": 65867 }, { "url": "https://code.claude.com/docs/en/claude-directory", @@ -4258,8 +4258,8 @@ "url": "https://code.claude.com/docs/en/code-review", "status": "success", "path": "en/docs/claude-code/code-review.md", - "sha256": "0441a0c97efbc7ae01e9284cf5dade7f4eff085abb9de891f423f9f25abaa1a7", - "size": 28590 + "sha256": "f2d1e4c8d3ab8eee478cfbc59fa07524318935558e1e47bead44dd6aed2572b0", + "size": 28599 }, { "url": "https://code.claude.com/docs/en/commands", @@ -4307,8 +4307,8 @@ "url": "https://code.claude.com/docs/en/costs", "status": "success", "path": "en/docs/claude-code/costs.md", - "sha256": "2ef2eac1014fff896f61abe8745a3e28643da8bad909fd800991bc33b8e19706", - "size": 29584 + "sha256": "b1292713c4fafd342158d1a58cac028785ba4594bc82c20c2a62f329f59305d8", + "size": 29678 }, { "url": "https://code.claude.com/docs/en/data-usage", @@ -4363,8 +4363,8 @@ "url": "https://code.claude.com/docs/en/desktop-scheduled-tasks", "status": "success", "path": "en/docs/claude-code/desktop-scheduled-tasks.md", - "sha256": "e7dfc9343bd66f2fff2bc770c7b6571875f3f132db7df6b7403c5c7cacd2ed04", - "size": 11567 + "sha256": "082e005d0ce6445b6d59bf5f78a72f37621fdc9a2822b446a20c84a60eaae8ff", + "size": 11615 }, { "url": "https://code.claude.com/docs/en/desktop-wsl", @@ -4405,8 +4405,8 @@ "url": "https://code.claude.com/docs/en/fast-mode", "status": "success", "path": "en/docs/claude-code/fast-mode.md", - "sha256": "0a955b01330e94d961de727fe68679775c2f3c36107a909ea4b1f9482a597dc6", - "size": 14724 + "sha256": "32b81e9abee5d60854d9b64272552a5e6047ced2f4442bf5449f30ec75c4251e", + "size": 14840 }, { "url": "https://code.claude.com/docs/en/feature-availability", @@ -4489,8 +4489,8 @@ "url": "https://code.claude.com/docs/en/hooks", "status": "success", "path": "en/docs/claude-code/hooks.md", - "sha256": "21ee7174a0d2e211871009ba9eff4965804cefe635fd977e26f7c67cf0646d61", - "size": 237576 + "sha256": "038cad460d95b777f4a08dae02dbff2606aba557ed47faeb2a0d85aea3f53019", + "size": 238174 }, { "url": "https://code.claude.com/docs/en/hooks-guide", @@ -4580,8 +4580,8 @@ "url": "https://code.claude.com/docs/en/mcp", "status": "success", "path": "en/docs/claude-code/mcp.md", - "sha256": "bb18bce4798ad24ad1b4c57a44e94979943b8911ff1997ff4a08082a7914fe4d", - "size": 74598 + "sha256": "8dc1f1ba7f4724cf90231f4d4ff54e2c09591b1eb4f427f534339581adc330c2", + "size": 76305 }, { "url": "https://code.claude.com/docs/en/mcp-quickstart", @@ -4650,15 +4650,15 @@ "url": "https://code.claude.com/docs/en/permission-modes", "status": "success", "path": "en/docs/claude-code/permission-modes.md", - "sha256": "1084ecb1bd234a8745ddc2190f0c0393808df7ca35fd44f1e4a6ecb25fa947de", - "size": 47223 + "sha256": "ccb0ba68fa85e1774f5074821772921956ed10249ff4602088983184f4c932e8", + "size": 50066 }, { "url": "https://code.claude.com/docs/en/permissions", "status": "success", "path": "en/docs/claude-code/permissions.md", - "sha256": "c3e127baa51d5cd978d70175e7b72454514b82072c4a9f30fa74d662519084f9", - "size": 60283 + "sha256": "feb61445cd4ab2418f9ccb12ab198506705a93e5cddb1a7e2c9b1072a33e4b0e", + "size": 60745 }, { "url": "https://code.claude.com/docs/en/platforms", @@ -4706,8 +4706,8 @@ "url": "https://code.claude.com/docs/en/plugins-reference", "status": "success", "path": "en/docs/claude-code/plugins-reference.md", - "sha256": "dcd1c4e8145041dfafc02c77798692ddfc6316db467ab7482a61c51f1cbc3c73", - "size": 88322 + "sha256": "df544abbc48214a4ad46d6d2fa4e7a9a02a30cbcf941a13416483a588dfbc46b", + "size": 89666 }, { "url": "https://code.claude.com/docs/en/prompt-caching", @@ -4755,8 +4755,8 @@ "url": "https://code.claude.com/docs/en/sandboxing", "status": "success", "path": "en/docs/claude-code/sandboxing.md", - "sha256": "4a3944a633848184a0b52dec44ea96c615b07806d605e79f3f7cd648fce7de94", - "size": 47847 + "sha256": "f53686eb82c0002693357b06074a102c0c463253d7e8cec024c32deff7b196a6", + "size": 48278 }, { "url": "https://code.claude.com/docs/en/scheduled-tasks", @@ -4811,8 +4811,8 @@ "url": "https://code.claude.com/docs/en/skills", "status": "success", "path": "en/docs/claude-code/skills.md", - "sha256": "cf4c683326de6c6748bcfdc15e78a6e821cf3eec46b7af9f28762cb59f7adb6a", - "size": 72900 + "sha256": "868916e08681720a85c5643f1444dbb85b987772854e17d094775767939a30ad", + "size": 72905 }, { "url": "https://code.claude.com/docs/en/slack", @@ -5035,8 +5035,8 @@ "url": "https://code.claude.com/docs/en/workflows", "status": "success", "path": "en/docs/claude-code/workflows.md", - "sha256": "58e681403417d1532c9405b6c001f165b9b0b3fe600489c5f29db6aa1b6d906f", - "size": 28356 + "sha256": "30b0483b5d4bba92abf665e55768fd7ef2a91c025d0f168a788ec726e08a2119", + "size": 29411 }, { "url": "https://code.claude.com/docs/en/worktrees", @@ -6645,7 +6645,7 @@ "url": "https://support.claude.com/en/articles/8114491-get-started-with-claude", "status": "success", "path": "support/8114491-get-started-with-claude.md", - "sha256": "b200dd431495c916197f5c3f2be8c4bfc85ff50a86d70dcff669a38d821e2009", + "sha256": "13aa80cd68b67c560e2e05fc78d88b751fec6c76c95890e2212d5c5c857fb213", "size": 5302 }, { @@ -6729,7 +6729,7 @@ "url": "https://support.claude.com/en/articles/8230524-how-can-i-delete-or-rename-a-conversation", "status": "success", "path": "support/8230524-how-can-i-delete-or-rename-a-conversation.md", - "sha256": "288d1f5d070960b082943ab2f0ff1d1a357aa2696fdcb73914b2ef0818ba671f", + "sha256": "5a0e614b4db298087e08ea45c9e59c1ac3cc9b90d38ae6cf9dd83d117c657da4", "size": 1303 }, { @@ -6771,8 +6771,8 @@ "url": "https://support.claude.com/en/articles/8287232-verify-your-phone-number", "status": "success", "path": "support/8287232-verify-your-phone-number.md", - "sha256": "eb5c070c2da0d5af372abec03b6710b57ba91d444204a378d786936e23468caa", - "size": 3975 + "sha256": "6075aed99141b0d3e7575d32f1501d1f5323f2c07723d708b6e28eb6d1ba4e4b", + "size": 3983 }, { "url": "https://support.claude.com/en/articles/8325606-what-is-the-pro-plan", @@ -6799,8 +6799,8 @@ "url": "https://support.claude.com/en/articles/8325618-paid-plan-billing-faqs", "status": "success", "path": "support/8325618-paid-plan-billing-faqs.md", - "sha256": "672e3e73204ca8c5c5bc96de16df113455b4a4cbeee47f5af92b7849c6e57a9d", - "size": 4555 + "sha256": "999b76d2487aea975e2c0395e400b3995a246326a7138b4eb038a308f77a280c", + "size": 4553 }, { "url": "https://support.claude.com/en/articles/8325621-i-would-like-to-input-sensitive-data-into-my-chats-with-claude-who-can-view-my-conversations", @@ -6841,8 +6841,8 @@ "url": "https://support.claude.com/en/articles/8606378-how-do-i-use-the-workbench", "status": "success", "path": "support/8606378-how-do-i-use-the-workbench.md", - "sha256": "da0d7740ea9c8374dda99c3067e14662d0e06303f1a63da42a6cead37efd3842", - "size": 9645 + "sha256": "115557f7b85ba95070d15622a7eafd4611140543d6b3b626805b358447f01e41", + "size": 9649 }, { "url": "https://support.claude.com/en/articles/8606394-how-large-is-the-context-window-on-paid-claude-plans", @@ -6869,8 +6869,8 @@ "url": "https://support.claude.com/en/articles/8887527-customizing-your-appearance-settings", "status": "success", "path": "support/8887527-customizing-your-appearance-settings.md", - "sha256": "e37229b31fae6ef46eb19310f35c1e71b83b4b56a4c112b261c67a4484c0030b", - "size": 1870 + "sha256": "71c85a5c73931fa9cdf8659b705197d6c6ad8d74950eb1ce9c9d0f17fe71caff", + "size": 1872 }, { "url": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler", @@ -6925,8 +6925,8 @@ "url": "https://support.claude.com/en/articles/9028421-how-can-i-delete-my-claude-account", "status": "success", "path": "support/9028421-how-can-i-delete-my-claude-account.md", - "sha256": "7b7177837f2d876a52c4e0efb32ac3e0956022878ad6d3d21e8258fa342d8f8f", - "size": 2015 + "sha256": "b9b8142d0fa0a712bd0073e6fb788c03020c54d49d4a31a0a35888b48d1273e7", + "size": 2019 }, { "url": "https://support.claude.com/en/articles/9035075-law-enforcement-requests", @@ -7100,8 +7100,8 @@ "url": "https://support.claude.com/en/articles/9519189-manage-project-visibility-and-sharing", "status": "success", "path": "support/9519189-manage-project-visibility-and-sharing.md", - "sha256": "9aff91c7afd6e29e877d2657902e3c8eb83db3a399224da71952d9bd4a9f2729", - "size": 8616 + "sha256": "0fe360beaa20fb97cbe3b9d66756f2c86dc73234986f9242c73a2f085fc4a14d", + "size": 8568 }, { "url": "https://support.claude.com/en/articles/9519291-what-is-anthropic-s-policy-for-handling-governmental-requests-for-user-information", @@ -7121,15 +7121,15 @@ "url": "https://support.claude.com/en/articles/9534590-cost-and-usage-reporting-in-the-claude-console", "status": "success", "path": "support/9534590-cost-and-usage-reporting-in-the-claude-console.md", - "sha256": "7a77468c8c2122776a0736b6d5df7b3b1fb087c62de6e758c538464abb3ad5d2", - "size": 5100 + "sha256": "cd4bbd90dc650c12e56a78b6714fdec4ba5bd1929c03cb30311a8a6debc0990b", + "size": 5102 }, { "url": "https://support.claude.com/en/articles/9547008-publish-and-share-artifacts", "status": "success", "path": "support/9547008-publish-and-share-artifacts.md", - "sha256": "0ff46d3c6251db16253a76d3ce9ced104d8abe6292898e84839422a13a306eeb", - "size": 7338 + "sha256": "03c23e981e8919a6dcd29d291795a168fd9d60d0efcad1f815f66128e1c52cf8", + "size": 7328 }, { "url": "https://support.claude.com/en/articles/9612887-install-claude-for-android", @@ -7205,8 +7205,8 @@ "url": "https://support.claude.com/en/articles/9927533-disable-public-projects-for-your-organization", "status": "success", "path": "support/9927533-disable-public-projects-for-your-organization.md", - "sha256": "2fcc4090215220d349ab333c8c4244d0dae8a7b4f19f02746464acf7fe1a59f5", - "size": 2578 + "sha256": "0d47878856d78af63bf6d846f83535df785f7eba3d3e7d547c8aea347aa17902", + "size": 2580 }, { "url": "https://support.claude.com/en/articles/9927624-add-or-update-your-team-plan-s-tax-or-vat-id", @@ -7345,14 +7345,14 @@ "url": "https://support.claude.com/en/articles/10310342-how-do-i-log-out-of-all-active-sessions", "status": "success", "path": "support/10310342-how-do-i-log-out-of-all-active-sessions.md", - "sha256": "fef4af0ab9d90776a1c8313374cad9c25d4610588c4d2db377a58b059133bdbc", - "size": 2480 + "sha256": "7bf64d2748e4a7721063de99e040f8d6aa04995cdb56ad99e68acb5b8a0a0550", + "size": 2478 }, { "url": "https://support.claude.com/en/articles/10366376-how-can-i-delete-my-claude-console-account", "status": "success", "path": "support/10366376-how-can-i-delete-my-claude-console-account.md", - "sha256": "f22f34e6cd6e71a7f9ecfca6a8e23a943e3a9949c40669f79180bbe7fa47f363", + "sha256": "4d29756bb60a113f57a32062beb68bc17cf7aa838b2fd00bab3dd010c87ee584", "size": 3167 }, { @@ -7401,15 +7401,15 @@ "url": "https://support.claude.com/en/articles/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans", "status": "success", "path": "support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md", - "sha256": "90b1a7dfe091306187f79fc6257d89df8f80fd1657d03f7a1029fefdf0f2faa2", - "size": 1034 + "sha256": "626f4cb7cf53c59c1e209664ef066de42e00f75cb6f15ff5ee956bf5fdcc2248", + "size": 1036 }, { "url": "https://support.claude.com/en/articles/10504853-manage-user-feedback-settings-on-claude-console", "status": "success", "path": "support/10504853-manage-user-feedback-settings-on-claude-console.md", - "sha256": "80e84e65776b5628439ec1fc439121cb5fd9037f7d1a679faf8b0cf2cd20b63a", - "size": 997 + "sha256": "5b16aef62a4c491ed4e34ffd4dda4fded4aff559eb9e8b1bc29130e8990cdd03", + "size": 1001 }, { "url": "https://support.claude.com/en/articles/10534883-use-the-claude-widget-on-android", @@ -7422,8 +7422,8 @@ "url": "https://support.claude.com/en/articles/10593882-share-and-unshare-chats", "status": "success", "path": "support/10593882-share-and-unshare-chats.md", - "sha256": "f65f63d7c605c3c618bf5bea231f489ce520b3250e6824a9ca29fede99062f7c", - "size": 4010 + "sha256": "950053ed1e8c58ac77fb791aa09c2e4534d8b722fad87fe079c6f11f47773989", + "size": 4012 }, { "url": "https://support.claude.com/en/articles/10684626-enable-and-use-web-search", @@ -7443,8 +7443,8 @@ "url": "https://support.claude.com/en/articles/10722177-sharing-prompts-in-the-claude-console", "status": "success", "path": "support/10722177-sharing-prompts-in-the-claude-console.md", - "sha256": "ad6a5ade6b68fb833fd17ee742e80ba9ac7fe9e8d7a677dba1b71923f4491c03", - "size": 4541 + "sha256": "dbdc7c20478553cf533d95329f3de3a248637538e3556b8dc3a6432191a70806", + "size": 4529 }, { "url": "https://support.claude.com/en/articles/10769299-how-to-use-claude-in-your-preferred-language", @@ -7457,8 +7457,8 @@ "url": "https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop", "status": "success", "path": "support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md", - "sha256": "8c004ecee9727c87a107c4d33eb985db500aca2f4d0b49de090c9f948eaf3591", - "size": 8267 + "sha256": "f14da1835a6916b26a6b4b015a5900b62bb47ef4a4a5cae7250b0422908ed62a", + "size": 8271 }, { "url": "https://support.claude.com/en/articles/11049741-what-is-the-max-plan", @@ -7604,8 +7604,8 @@ "url": "https://support.claude.com/en/articles/11506255-get-started-with-claude-in-slack", "status": "success", "path": "support/11506255-get-started-with-claude-in-slack.md", - "sha256": "f86c18b0246be1efc74ae6c93c3008915e4f9b85f94447e1157d4dcd06e162de", - "size": 10416 + "sha256": "99fdc1aa290c46bef411263e33ad6ce1c2110392a8aea2f92e57a10c197c2857", + "size": 10402 }, { "url": "https://support.claude.com/en/articles/11526368-how-am-i-billed-for-my-enterprise-plan", @@ -7646,8 +7646,8 @@ "url": "https://support.claude.com/en/articles/11725453-set-up-the-claude-lti-in-canvas-by-instructure", "status": "success", "path": "support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md", - "sha256": "59955866f945fc164cc8434f3b078ba8f7a3ef72cbad61db55486e68c040405e", - "size": 2746 + "sha256": "ba3602711e754d833f1db16cd4e3518f36deb13de17a4dd19762603b53e91c12", + "size": 2750 }, { "url": "https://support.claude.com/en/articles/11732894-who-owns-and-manages-the-data-of-my-claude-for-education-account", @@ -7660,15 +7660,15 @@ "url": "https://support.claude.com/en/articles/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context", "status": "success", "path": "support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md", - "sha256": "514f5008a3d22f002b5d6800a0535ea63dda40314f56145b82fefc51e92c6c9a", - "size": 21510 + "sha256": "b2f1d139502e3de7775f2faee59680a1dce8bceaee72bd7f0b57234dff8d6838", + "size": 21516 }, { "url": "https://support.claude.com/en/articles/11818288-why-am-i-being-asked-to-verify-my-payment-method", "status": "success", "path": "support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md", - "sha256": "6d18524f6c7d24ecc08f0332059073b0d1b3a1e68ed33dd0cc7fc1777ebb70de", - "size": 816 + "sha256": "abbc4a584988bad8f63fa4e0bf3c505059fa79a7fc0ecb0ba252bdd8c6c54ed5", + "size": 814 }, { "url": "https://support.claude.com/en/articles/11825384-how-to-update-claude-for-ios", @@ -7737,15 +7737,15 @@ "url": "https://support.claude.com/en/articles/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans", "status": "success", "path": "support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md", - "sha256": "2e309d1bd02e18f21a85caaad5669a8008a54d65e99deb9b4661fd1784ac8be0", - "size": 9636 + "sha256": "d58330f3d59883aa1c29fa878adc7ade1290933f2f228b9b662d074a2d7b69c2", + "size": 9632 }, { "url": "https://support.claude.com/en/articles/12012173-get-started-with-claude-in-chrome", "status": "success", "path": "support/12012173-get-started-with-claude-in-chrome.md", - "sha256": "6e6b7ccd43b209e12151d16a081d7cc4e190738b2c7e3adb89b5febf9578cf1c", - "size": 12672 + "sha256": "f0f4cbdc6a1051e701445cd50018e1b602911359c800e4852d519ebdfedd185b", + "size": 12670 }, { "url": "https://support.claude.com/en/articles/12053672-what-happens-to-a-user-s-data-when-they-are-removed-from-a-team-or-enterprise-organization", @@ -7758,7 +7758,7 @@ "url": "https://support.claude.com/en/articles/12083917-change-your-team-plan-from-monthly-to-annual-billing", "status": "success", "path": "support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md", - "sha256": "8daf3290ddafef2dfc2623d04cf770a5227443bfea32945158ebc3e005bb3507", + "sha256": "50890e3e8d7639e899f70030fcfb2bc3fadf1b0f04e0c8d3bafc5bb793cfacc3", "size": 1395 }, { @@ -7772,8 +7772,8 @@ "url": "https://support.claude.com/en/articles/12111783-create-and-edit-files-with-claude", "status": "success", "path": "support/12111783-create-and-edit-files-with-claude.md", - "sha256": "94e117c0690733a091a0e69217b5d9d1b838d56f2a84c53a50a1d5e573b15b17", - "size": 18403 + "sha256": "bf5baa7801409c3723fd00bb3bddc7fcea4912bbdfc3e30ca0544f4938a639cb", + "size": 18405 }, { "url": "https://support.claude.com/en/articles/12119250-model-safety-bug-bounty-program", @@ -7800,22 +7800,22 @@ "url": "https://support.claude.com/en/articles/12157520-claude-code-usage-analytics", "status": "success", "path": "support/12157520-claude-code-usage-analytics.md", - "sha256": "fe7b12f73d38814b03f161c8f518012c9e9e3d1a16e89a4bf25cc6ebf088618d", + "sha256": "fe5ec88c15ff4261bf17bbea6ef3ad4c3f726a1e7c500064d41cd65587bc9e79", "size": 6425 }, { "url": "https://support.claude.com/en/articles/12260368-use-incognito-chats", "status": "success", "path": "support/12260368-use-incognito-chats.md", - "sha256": "0a214508da5862ff7edf7b9386577141eb423483ae407651aac6d47dc36385db", - "size": 3602 + "sha256": "c20f0eae5977b63deddd13cee50e3a0f5b0511ae3a9e3628740e4912d2a6ad26", + "size": 3596 }, { "url": "https://support.claude.com/en/articles/12293051-use-claude-in-xcode", "status": "success", "path": "support/12293051-use-claude-in-xcode.md", - "sha256": "9959716fefefe22bc6debdaa0511298cefb742555437470ed2ff301821e455a1", - "size": 1907 + "sha256": "f08e4f93a6ecb03c0829410bb7fc0e9be08746342edae239cbfb25cd02cd88ee", + "size": 1905 }, { "url": "https://support.claude.com/en/articles/12304248-manage-api-key-environment-variables-in-claude-code", @@ -7856,22 +7856,22 @@ "url": "https://support.claude.com/en/articles/12429409-manage-usage-credits-for-paid-claude-plans", "status": "success", "path": "support/12429409-manage-usage-credits-for-paid-claude-plans.md", - "sha256": "1f8c2f1da76a5af6f330e8377638509cb7f1adab0f15751cee10852defe5942e", + "sha256": "e5ca2e135ed8002793db25c228fe2bd4f23ca15f909ce10728d41d3829cd94e8", "size": 6073 }, { "url": "https://support.claude.com/en/articles/12461605-use-claude-in-slack", "status": "success", "path": "support/12461605-use-claude-in-slack.md", - "sha256": "e7fc2aeb76af94351f3e97663dadd6973b3611d0493d009702993849974e6194", - "size": 9969 + "sha256": "8a4522f4d13b422ef2ddca72eed8f6300f05146acb545ddf13e5860e640aad97", + "size": 9971 }, { "url": "https://support.claude.com/en/articles/12466728-troubleshoot-claude-error-messages", "status": "success", "path": "support/12466728-troubleshoot-claude-error-messages.md", - "sha256": "666d23f6c748a951fc38cd1a76dfe232c07d992167d16821ff513066c557cb47", - "size": 4232 + "sha256": "4fceaae97385ccbabd8602ca8a8cc6e80cc34db81e78418c3324f1d57ce572ee", + "size": 4238 }, { "url": "https://support.claude.com/en/articles/12489464-use-enterprise-search", @@ -7891,8 +7891,8 @@ "url": "https://support.claude.com/en/articles/12512180-use-skills-in-claude", "status": "success", "path": "support/12512180-use-skills-in-claude.md", - "sha256": "8552944c267516a56f485b158240963bd15931f0771132e5e204041c1c8d9738", - "size": 13270 + "sha256": "1d7adf726f22bdcd77479caa7b458dd136fd827dcc67c32e0d14d9eed8e577b4", + "size": 13268 }, { "url": "https://support.claude.com/en/articles/12512198-how-to-create-custom-skills", @@ -7912,8 +7912,8 @@ "url": "https://support.claude.com/en/articles/12592343-enabling-and-using-the-desktop-extension-allowlist", "status": "success", "path": "support/12592343-enabling-and-using-the-desktop-extension-allowlist.md", - "sha256": "06628ff473005395fe4c3bff608db421fa5a872968182b01183d276c6b9ada40", - "size": 5714 + "sha256": "ae873ef0a1a43feac734bdec1aa43106c17631e73ea7429773e2c90cd74670d7", + "size": 5710 }, { "url": "https://support.claude.com/en/articles/12611117-deploy-claude-desktop-for-macos", @@ -7926,8 +7926,8 @@ "url": "https://support.claude.com/en/articles/12618689-claude-code-on-the-web", "status": "success", "path": "support/12618689-claude-code-on-the-web.md", - "sha256": "5ae347f757eec5d4c099e36f9c5cb3f93ad0f2fc13131a77a1bb555ee18c1096", - "size": 10972 + "sha256": "47937c6855024be396a33a3022f2d96a0fcea69be0ffd3d09df26ddd7c566290", + "size": 10966 }, { "url": "https://support.claude.com/en/articles/12622667-enterprise-configuration-for-claude-desktop", @@ -7947,14 +7947,14 @@ "url": "https://support.claude.com/en/articles/12626668-use-quick-entry-with-claude-desktop-on-mac", "status": "success", "path": "support/12626668-use-quick-entry-with-claude-desktop-on-mac.md", - "sha256": "475b759443b7bb4ef8231f4879957eb9350959f1eb66976aa15b9122d6f33109", - "size": 5972 + "sha256": "db85ee4b3850677d2b40cbe58c42ce9e1ca03b3af533fa74a8afbf0fa53962e9", + "size": 5978 }, { "url": "https://support.claude.com/en/articles/12650343-use-claude-for-excel", "status": "success", "path": "support/12650343-use-claude-for-excel.md", - "sha256": "c816d7a3bcac365492dd03d45c908a4267fab2a4daa202ac5407a0581a3ffeab", + "sha256": "aae39168b136afd06e4696a9ecd44bd80b923abdcae38438793518c329d1599b", "size": 20227 }, { @@ -7996,7 +7996,7 @@ "url": "https://support.claude.com/en/articles/12893767-getting-started-with-claude-for-nonprofits", "status": "success", "path": "support/12893767-getting-started-with-claude-for-nonprofits.md", - "sha256": "21e7e63419f2f775fb2fbb4e9e25f0d3b6ddddb7967c3aca98ecf312f75496f6", + "sha256": "0373283f9f819e31a95c245bdfa4ecab189efd18fecf2cf91cdab4d975c78f29", "size": 523512 }, { @@ -8017,8 +8017,8 @@ "url": "https://support.claude.com/en/articles/12902446-claude-in-chrome-permissions-guide", "status": "success", "path": "support/12902446-claude-in-chrome-permissions-guide.md", - "sha256": "efe86c5689e62861d16cb2eb9201348b562c1783a3e72575d6cd152b4d9e37ea", - "size": 8098 + "sha256": "8d4c2802368fe6dc46d1b67311b380eac9498e5c44bc31c87106dd6a7ea5bd48", + "size": 8088 }, { "url": "https://support.claude.com/en/articles/12922490-remote-mcp-server-submission-guide", @@ -8045,35 +8045,35 @@ "url": "https://support.claude.com/en/articles/12923221-using-the-blackbaud-connector-in-claude", "status": "success", "path": "support/12923221-using-the-blackbaud-connector-in-claude.md", - "sha256": "2537e702a7905cdd5bc62b55d1dc712430eb6c0c998721c5c65f811bb7cc963e", + "sha256": "f516c9845428df21c264eb1145d0d5c8821f166215d1f049ad1888c5199ad644", "size": 521696 }, { "url": "https://support.claude.com/en/articles/12923227-using-the-benevity-connector-in-claude", "status": "success", "path": "support/12923227-using-the-benevity-connector-in-claude.md", - "sha256": "645f7e0ba62d1512300246051a626a056aeddf10c96e7af0b60aba2c2f8907d0", + "sha256": "44ea9ce760588fc664b3fa38bd5a05d5200898b49f20daf9c65c0e5b07ecc48e", "size": 520326 }, { "url": "https://support.claude.com/en/articles/12923235-using-the-candid-connector-in-claude", "status": "success", "path": "support/12923235-using-the-candid-connector-in-claude.md", - "sha256": "79d1cc3668673e66c83730bd1a95998756fd4b01086c541f7870c2b48241e8d4", + "sha256": "fc6a301c21f1975e478d6a152547d5b5a9ebdfd0787011808c5f1be46150c625", "size": 523261 }, { "url": "https://support.claude.com/en/articles/12923668-claude-for-nonprofits-partnership-success-guide-for-admins", "status": "success", "path": "support/12923668-claude-for-nonprofits-partnership-success-guide-for-admins.md", - "sha256": "b923cff373a4c8655faba0466215acf33895cc5b2cc2daf28eaea9e0f9f44af3", + "sha256": "07424935260e29e735f30bd32e85516d0417d30da016156bb6281ca287091371", "size": 522329 }, { "url": "https://support.claude.com/en/articles/12923901-claude-for-nonprofits-partnership-guide-for-all-users", "status": "success", "path": "support/12923901-claude-for-nonprofits-partnership-guide-for-all-users.md", - "sha256": "b46205c54881b246085bf51a0f3326ad9f602785ab23460222b0413ca44adaed", + "sha256": "9526101c60649062e31151a6ed0bd8e9f56acc6f7235a7bba138e531719c9873", "size": 521653 }, { @@ -8101,8 +8101,8 @@ "url": "https://support.claude.com/en/articles/12997503-team-plan-billing-faqs", "status": "success", "path": "support/12997503-team-plan-billing-faqs.md", - "sha256": "1e7de202da772bee89326690576a4f2b47aed9aa27cc5a97b57c8be21c82e5d1", - "size": 3926 + "sha256": "f57155097e81545b8a7217f9fbab27c97647a50123965ab709e911458e6af460", + "size": 3924 }, { "url": "https://support.claude.com/en/articles/13015708-access-the-compliance-api", @@ -8150,15 +8150,15 @@ "url": "https://support.claude.com/en/articles/13132885-set-up-single-sign-on-sso", "status": "success", "path": "support/13132885-set-up-single-sign-on-sso.md", - "sha256": "eb58e3c6a801460bbc1a0eb144bb67999078b9f1a72523fc5b3b568871ce7f9a", + "sha256": "96744f11420dc836c79f35239c1982693be2a2b262fd9433bd0712e718df3ffa", "size": 12313 }, { "url": "https://support.claude.com/en/articles/13133195-set-up-jit-or-scim-provisioning", "status": "success", "path": "support/13133195-set-up-jit-or-scim-provisioning.md", - "sha256": "7ebd5b13863c2ae1b3d9896cccb29dd6df22521fcce55106aeb1d95576f86683", - "size": 16606 + "sha256": "f0421d9bc6554d2f69e990d21bd628c4b33a0072f56a718170c3c542fdc50d7a", + "size": 16610 }, { "url": "https://support.claude.com/en/articles/13133750-manage-members-on-team-and-enterprise-plans", @@ -8185,7 +8185,7 @@ "url": "https://support.claude.com/en/articles/13163631-configuring-session-security-settings", "status": "success", "path": "support/13163631-configuring-session-security-settings.md", - "sha256": "4d40e37563703dd72255c9663cfb6af58e61c24cfff21ed79ca01a9dd46095d4", + "sha256": "2cbf97735eeb33c8d0250316eaee65c139be3161ae1cef2ebeca18f3d1e16b5f", "size": 3698 }, { @@ -8206,8 +8206,8 @@ "url": "https://support.claude.com/en/articles/13189465-log-in-to-your-claude-account", "status": "success", "path": "support/13189465-log-in-to-your-claude-account.md", - "sha256": "80f3c275114cd39c3321af04dc1d8985d7ec3dcf11c4a98d9cd28e98bb79a457", - "size": 7038 + "sha256": "34df2126eca361e6fc9787f1fd167adf73079bdcd580399a5a033bc325bca066", + "size": 7040 }, { "url": "https://support.claude.com/en/articles/13198485-enforce-network-level-access-control-with-tenant-restrictions", @@ -8234,22 +8234,22 @@ "url": "https://support.claude.com/en/articles/13325567-account-management-faqs", "status": "success", "path": "support/13325567-account-management-faqs.md", - "sha256": "d7110e721ffb53f2b371b44dcf34ef49a5abc56ddf1f9d1ffec2dfcb9c2bf872", - "size": 2641 + "sha256": "26b5b33c8eeaabf3f41e41faf18fbf540ea182bdf12d561057a23a2800f4cd1f", + "size": 2637 }, { "url": "https://support.claude.com/en/articles/13345190-get-started-with-claude-cowork", "status": "success", "path": "support/13345190-get-started-with-claude-cowork.md", - "sha256": "79a4a5b9b60a9920a183ef4aa1f32325d4e565475c039eba1a53dc59666d6e7e", - "size": 20037 + "sha256": "f0f35e253c5cc318eba6ead2d3d310e262434e5d3f6abb22da5b975816b1120d", + "size": 20041 }, { "url": "https://support.claude.com/en/articles/13346458-customizing-your-console-appearance-settings", "status": "success", "path": "support/13346458-customizing-your-console-appearance-settings.md", - "sha256": "4735e0ca9d2747dbeaa7952537fbcb13692270796cc4f5ddee36253a2c86ac6b", - "size": 611 + "sha256": "89ad4bfae7f90c0de6189994ffc84a8eea2fa49fd0d0ba25082768613b472858", + "size": 607 }, { "url": "https://support.claude.com/en/articles/13346720-export-your-organization-s-data", @@ -8269,7 +8269,7 @@ "url": "https://support.claude.com/en/articles/13371040-logging-in-to-your-console-account", "status": "success", "path": "support/13371040-logging-in-to-your-console-account.md", - "sha256": "c056d70087c407c91e3c33d84b661dbdc304469640113983270a97517779ce36", + "sha256": "59c42c52970f4374d5e6598b128c9dba91d4029d5d2f3501914467471193fb9b", "size": 4598 }, { @@ -8332,8 +8332,8 @@ "url": "https://support.claude.com/en/articles/13641943-visual-and-interactive-content", "status": "success", "path": "support/13641943-visual-and-interactive-content.md", - "sha256": "459424be1c5e6ec3a8eb5e18f11f98720611bb1e2f0214762e9392a0acced252", - "size": 6513 + "sha256": "48d5d49218514059ac390a1e0fb1cb5f4ff33a2024c7a0fe04c93673326cfd47", + "size": 6509 }, { "url": "https://support.claude.com/en/articles/13663666-use-visual-and-interactive-content-on-team-and-enterprise-plans", @@ -8360,8 +8360,8 @@ "url": "https://support.claude.com/en/articles/13756069-public-sector-faqs", "status": "success", "path": "support/13756069-public-sector-faqs.md", - "sha256": "3df1be61301e5c8c57604362f18e3864e2d71c551475da1be000e988be06a14d", - "size": 8382 + "sha256": "6dc6cb90e54dcea20127399c5d5666a2852e32c5cc1503b70c8891a752304323", + "size": 8378 }, { "url": "https://support.claude.com/en/articles/13776697-join-an-organization-via-invite-link", @@ -8388,29 +8388,29 @@ "url": "https://support.claude.com/en/articles/13837433-manage-plugins-for-your-organization", "status": "success", "path": "support/13837433-manage-plugins-for-your-organization.md", - "sha256": "bafea27cdd8ae606637b13c8cf79f0dec9ca69fecf1cb68f00d6e1c578186dce", - "size": 19757 + "sha256": "90a27fe305c5e5274e106b662d8cd72955053960b9f9b10001307f006bc504fe", + "size": 19759 }, { "url": "https://support.claude.com/en/articles/13837440-use-plugins-in-claude", "status": "success", "path": "support/13837440-use-plugins-in-claude.md", - "sha256": "95492959c136fd2f944be4a49805639b04db4be0a1aa77e7718bdcf97720cfa0", - "size": 6356 + "sha256": "37f7812bda053ca84f217bb2d9e264809345162bf84e29f740c12bed8bf0fd41", + "size": 6354 }, { "url": "https://support.claude.com/en/articles/13854387-schedule-recurring-tasks-in-claude-cowork", "status": "success", "path": "support/13854387-schedule-recurring-tasks-in-claude-cowork.md", - "sha256": "aea0b5f85e97065314aafb628d3de464ea62bc68dbfcba668a999fa95b4ddc85", + "sha256": "75625b23b1c0d1b5d17253b940584d628b6b5849e24222cd5b120ad9f2c102bf", "size": 4700 }, { "url": "https://support.claude.com/en/articles/13892150-work-across-microsoft-365-apps", "status": "success", "path": "support/13892150-work-across-microsoft-365-apps.md", - "sha256": "a4d9843004204a591f8150dad619869be7138ccbcf114a91a99d122283224015", - "size": 6346 + "sha256": "934140b473b9b0100472a85ce94d33eba0356a767b6debdce2a8f951c64a9e85", + "size": 6354 }, { "url": "https://support.claude.com/en/articles/13917817-google-workspace-sso-scim-email-mismatch", @@ -8493,8 +8493,8 @@ "url": "https://support.claude.com/en/articles/13930458-set-up-role-based-permissions-on-enterprise-plans", "status": "success", "path": "support/13930458-set-up-role-based-permissions-on-enterprise-plans.md", - "sha256": "55a06cdcd744b59afd111aaead67507a5173f30202ce73a7becb5de929deb4f1", - "size": 40962 + "sha256": "061a9068335fa253c83087734aa8da645e3e1bf70a0a99fa860fd66216bcb93f", + "size": 40984 }, { "url": "https://support.claude.com/en/articles/13945233-use-claude-for-microsoft-365-with-third-party-platforms", @@ -8507,8 +8507,8 @@ "url": "https://support.claude.com/en/articles/13947068-assign-tasks-from-anywhere-in-claude-cowork", "status": "success", "path": "support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md", - "sha256": "36093ffa8dff0fa327527535b9af45bf514466ceae7b6e45acd56ecd00cc2b68", - "size": 8284 + "sha256": "aad89de1ad2e0e5f3d8e6e05e37875f734e3ea14e34f086264999c1aef07c7ea", + "size": 8276 }, { "url": "https://support.claude.com/en/articles/13979539-custom-visuals-in-chat-and-cowork", @@ -8528,15 +8528,15 @@ "url": "https://support.claude.com/en/articles/14116274-organize-your-tasks-with-projects-in-claude-cowork", "status": "success", "path": "support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md", - "sha256": "6634b380270d19da65f0c1887675ad4eee0ea2d98c4a883a56c11bb4b85405ad", - "size": 5694 + "sha256": "1a990f4c681e51f5555b0f158ef4617dfe80fbb2b3a7f4d2103be64331bd1d92", + "size": 5700 }, { "url": "https://support.claude.com/en/articles/14128542-let-claude-use-your-computer-in-cowork", "status": "success", "path": "support/14128542-let-claude-use-your-computer-in-cowork.md", - "sha256": "95a63cd77289fae399e362d635e121833bd93ce90e97d7e21f1d83255ed7bf65", - "size": 8284 + "sha256": "f11889a950c7736a6687fc0673fa2cd1aa07df9d11a8dd06e73d6980717970ad", + "size": 8290 }, { "url": "https://support.claude.com/en/articles/14128775-claude-code-on-console-to-enterprise-migration", @@ -8612,8 +8612,8 @@ "url": "https://support.claude.com/en/articles/14499648-how-scim-sync-works-for-enterprise-organizations", "status": "success", "path": "support/14499648-how-scim-sync-works-for-enterprise-organizations.md", - "sha256": "27fd78fe64975f8b7113855d4cb83fb3007fa6877dd20e75983106afd05538f9", - "size": 7439 + "sha256": "b453b317ea192c933ecec2218af1968a8f7eeaa70bd5c0709a8ae88d998e2ba9", + "size": 7437 }, { "url": "https://support.claude.com/en/articles/14503520-available-beta-and-research-preview-features", @@ -8633,15 +8633,15 @@ "url": "https://support.claude.com/en/articles/14503613-sso-login", "status": "success", "path": "support/14503613-sso-login.md", - "sha256": "06e77051104a1e1ef3d13648884f3c2c1c3637c0201773f534848201c328a509", - "size": 6692 + "sha256": "b2a3a71b35dbd4847a1f5d574e712f877238929600bb743023631ef669ff7da6", + "size": 6690 }, { "url": "https://support.claude.com/en/articles/14503643-set-up-scim-in-claude-for-government", "status": "success", "path": "support/14503643-set-up-scim-in-claude-for-government.md", - "sha256": "c10cc67d05b3a97ac1cad4d69db6f97149bbb0951ce4de03a949e2438a99b386", - "size": 6406 + "sha256": "e69ebb1c2775b159919b9032f17018f71897eb1414a456c84ffa9951d29c9ce7", + "size": 6410 }, { "url": "https://support.claude.com/en/articles/14503675-organization-instructions-in-claude-for-government", @@ -8668,7 +8668,7 @@ "url": "https://support.claude.com/en/articles/14503775-mcp-web-search", "status": "success", "path": "support/14503775-mcp-web-search.md", - "sha256": "531073d20c2d6f63297909eea52f6ae303351f86f2e602fa29c630ab66fad66a", + "sha256": "94636900cc33bed5181ccde6c94634a3c70260ef479e67adad2994701b0eb4e0", "size": 4675 }, { @@ -8766,8 +8766,8 @@ "url": "https://support.claude.com/en/articles/14604397-set-up-your-design-system-in-claude-design", "status": "success", "path": "support/14604397-set-up-your-design-system-in-claude-design.md", - "sha256": "6a0a12dec218a41edb1a384e905d4674d859595d392a6703af068ec2ca0dc938", - "size": 4401 + "sha256": "aa38d5b7f3fc8bf5776d8bdaafe4c85047d42cb0bdb298bb3c2762cb682245e8", + "size": 4397 }, { "url": "https://support.claude.com/en/articles/14604406-claude-design-admin-guide-for-team-and-enterprise-plans", @@ -8780,7 +8780,7 @@ "url": "https://support.claude.com/en/articles/14604416-get-started-with-claude-design", "status": "success", "path": "support/14604416-get-started-with-claude-design.md", - "sha256": "fe8fcaa9fdf7d794979fab65546fb81dfef4df004de64e262344ad11be47a3c1", + "sha256": "b6b1a66663872f7a5bfd7d58ca9afc1441822655da0a9979245793ab35a35c9c", "size": 11128 }, { @@ -8913,8 +8913,8 @@ "url": "https://support.claude.com/en/articles/15330088-set-a-default-model-for-your-organization", "status": "success", "path": "support/15330088-set-a-default-model-for-your-organization.md", - "sha256": "104641b76709bab71efbb5130524022b85a6839e44a1db9449fa147edee641af", - "size": 5727 + "sha256": "15be36ded25c4a04ca603943c143363100d9f1e786f1783b1ab307b7ce72d9d9", + "size": 5729 }, { "url": "https://support.claude.com/en/articles/15330651-claude-enterprise-admin-api-reference-guide", @@ -9025,8 +9025,8 @@ "url": "https://support.claude.com/en/articles/15694740-manage-model-access-for-your-organization", "status": "success", "path": "support/15694740-manage-model-access-for-your-organization.md", - "sha256": "a24b9d5aa92f22c6178bd3d9076297e6398158ab276cc258561d3625bf68ea94", - "size": 8496 + "sha256": "b354a975d2888e41de6bf022323badc443571bbf7fc0ab442c2f05f7d9763d78", + "size": 8494 }, { "url": "https://support.claude.com/en/articles/15707726-using-claude-for-legal-work-privilege-confidentiality-and-how-to-think-about-configuration", @@ -9053,8 +9053,8 @@ "url": "https://support.claude.com/en/articles/15936181-get-started-with-1password-for-claude", "status": "success", "path": "support/15936181-get-started-with-1password-for-claude.md", - "sha256": "091d03aaff9fcc03bafe6216c01c5d1f33572c7c9e77cce60e86e24768d164bd", - "size": 5060 + "sha256": "8e7564da6188abecc2e3a56ac85c4dd693e8a03feb888b0770d0f20fc64be8e6", + "size": 5058 }, { "url": "https://raw.githubusercontent.com/anthropics/claude-cookbooks/main/.claude/agents/code-reviewer.md", @@ -10369,22 +10369,22 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/SKILL.md", "status": "success", "path": "github/skills/skills/claude-api/SKILL.md", - "sha256": "0960727edd991a4674df9a73821955286ffcd1af3d53a89198b4c7288ac831bb", - "size": 68963 + "sha256": "dec5113c74b754a462aa43f47dfdf8e4739d1b411bd81596d86c113399d6f94e", + "size": 71590 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/csharp/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/csharp/claude-api/README.md", - "sha256": "96b67483b4efd0dfdff00817abfbbe9410d11de6113417ff625c278999bab06f", - "size": 18064 + "sha256": "b2c4e063d831855fafca794f328221400f188341e994b610abc4eeb9036bb28f", + "size": 18448 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/csharp/claude-api/batches.md", "status": "success", "path": "github/skills/skills/claude-api/csharp/claude-api/batches.md", - "sha256": "19d17c89efe01f13a2a173a05169dee9b6bbdd5274ec2716395c4faa6ee7029a", - "size": 415 + "sha256": "3031c3d8555d9e4f0a6e07923d31553a563a1daefcadebda7db13ef7d6c959d4", + "size": 413 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/csharp/claude-api/files-api.md", @@ -10411,22 +10411,22 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/curl/examples.md", "status": "success", "path": "github/skills/skills/claude-api/curl/examples.md", - "sha256": "9ddc35cfa47d47e307a9346c569c15c83b0d6185ec2e3cae26d353150c04bbcf", - "size": 8609 + "sha256": "f22a32eba79ad9b95823aa3902b96b26734099ceb2d65f1121c06455061de125", + "size": 9201 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/curl/managed-agents.md", "status": "success", "path": "github/skills/skills/claude-api/curl/managed-agents.md", - "sha256": "dd4d8782530b6f187aaa6aecc95bcbbc7ab91f144a0c6324450bdc163f3cf8f4", - "size": 7638 + "sha256": "82f4d134781843578d2430d681f2782e58e21c1288045c21f55494b631ffbe28", + "size": 7630 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/go/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/go/claude-api/README.md", - "sha256": "24816178eaa12ffd7464326dbbcaedb911e2695bd6aa17fa6184cd346c54631c", - "size": 7193 + "sha256": "4158b5f54c065896e711a0cf620597f2bc7cb89fc9ce76ace1ff32f1e08468cf", + "size": 7780 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/go/claude-api/files-api.md", @@ -10453,15 +10453,15 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/go/managed-agents/README.md", "status": "success", "path": "github/skills/skills/claude-api/go/managed-agents/README.md", - "sha256": "c3cc9fbee6e033f3084c3870513f7c6b620c294247d987eb2d70326442187306", - "size": 18953 + "sha256": "84f9b6ea1b1f235625cb51a0975fce7246027eff855b4970daf9093d8a88db23", + "size": 18949 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/java/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/java/claude-api/README.md", - "sha256": "f69567754943deebaaedb848c5b19193ca8890e2f5c863a0e9108a2f3d00a3f6", - "size": 10900 + "sha256": "90132fd003be83cc6c98105201ddcde56ea73aadc74cd96f916c59142319f2b8", + "size": 11322 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/java/claude-api/files-api.md", @@ -10481,29 +10481,29 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/java/claude-api/tool-use.md", "status": "success", "path": "github/skills/skills/claude-api/java/claude-api/tool-use.md", - "sha256": "d61ec94bc6d57db1ac6c1eeb6ca8cd852c8bf00124874ef4fe75b2d87155814f", - "size": 9546 + "sha256": "ddd83530ff690a9deca073cb62011688f28d7f75dea890e47fd58875cddb2a83", + "size": 9542 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/java/managed-agents/README.md", "status": "success", "path": "github/skills/skills/claude-api/java/managed-agents/README.md", - "sha256": "d66239c46d413883627eda168049e4f5e7c645c315af2ecbd8bfcf8736a3e5f4", - "size": 16960 + "sha256": "1f1dfbc0c2ef71c0eeec05fe7944866f08c7c2673185bb831aab40c3d942d300", + "size": 16956 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/php/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/php/claude-api/README.md", - "sha256": "80caa60268f2d27472cef4470312eadde0bae9d765cb80e87f2d22507a290a59", - "size": 5786 + "sha256": "a2e284941579eec8affd1492e634c7d696e429ba0558c4fac8932ece4940001e", + "size": 6123 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/php/claude-api/batches.md", "status": "success", "path": "github/skills/skills/claude-api/php/claude-api/batches.md", - "sha256": "45cc12df38c2452d28cfb46ef85300b620f7efce0d2c3117f4a1af6916b62b76", - "size": 449 + "sha256": "fb250d5ff1b20b8041db9b3ad8d35736fa6c6c13415198eead3d73719ea1b65a", + "size": 447 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/php/claude-api/files-api.md", @@ -10516,92 +10516,92 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/php/claude-api/streaming.md", "status": "success", "path": "github/skills/skills/claude-api/php/claude-api/streaming.md", - "sha256": "f4b6b685ff1b0c54631e9a456d9933d1b2f31f50825e0959a74384014808da4c", - "size": 684 + "sha256": "b709f7206671ee5a52121c2d6af5ff5a69ec99ee01f647c5d85c4b2291fa6d07", + "size": 682 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/php/claude-api/tool-use.md", "status": "success", "path": "github/skills/skills/claude-api/php/claude-api/tool-use.md", - "sha256": "d4474a01bea5fa4bb6d5c27270333dc76bf5be8e71587e1c440fbd217df5345a", - "size": 8115 + "sha256": "2c482a407c669386452056eb0d9d553996c31a518d87d92632db44efe0fd7a48", + "size": 8099 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/php/managed-agents/README.md", "status": "success", "path": "github/skills/skills/claude-api/php/managed-agents/README.md", - "sha256": "8a7dd0d342576f947d20102c786db63eac765a0eab6b5e2ffc86a550bee3991a", - "size": 13530 + "sha256": "3cdb977cd03ec247168fd41afe4c63a7c5fd56e67c6fac914d5977d451962c67", + "size": 13526 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/python/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/python/claude-api/README.md", - "sha256": "671ad1ce74fcc88c3e21cdf92edec2ad70de120fefac0ad264ef74d4cd71f244", - "size": 18763 + "sha256": "69cc557fa4a5c107a00702d1ef9b270ac53d4ab5ea9ab3eae757195bea381693", + "size": 19376 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/python/claude-api/batches.md", "status": "success", "path": "github/skills/skills/claude-api/python/claude-api/batches.md", - "sha256": "6849033ccaaf140ac52a0cf4c923fd6ae545754f67d7a72d20c36036cdacbe68", - "size": 5592 + "sha256": "4bfe0df8ec547a0a218a41d22f0be08881a0bd5bbde29f4df9d02d7151c22fc3", + "size": 5586 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/python/claude-api/files-api.md", "status": "success", "path": "github/skills/skills/claude-api/python/claude-api/files-api.md", - "sha256": "68d034200244045b7f8b8ba31e2860ca633d0b7141a151317a5d8aeba013a603", - "size": 4379 + "sha256": "7f308a5bb6ae9d90222255d7702eea975c503366e22b4313f977604176ba4786", + "size": 4373 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/python/claude-api/streaming.md", "status": "success", "path": "github/skills/skills/claude-api/python/claude-api/streaming.md", - "sha256": "b1da0dfb8a17b2b8b2961254f59bdf5bb16ffc1fec792a22bf0db382c5fe5846", - "size": 6450 + "sha256": "73b102cb41430bd37759ce99b338f1a819e1463a599ed3f983e504d1e2b32efb", + "size": 6548 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/python/claude-api/tool-use.md", "status": "success", "path": "github/skills/skills/claude-api/python/claude-api/tool-use.md", - "sha256": "2f4b284e9c1ad16991803bcdc35d4ef3dff85695bf01126880098c60acfad91c", - "size": 19459 + "sha256": "75385ca26f00312ec1d209a3de8e7a4bfbbe715a8b07e10bb5259213e177dc22", + "size": 19419 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/python/managed-agents/README.md", "status": "success", "path": "github/skills/skills/claude-api/python/managed-agents/README.md", - "sha256": "8e0312c4fa8e696faea19ab70b3ae5baa43798b2ed0fd167cc39cad5f86be53a", - "size": 10363 + "sha256": "87ae8c61a066ee1e75aec73bc19ea97547df6fded57cdedb3a6f10575f2061ac", + "size": 10357 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/ruby/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/ruby/claude-api/README.md", - "sha256": "036021fee02420d8d9fe9c7283eba932b4ebe9f2ebbcc1be4bf8e3e89d6a8d30", - "size": 4164 + "sha256": "bdd9d432bfd6880853617bbf3426601cda6675b039b31fed1dc2d942598e4ce3", + "size": 4481 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/ruby/claude-api/streaming.md", "status": "success", "path": "github/skills/skills/claude-api/ruby/claude-api/streaming.md", - "sha256": "e1edcb452ceeadeead3f58732c33cf58f45af9907f9b30230e88fe2db839c51c", - "size": 237 + "sha256": "82123285e61034f54bcacb714d2672bb172e780adecf09a32881297d3e68c31b", + "size": 235 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/ruby/claude-api/tool-use.md", "status": "success", "path": "github/skills/skills/claude-api/ruby/claude-api/tool-use.md", - "sha256": "ea7e1cd0a20c9b40e0bfae0b0390ab0f00d6c67d11df87c8abec76121a962551", - "size": 1065 + "sha256": "7ea00862705f482aa79336297d5180eeeb64e90b7df1fbf5a3240088b3a4eaf3", + "size": 1063 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/ruby/managed-agents/README.md", "status": "success", "path": "github/skills/skills/claude-api/ruby/managed-agents/README.md", - "sha256": "877343e976f2eb942556ad044596d8a6c55763935c92e0528dd6653d1648e30f", - "size": 10464 + "sha256": "6f2cdffef9ed8e3fe5f55d1e62c4937d35808ca5478b23485819cfa2dbbc7b49", + "size": 10460 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/agent-design.md", @@ -10614,36 +10614,36 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/anthropic-cli.md", "status": "success", "path": "github/skills/skills/claude-api/shared/anthropic-cli.md", - "sha256": "7ffa53b02d92e3227d055b80ea3506c066bf7409c59878f722e2088f26f18894", - "size": 16220 + "sha256": "3f52c507dd15b2582e6b07346e0087baa7023b7fb4d0e6465d4bb402fdb1578f", + "size": 16210 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/claude-platform-on-aws.md", "status": "success", "path": "github/skills/skills/claude-api/shared/claude-platform-on-aws.md", - "sha256": "4213d75b3eace63fa7142389160565a54fc482a949aedad87ca16f02f856e9ef", - "size": 3884 + "sha256": "0bb938bc94c40619cdb2a973227b9bac00b55fa17a7e6ffab09e57b895a2f492", + "size": 3878 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/error-codes.md", "status": "success", "path": "github/skills/skills/claude-api/shared/error-codes.md", - "sha256": "30f469fdf1ef7ac423e01d8b66e150bee6017bb3f4238841ac744d0ce206c871", - "size": 11898 + "sha256": "15bb04905a2b0c5ed995d1a034db552e89d9aae3803e0aa1ecdd36b5f9742883", + "size": 12182 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/live-sources.md", "status": "success", "path": "github/skills/skills/claude-api/shared/live-sources.md", - "sha256": "b7803b85b7e38f71c67482d94ce9b381663400fa46015ca86a052dfba8fd444d", - "size": 18931 + "sha256": "3d88adad0d6a566abbe9214d8fb9cd5836d252e9924ee2b951cc9d19f5afe31c", + "size": 18929 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-api-reference.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-api-reference.md", - "sha256": "a2dc1581d54f9a8ca918a215cf8744cd99962925959b0b28bd886f6b2e452d76", - "size": 32097 + "sha256": "e814c0284ffae872dc6a37871f3690e43ed8f31f3b3a9c44f2cd3acb4e142214", + "size": 32146 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-client-patterns.md", @@ -10656,43 +10656,43 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-core.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-core.md", - "sha256": "2526e1a6c65f077321600f991d95137eb5f5219bbc0e9e9e1889b74644afe15b", - "size": 24048 + "sha256": "9778e536853f3156b75f455f09c1dd88d31685f74da00df693a0a0010dd94f02", + "size": 24040 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-environments.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-environments.md", - "sha256": "48c7215247c6f004f96b99138e61f868716a494ec4c59ed5286215b41386016a", - "size": 11812 + "sha256": "7216100bfa608c727a6a57b65fa555e61fc50dcb3db50fb798e4d4b7b0c33e38", + "size": 11808 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-events.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-events.md", - "sha256": "12a09fbbd9ff247c151cf157e57e80152665ae622a39ff7605340c7bfd1ea3a5", - "size": 18499 + "sha256": "948ddd415122df4a1b6f7c17f94eeecc329be7e4e2d457f97fa725ef0bc52760", + "size": 18521 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-memory.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-memory.md", - "sha256": "0c5e28422795bd016fc538b0b8b46e96f5ac793bddc51fd6bc9b3e2fbc56dc56", - "size": 10044 + "sha256": "383cb9f92f4bf63b8c351619b2273a0b06ce37e6eb2652240517b115d1783536", + "size": 10006 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-multiagent.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-multiagent.md", - "sha256": "a9012e5692392d0a1300f84bf3afb8bde92a5fae3a1f090fc09f04c899b4ca34", - "size": 9628 + "sha256": "5401e9fa5986945746ad921515529a939251eae7b840e58da07ca41c4133c812", + "size": 9626 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-onboarding.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-onboarding.md", - "sha256": "e11051c1510489221b88714f9199949fc62d4fc6636136b15be1277ec2034c0e", - "size": 10386 + "sha256": "7e70601b433bffc8304476ef796a20303463e39034589b193242e6e6be4f3c83", + "size": 10384 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-outcomes.md", @@ -10705,8 +10705,8 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-overview.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-overview.md", - "sha256": "95262c3be299685ed9331d766cb2ba4ac38c1ebbbfcd12bb90605ebacea51e5b", - "size": 11549 + "sha256": "1428a53e1e03a8146c61d583c571d7803126be8088f8ff2f132691e13881de27", + "size": 11550 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-scheduled-deployments.md", @@ -10726,8 +10726,8 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-tools.md", "status": "success", "path": "github/skills/skills/claude-api/shared/managed-agents-tools.md", - "sha256": "756f28c7bf4305053acad581db244dcccd2abf51a9e3f553ad4c457ea3b9cb63", - "size": 20729 + "sha256": "5545e1500143f38cc1f4fdd8f026706ba705da9e5d4115e7e41ab4d26fc87eb4", + "size": 20725 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/managed-agents-webhooks.md", @@ -10740,85 +10740,85 @@ "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/model-migration.md", "status": "success", "path": "github/skills/skills/claude-api/shared/model-migration.md", - "sha256": "a9d829fef3ad4e0a5afebd4b3caf0e9c584db9579ffdcd811621d37a22560bec", - "size": 144443 + "sha256": "02d90dea7b1304aaf24100d23e77c79cbfd03e16e51e744c6d0a27470a1423fd", + "size": 175673 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/models.md", "status": "success", "path": "github/skills/skills/claude-api/shared/models.md", - "sha256": "21d00e97640bafb3c5f2935c1c802792bcc4a7598a95b658fc8cdbae6a87baa1", - "size": 10862 + "sha256": "683f4dabcc88084e142c53d5b646943cdf71188b7dba64d0dbcc0f3cf850f398", + "size": 12146 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/platform-availability.md", "status": "success", "path": "github/skills/skills/claude-api/shared/platform-availability.md", - "sha256": "54895cf5e812706cd4c6379b41c0781b3292237236a2e71cfbdc3d02f434348c", - "size": 5701 + "sha256": "50023537ade1f59962827395469b51397c823480cd34f98805f7399e13b8edfa", + "size": 5945 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/prompt-caching.md", "status": "success", "path": "github/skills/skills/claude-api/shared/prompt-caching.md", - "sha256": "7c242024cfdfb0b3c9a5a884248df73d1377ab497e7097a4bed1c4444542a7a2", - "size": 14540 + "sha256": "d3bf68cda9787815d5e1c0a793cedb434c9c468fc3ed6ff04e27c293f5b384c8", + "size": 16291 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/token-counting.md", "status": "success", "path": "github/skills/skills/claude-api/shared/token-counting.md", - "sha256": "231c4d669618915958adb2db2d73470f3e2a376aaf5472e39b651d3e5efa044d", - "size": 1610 + "sha256": "0065d762551b79c9c1ccee568b1daee65e2f79b1ee2ec0ea347b1db384289813", + "size": 1604 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/shared/tool-use-concepts.md", "status": "success", "path": "github/skills/skills/claude-api/shared/tool-use-concepts.md", - "sha256": "07ae2aeb034ce2c61a818647ed1995b93aa3b67ea42c1765e7cc7146abfdf62c", - "size": 28675 + "sha256": "d3d53d3417fcae45cd0d3bf4e895ff4126147d4621fe5c2df764a99cf772b7c5", + "size": 32204 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/typescript/claude-api/README.md", "status": "success", "path": "github/skills/skills/claude-api/typescript/claude-api/README.md", - "sha256": "4668edb425e307708040a87ae20cb5c2d2ca3e5fca8c9c0c3bcd39778df14940", - "size": 14560 + "sha256": "b7312f68b2502f2002dbf6f1da4493bad90ad6463c0c161975cd3316e1521dca", + "size": 15179 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/typescript/claude-api/batches.md", "status": "success", "path": "github/skills/skills/claude-api/typescript/claude-api/batches.md", - "sha256": "07e75f7e6864aa79fad1f4135a06f1907dc0149ce3234f0851c950b93e0a9e8f", - "size": 2596 + "sha256": "db0d4c3b2c901a3e42f42fef09081b08fe4c5d21c85b519a1fe8898819a39db5", + "size": 2592 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/typescript/claude-api/files-api.md", "status": "success", "path": "github/skills/skills/claude-api/typescript/claude-api/files-api.md", - "sha256": "0e70fae5742e78d93314744777dc9359d71d6e3511ca67abe3d51aaf1e107331", - "size": 2261 + "sha256": "c93a25de00840f61e1e757e031e1defab8cc4990ed1d03ad0ce002f8feb88f9e", + "size": 2259 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/typescript/claude-api/streaming.md", "status": "success", "path": "github/skills/skills/claude-api/typescript/claude-api/streaming.md", - "sha256": "7af1abfc92f45b8fff0bab3bcbb3d99a011cc19f93f0a8cf0e0cf73e0a1a3276", - "size": 5739 + "sha256": "2c690be93d15325bfcdb66bc99d276e0f6bf2f78bbc697aa150d92bd4a0d950c", + "size": 5843 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/typescript/claude-api/tool-use.md", "status": "success", "path": "github/skills/skills/claude-api/typescript/claude-api/tool-use.md", - "sha256": "c26f8e481e719c2fd6f98ac6724e1154c91b42a4f142a317ba2d27f42435ea6c", - "size": 19150 + "sha256": "5ba08718623f6f007cdd5180d1bb636cc80744b1c3587bb23be8708eda5830cf", + "size": 19116 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/typescript/managed-agents/README.md", "status": "success", "path": "github/skills/skills/claude-api/typescript/managed-agents/README.md", - "sha256": "815ac1e82ebec3c13fbf77f99be65f6f36133c7fc78857f1961295d5b12260a5", - "size": 9830 + "sha256": "df7b925e6d9218d12ea624fef2224b00159bb9ffa80260331a17045d5ad82711", + "size": 9824 }, { "url": "https://raw.githubusercontent.com/anthropics/skills/main/skills/doc-coauthoring/SKILL.md", @@ -11097,7 +11097,7 @@ "url": "https://raw.githubusercontent.com/anthropics/claude-plugins-official/main/.claude-plugin/marketplace.json", "status": "success", "path": "github/claude-plugins-official/.claude-plugin/marketplace.json", - "sha256": "52b574dade0e7c90a4ac82f9500b85c9404c7df76c5ecc0a8b5ca1ae681c9ad9", + "sha256": "9468fe5a6ea31e3086d79ec903c22e95b2a56db381ff065f520e41feec68f802", "size": 159239 }, { diff --git a/content/CHANGELOG.md b/content/CHANGELOG.md index 97c4a8e7a..7ca26b54c 100644 --- a/content/CHANGELOG.md +++ b/content/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2.1.220 + +- Bug fixes and reliability improvements + ## 2.1.219 - Added Claude Opus 5 (`claude-opus-5`), now the default Opus model — 1M context, fast mode at $10/$50 per Mtok @@ -10,10 +14,7 @@ - Added nested subagent forwarding in stream-json: subagents spawned at depth-2+ now appear when `--forward-subagent-text` is set, keyed by their spawning Agent `tool_use` id - Fixed `claude -p` text output dropping the answer already produced when a turn dies on a mid-stream API error - Added HTTP status and error text to `claude mcp list` and `/mcp` when a server fails to connect, and a warning for MCP config values with hidden leading or trailing whitespace -- Fixed a permission you approved while a self-hosted runner was restarting being dropped when the session resumed, so the approved action now runs - Fixed the Fable model row showing "Requires usage credits" for plans that include it, when a stale cache had baked the label in -- Fixed a SIGTERM arriving while a self-hosted runner was starting up leaving a stale active row until the lease expired; it now deregisters cleanly -- Added structured failure categories to self-hosted runner spawn and session failures, so hook errors, runner crashes and config errors can be told apart - Fixed the `/model` picker showing the merged Opus row as plain "Opus" instead of "Opus (1M context)" - Fixed copy-on-select inside GNU screen printing base64 into the terminal instead of copying the selection - Fixed Remote Control clients keeping a stale fast-mode status after a model switch, reconnect, or failed org check @@ -953,7 +954,6 @@ ## 2.1.169 -- Self-hosted runner: added a `post-session` lifecycle hook that runs after the session ends and before the workspace is deleted, so you can snapshot uncommitted work or export logs; also made the child-process SIGTERM→SIGKILL window configurable (default unchanged at 5s) - Added `--safe-mode` flag (and `CLAUDE_CODE_SAFE_MODE`) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting - Added `/cd` command to move a session to a new working directory without breaking the prompt cache mid-session - Added a `disableBundledSkills` setting and `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` environment variable to hide bundled skills, workflows, and built-in slash commands from the model diff --git a/content/claude-code-manifest.json b/content/claude-code-manifest.json index ff6aaff59..a4eb5848a 100644 --- a/content/claude-code-manifest.json +++ b/content/claude-code-manifest.json @@ -1,12 +1,12 @@ { "name": "@anthropic-ai/claude-code", - "version": "2.1.219", + "version": "2.1.220", "author": { "name": "Anthropic", "email": "support@anthropic.com" }, "license": "SEE LICENSE IN README.md", - "_id": "@anthropic-ai/claude-code@2.1.219", + "_id": "@anthropic-ai/claude-code@2.1.220", "maintainers": [ { "name": "zak-anthropic", @@ -69,24 +69,24 @@ "claude": "bin/claude.exe" }, "dist": { - "shasum": "7849f29b80da65065a14f16d520a7f8c433f895b", - "tarball": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.219.tgz", + "shasum": "29e7249f01f9602b78c2d5f3c2f1c8a11b2ebcb4", + "tarball": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.220.tgz", "fileCount": 7, - "integrity": "sha512-6PVBrRsKHFi0gzv5bCabVL+XSqI3F8AR6ekFx4gpzdE5a9XotqewolID0PbcdD9IyWVYCIDET4GDCcUdA89i3Q==", + "integrity": "sha512-ogBrvwkqF9f8okmnXKxmRNHuvtFxFEffe5pWdqOV3iQDxlUOKirFqnyWC7NGXXnDA4WkkbPH8pvSbwyCR2Auyw==", "signatures": [ { - "sig": "MEQCIG75mrsMxC3YQTnCcPmBeHwr1f9g7ePFmyx5w2CXKvG4AiAhugEXOCz+p4i9ah/rKGNQ7W6bD1P91J1ZN9KRzVJdSg==", + "sig": "MEUCIHW1JyfEcj1vhz8RXPKrYC4Hd8AacYkcd3YCWdvM4bSIAiEAwqLm9vy1jpLerInCnPvHPMQdXwVQ3ysAR1ulFc5YzyY=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" }, { - "sig": "MEUCIQCWsFSESf0pIESXKkYOlZvGH6SGYGzsslI7QD7g/aeEYwIgHlgHLYRj4GcQ51PyprSajcWQk0yZ7B34NupQZ6b6eWQ=", + "sig": "MEUCIBgobvXrtU5I+/OOn7mGb2Z9Y+PmFwH6x5UCd6vK32jiAiEAsqm9BJnZ7USra8F85N99oIE5OrbO7zMcXZxuhWiDlPc=", "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U" } ], "unpackedSize": 165478 }, "type": "module", - "_from": "file:staged-npm/anthropic-ai-claude-code-2.1.219.tgz", + "_from": "file:staged-npm/anthropic-ai-claude-code-2.1.220.tgz", "engines": { "node": ">=22.0.0" }, @@ -98,8 +98,8 @@ "name": "wolffiex", "email": "wolffiex@anthropic.com" }, - "_resolved": "/home/runner/work/claude-cli-internal/claude-cli-internal/staged-npm/anthropic-ai-claude-code-2.1.219.tgz", - "_integrity": "sha512-6PVBrRsKHFi0gzv5bCabVL+XSqI3F8AR6ekFx4gpzdE5a9XotqewolID0PbcdD9IyWVYCIDET4GDCcUdA89i3Q==", + "_resolved": "/home/runner/work/claude-cli-internal/claude-cli-internal/staged-npm/anthropic-ai-claude-code-2.1.220.tgz", + "_integrity": "sha512-ogBrvwkqF9f8okmnXKxmRNHuvtFxFEffe5pWdqOV3iQDxlUOKirFqnyWC7NGXXnDA4WkkbPH8pvSbwyCR2Auyw==", "_npmVersion": "11.16.0", "description": "Use Claude, Anthropic's AI assistant, right from your terminal. Claude can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.", "directories": {}, @@ -108,17 +108,17 @@ "_hasShrinkwrap": false, "readmeFilename": "README.md", "optionalDependencies": { - "@anthropic-ai/claude-code-linux-x64": "2.1.219", - "@anthropic-ai/claude-code-win32-x64": "2.1.219", - "@anthropic-ai/claude-code-darwin-x64": "2.1.219", - "@anthropic-ai/claude-code-linux-arm64": "2.1.219", - "@anthropic-ai/claude-code-win32-arm64": "2.1.219", - "@anthropic-ai/claude-code-darwin-arm64": "2.1.219", - "@anthropic-ai/claude-code-linux-x64-musl": "2.1.219", - "@anthropic-ai/claude-code-linux-arm64-musl": "2.1.219" + "@anthropic-ai/claude-code-linux-x64": "2.1.220", + "@anthropic-ai/claude-code-win32-x64": "2.1.220", + "@anthropic-ai/claude-code-darwin-x64": "2.1.220", + "@anthropic-ai/claude-code-linux-arm64": "2.1.220", + "@anthropic-ai/claude-code-win32-arm64": "2.1.220", + "@anthropic-ai/claude-code-darwin-arm64": "2.1.220", + "@anthropic-ai/claude-code-linux-x64-musl": "2.1.220", + "@anthropic-ai/claude-code-linux-arm64-musl": "2.1.220" }, "_npmOperationalInternal": { - "tmp": "tmp/claude-code_2.1.219_1784909509727_0.3364890058271168", + "tmp": "tmp/claude-code_2.1.220_1784934681711_0.3834738675106979", "host": "s3://npm-registry-packages-npm-production" } } \ No newline at end of file diff --git a/content/en/about-claude/models/choosing-a-model.md b/content/en/about-claude/models/choosing-a-model.md index d5eb8de5a..8016cf317 100644 --- a/content/en/about-claude/models/choosing-a-model.md +++ b/content/en/about-claude/models/choosing-a-model.md @@ -9,9 +9,9 @@ Selecting the optimal Claude model for your application involves balancing three When choosing a Claude model, consider first evaluating these factors: * **Capabilities:** What specific features or capabilities will you need the model to have to meet your needs? -* **Speed:** How quickly does the model need to respond in your application? Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7 support [fast mode](/docs/en/build-with-claude/fast-mode) (research preview), which delivers up to 2.5x higher output speed at premium pricing. Fast mode on Claude Opus 4.7 is deprecated, with removal on July 24, 2026. +* **Speed:** How quickly does the model need to respond in your application? Claude Opus 5 and Claude Opus 4.8 support [fast mode](/docs/en/build-with-claude/fast-mode) (research preview), which delivers up to 2.5x higher output speed at premium pricing. * **Cost:** What's your budget for both development and production usage? -* **Effort:** Recent Opus and Sonnet models support an [effort parameter](/docs/en/build-with-claude/effort) that trades intelligence for latency and cost within a single model. Tuning effort is often a better lever than switching models. On Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7, the `xhigh` effort level, between `high` and `max`, is the best setting for most coding and agentic use cases. +* **Effort:** Recent Opus and Sonnet models support an [effort parameter](/docs/en/build-with-claude/effort) that trades intelligence for latency and cost within a single model. Tuning effort is often a better lever than switching models. On Claude Opus 5, start with the default (`high`) and adjust up or down based on your evals. On Claude Opus 4.8 and Claude Opus 4.7, the `xhigh` effort level, between `high` and `max`, is the best setting for most coding and agentic use cases. Knowing these answers in advance will make narrowing down and deciding which model to use much easier. @@ -55,7 +55,7 @@ This approach is best for: * Advanced coding and high-autonomy agentic work - The [effort parameter](/docs/en/build-with-claude/effort) defaults to `high` on Claude Opus 5 and Claude Opus 4.8, including in Claude Code and the Messages API. Use `xhigh` for coding, high-autonomy work, and the most intelligence-demanding tasks. + The [effort parameter](/docs/en/build-with-claude/effort) defaults to `high` on Claude Opus 5 and Claude Opus 4.8, including in Claude Code and the Messages API. On Claude Opus 5, start at the default and step up to `xhigh` for the most demanding coding and agentic work. On Claude Opus 4.8, use `xhigh` for coding, high-autonomy work, and the most intelligence-demanding tasks. **Claude Opus 5** (`claude-opus-5`) is a step-change improvement over Claude Opus 4.8, strong on deep reasoning, agentic and long-horizon tasks, and test-time compute scaling. Claude Opus 5 supports a 1M token context window by default and up to 128k output tokens, and is priced at $5 per million input tokens and $25 per million output tokens. diff --git a/content/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5.md b/content/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5.md index 37d3eaf85..7ee90f1e9 100644 --- a/content/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5.md +++ b/content/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5.md @@ -38,7 +38,7 @@ When Claude Fable 5 declines a request, the Messages API returns `stop_reason: " A request that Claude Fable 5 refuses can usually be served by another Claude model. There are three ways to retry: -* **Server-side:** Pass the `fallbacks` parameter to have the API retry for you (in beta on the Claude API). See [Server-side fallback](/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback). +* **Server-side:** Pass the `fallbacks` parameter to have the API retry for you, using its `"default"` mode for Anthropic's recommended models or naming your own (in beta on the Claude API). See [Server-side fallback](/docs/en/build-with-claude/refusals-and-fallback#server-side-fallback). * **Client-side:** Use the [SDK middleware](/docs/en/cli-sdks-libraries/middleware) to retry from the client on any platform. See [Client-side fallback](/docs/en/build-with-claude/refusals-and-fallback#client-side-fallback). * **Manual:** Build the retry yourself, on any platform and in any language. See [Fallback credit](/docs/en/build-with-claude/fallback-credit). diff --git a/content/en/about-claude/models/migration-guide.md b/content/en/about-claude/models/migration-guide.md index 0781a2cfc..caacaf5e2 100644 --- a/content/en/about-claude/models/migration-guide.md +++ b/content/en/about-claude/models/migration-guide.md @@ -768,7 +768,7 @@ These are not required but will improve your experience: 1. **Test `max` effort for capability-critical work:** Claude Opus 5 supports the full set of [effort levels](/docs/en/build-with-claude/effort) (`low`, `medium`, `high`, `xhigh`, `max`). Where maximum capability matters more than token spend, test `max` effort. It can deliver gains on the most demanding tasks but may show diminishing returns from increased token usage and can be prone to overthinking on simpler ones. If you run at `xhigh` or `max` effort, set a large `max_tokens` so the model has room to think and act; start at 64k tokens and tune from there. -2. **Consider automatic fallbacks:** Claude Opus 5 ships with cybersecurity safety classifiers whose cyber-category refusals can fall back to Claude Opus 4.8. To re-run refused requests on another model automatically, consider the `fallbacks` parameter with the `"default"` mode (`fallbacks: "default"`), which selects a recommended fallback model based on the refusal category instead of a hand-maintained model list. The `"default"` mode is in beta and requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). +2. **Consider automatic fallbacks:** Claude Opus 5 ships with cybersecurity safety classifiers whose cyber-category refusals can fall back to Claude Opus 4.8. To re-run refused requests on another model automatically, consider the `fallbacks` parameter with the `"default"` mode (`fallbacks: "default"`), which selects a recommended fallback model based on the refusal category instead of a hand-maintained model list. Server-side fallback is in beta; the `"default"` mode requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). 3. **Cache shorter prompts:** The minimum cacheable prompt length on Claude Opus 5 is 512 tokens, down from 1,024 tokens on Claude Opus 4.8. Prompts that were too short to cache on Claude Opus 4.8 can now create cache entries, with no code changes required. See [Prompt caching](/docs/en/build-with-claude/prompt-caching#cache-limitations) for per-model minimums. @@ -783,9 +783,9 @@ These are not required but will improve your experience: * Update the model name from `claude-opus-4-8` to `claude-opus-5`. * Review workloads that ran without a `thinking` field: they run with thinking on Claude Opus 5. Revisit `max_tokens`, which remains a hard limit on total output (thinking plus response text), or pass `thinking: {type: "disabled"}` at effort `high` or below to preserve the old behavior. If you disable thinking, review [Running with thinking disabled](/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5#running-with-thinking-disabled) for the output artifacts that can appear and their prompting mitigations. * Audit requests that disable thinking: `thinking: {type: "disabled"}` with effort `xhigh` or `max` returns a 400 error, enforced on each request. Re-enable thinking or lower the effort to `high` or below. -* Re-evaluate your `effort` setting: run a fresh [effort](/docs/en/build-with-claude/effort) sweep on your own evals rather than carrying over a setting tuned for an earlier model. `low` and `medium` effort are stronger on Claude Opus 5 than on earlier Opus models and are worth testing as cost and latency controls, and test `max` effort where maximum capability matters more than token spend. If you run at `xhigh` or `max` effort, raise `max_tokens` to at least 64k as a starting point. +* Re-evaluate your `effort` setting: run a fresh [effort](/docs/en/build-with-claude/effort) sweep on your own evals rather than carrying over a setting tuned for an earlier model. `low` and `medium` effort are worth testing as cost and latency controls, and test `max` effort where maximum capability matters more than token spend. If you run at `xhigh` or `max` effort, raise `max_tokens` to at least 64k as a starting point. * Review prompts near the caching minimum: prompts of 512 tokens or more can now create cache entries, down from 1,024 tokens on Claude Opus 4.8. -* Handle `stop_reason: "refusal"`, and consider `fallbacks: "default"` to re-run refused requests on a recommended fallback model automatically. +* Handle `stop_reason: "refusal"`, and consider `fallbacks: "default"` (beta) to re-run refused requests on a recommended fallback model automatically. * If your organization has a [Priority Tier](/docs/en/api/service-tiers#supported-models) commitment, plan capacity separately: Priority Tier is not supported on Claude Opus 5, while Claude Opus 4.8 keeps it. * For agentic workloads, consider [task budgets](/docs/en/build-with-claude/task-budgets) (beta) and mid-conversation tool changes (beta). * Re-tune length and verbosity prompts: default visible responses and written deliverables run longer on Claude Opus 5, and lowering effort reduces thinking volume without reliably shortening the visible response. Prompt explicitly for conciseness or a target length. See [Response length and verbosity](/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5#response-length-and-verbosity) and [Written deliverable length](/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5#written-deliverable-length). @@ -859,7 +859,7 @@ The following items are not breaking changes; they describe behavior differences 2. **Effort default is `high`:** The [effort parameter](/docs/en/build-with-claude/effort) default on Claude Opus 5 is `high` on the Claude API and Claude Code. If you already set effort explicitly, your setting is unchanged. -3. **Effort levels recalibrated:** The token allocation behind each effort level changes on Claude Opus 5 compared to Claude Opus 4.7, and Claude Opus 5 supports the full set of effort levels (`low`, `medium`, `high`, `xhigh`, `max`). Run a fresh effort sweep on your own evals rather than carrying over a setting tuned for Claude Opus 4.7. `low` and `medium` effort are stronger on Claude Opus 5 than on earlier Opus models and are worth testing as cost and latency controls, and test `max` effort where maximum capability matters more than token spend. If you run at `xhigh` or `max` effort, set a large `max_tokens` so the model has room to think and act; start at 64k tokens and tune from there. See [Effort](/docs/en/build-with-claude/effort). +3. **Effort levels recalibrated:** The token allocation behind each effort level changes on Claude Opus 5 compared to Claude Opus 4.7, and Claude Opus 5 supports the full set of effort levels (`low`, `medium`, `high`, `xhigh`, `max`). Run a fresh effort sweep on your own evals rather than carrying over a setting tuned for Claude Opus 4.7. `low` and `medium` effort are worth testing as cost and latency controls, and test `max` effort where maximum capability matters more than token spend. If you run at `xhigh` or `max` effort, set a large `max_tokens` so the model has room to think and act; start at 64k tokens and tune from there. See [Effort](/docs/en/build-with-claude/effort). 4. **1M context window is the default:** Claude Opus 5 serves the full 1M token [context window](/docs/en/build-with-claude/context-windows) by default with no beta header and no long-context premium. If your client passes a context-window beta header for compatibility with older models, you can remove it on Claude Opus 5. @@ -869,11 +869,13 @@ The following items are not breaking changes; they describe behavior differences 7. **Lower prompt caching minimum:** The minimum cacheable prompt length on Claude Opus 5 is 512 tokens, lower than on Claude Opus 4.7. Prompts that were too short to cache on Claude Opus 4.7 can now create cache entries, with no code changes required. See [Prompt caching](/docs/en/build-with-claude/prompt-caching#cache-limitations) for per-model minimums. +8. **Fast mode:** Claude Opus 5 supports [fast mode](/docs/en/build-with-claude/fast-mode) (research preview); fast mode is not available on Claude Opus 4.7, where requests with `speed: "fast"` return an error. The `speed: "fast"` parameter and `fast-mode-2026-02-01` beta header work unchanged on Claude Opus 5. + #### Recommended changes These are not required but will improve your experience: -1. **Consider automatic fallbacks:** Claude Opus 5 ships with cybersecurity safety classifiers whose cyber-category refusals can fall back to Claude Opus 4.8. To re-run refused requests on another model automatically, consider the `fallbacks` parameter with the `"default"` mode (`fallbacks: "default"`), which selects a recommended fallback model based on the refusal category instead of a hand-maintained model list. The `"default"` mode is in beta and requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). +1. **Consider automatic fallbacks:** Claude Opus 5 ships with cybersecurity safety classifiers whose cyber-category refusals can fall back to Claude Opus 4.8. To re-run refused requests on another model automatically, consider the `fallbacks` parameter with the `"default"` mode (`fallbacks: "default"`), which selects a recommended fallback model based on the refusal category instead of a hand-maintained model list. Server-side fallback is in beta; the `"default"` mode requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). 2. **Change tools mid-conversation (beta):** You can add or remove tools between turns of a conversation without invalidating [prompt cache](/docs/en/build-with-claude/prompt-caching) hits on earlier turns. Send the beta header `mid-conversation-tool-changes-2026-07-01`. This is useful for agentic workloads that expose tools progressively or retire them as a task advances; without it, a changed tool list invalidates the cached prefix. @@ -887,13 +889,14 @@ These are not required but will improve your experience: * Review workloads that ran without a `thinking` field: they run with thinking on Claude Opus 5. Revisit `max_tokens`, which remains a hard limit on total output (thinking plus response text), or pass `thinking: {type: "disabled"}` at effort `high` or below to preserve the old behavior. If you disable thinking, review [Running with thinking disabled](/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5#running-with-thinking-disabled) for the output artifacts that can appear and their prompting mitigations. * Audit requests that disable thinking: `thinking: {type: "disabled"}` with effort `xhigh` or `max` returns a 400 error, enforced on each request. Re-enable thinking or lower the effort to `high` or below. * If you removed sampling parameters during the Opus 4.7 migration, no action is needed. If you re-added them with a 400-retry path, remove that retry path. -* Re-evaluate your `effort` setting: run a fresh [effort](/docs/en/build-with-claude/effort) sweep on your own evals rather than carrying over a setting tuned for Claude Opus 4.7. `low` and `medium` effort are stronger on Claude Opus 5 than on earlier Opus models, and test `max` effort where maximum capability matters more than token spend. If you run at `xhigh` or `max` effort, raise `max_tokens` to at least 64k as a starting point. +* Re-evaluate your `effort` setting: run a fresh [effort](/docs/en/build-with-claude/effort) sweep on your own evals rather than carrying over a setting tuned for Claude Opus 4.7. Test `low` and `medium` effort as cost and latency controls, and `max` effort where maximum capability matters more than token spend. If you run at `xhigh` or `max` effort, raise `max_tokens` to at least 64k as a starting point. * Remove any context-window beta header. The 1M context window is the default on the Claude API, Amazon Bedrock, Google Cloud, and Microsoft Foundry. * If you rebuild conversation history to update instructions, consider switching to a mid-conversation system message to preserve prompt cache hits. -* Verify your stop-reason handling reads `stop_details` on refusals (available since Claude Opus 4.7; now publicly documented), and consider `fallbacks: "default"` to re-run refused requests on a recommended fallback model automatically. +* Verify your stop-reason handling reads `stop_details` on refusals (available since Claude Opus 4.7; now publicly documented), and consider `fallbacks: "default"` (beta) to re-run refused requests on a recommended fallback model automatically. * Review prompts near the caching minimum: prompts of 512 tokens or more can now create cache entries. * If you use [web fetch](/docs/en/agents-and-tools/tool-use/web-fetch-tool), plan an alternative: it is not available on Claude Opus 5. * If your organization has a [Priority Tier](/docs/en/api/service-tiers#supported-models) commitment, note that Priority Tier is not supported on Claude Opus 5. +* If you used fast mode on Claude Opus 4.7, no request changes are needed beyond the model ID: `speed: "fast"` and the `fast-mode-2026-02-01` beta header work unchanged on Claude Opus 5. * For agentic workloads, consider [task budgets](/docs/en/build-with-claude/task-budgets) (beta) and mid-conversation tool changes (beta). * Re-tune length and verbosity prompts, and remove verification and self-check instructions carried over from prompts tuned for earlier models. * Re-baseline cost and latency at your chosen effort level. @@ -1279,8 +1282,8 @@ The [effort parameter](/docs/en/build-with-claude/effort) allows you to tune Cla * **`max`:** Can deliver gains on the most demanding tasks but may show diminishing returns from increased token usage and can be prone to overthinking on simpler ones. Test it where maximum capability matters more than token spend. * **`xhigh`:** Extended capability for long-running agentic and coding work that needs more depth than the default. * **`high`:** The default. Balances token usage and intelligence for most tasks. -* **`medium`:** Cost-saving step-down from the default. Stronger on Claude Opus 5 than on earlier Opus models and worth testing as a cost and latency control. -* **`low`:** Most efficient. Reserve for short, scoped tasks and latency-sensitive workloads; also stronger on Claude Opus 5 than on earlier Opus models. +* **`medium`:** Cost-saving step-down from the default, worth testing as a cost and latency control. +* **`low`:** Most efficient. Reserve for short, scoped tasks and latency-sensitive workloads. If you run at `xhigh` or `max` effort, set a large `max_tokens` so the model has room to think and act; start at 64k tokens and tune from there. Effort is more important for this model than for any prior Opus. Experiment with it actively when you upgrade. @@ -1413,7 +1416,7 @@ These are not required but will improve your experience: 5. **Downsample images if high resolution is unnecessary:** Claude Opus 4.7 and later models support images up to 2576px / 3.75MP. High-res images use more tokens. If the additional image fidelity is unnecessary, downsample images before sending to Claude to avoid token-usage increases. See [Images and vision](/docs/en/build-with-claude/vision). -6. **Consider automatic fallbacks:** Claude Opus 5 ships with cybersecurity safety classifiers whose cyber-category refusals can fall back to Claude Opus 4.8. To re-run refused requests on another model automatically, consider the `fallbacks` parameter with the `"default"` mode (`fallbacks: "default"`), which selects a recommended fallback model based on the refusal category instead of a hand-maintained model list. The `"default"` mode is in beta and requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). +6. **Consider automatic fallbacks:** Claude Opus 5 ships with cybersecurity safety classifiers whose cyber-category refusals can fall back to Claude Opus 4.8. To re-run refused requests on another model automatically, consider the `fallbacks` parameter with the `"default"` mode (`fallbacks: "default"`), which selects a recommended fallback model based on the refusal category instead of a hand-maintained model list. Server-side fallback is in beta; the `"default"` mode requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). 7. **Cache shorter prompts:** The minimum cacheable prompt length on Claude Opus 5 is 512 tokens, lower than on earlier Opus models. Prompts that were too short to cache can now create cache entries, with no code changes required. See [Prompt caching](/docs/en/build-with-claude/prompt-caching#cache-limitations) for per-model minimums. diff --git a/content/en/about-claude/models/whats-new-opus-5.md b/content/en/about-claude/models/whats-new-opus-5.md index 0a7dc25f7..a0ad7c65f 100644 --- a/content/en/about-claude/models/whats-new-opus-5.md +++ b/content/en/about-claude/models/whats-new-opus-5.md @@ -18,9 +18,37 @@ For complete pricing and specs, see the [models overview](/docs/en/about-claude/ ## New features -### Full effort ladder, including `max` +### Mid-conversation tool changes (beta) + +You can add or remove tools between turns of a conversation while preserving the prompt cache, instead of resending a fixed tool list for the life of a session. Mid-conversation tool changes are in beta: include the `mid-conversation-tool-changes-2026-07-01` beta header in your requests. See [Mid-conversation tool changes](/docs/en/build-with-claude/mid-conversation-system-messages#mid-conversation-tool-changes) for usage. + +### Default fallbacks mode + +The `fallbacks` parameter supports a new `"default"` mode, which applies Anthropic's recommended fallback models by refusal category instead of a model list you maintain yourself. The entire `fallbacks` parameter is in beta. Use the `server-side-fallback-2026-07-01` beta header, which supports both the `"default"` mode and explicit model lists (the earlier `server-side-fallback-2026-06-01` header accepts only explicit lists). See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). + +### Lower prompt cache minimum + +The minimum cacheable prompt length on Claude Opus 5 is 512 tokens, down from 1,024 tokens on Claude Opus 4.8. Prompts that were too short to cache on Claude Opus 4.8 can now create cache entries with no code changes. See [Prompt caching](/docs/en/build-with-claude/prompt-caching#cache-limitations) for per-model minimums. + +### Fast mode + +[Fast mode](/docs/en/build-with-claude/fast-mode) (research preview) is available for Claude Opus 5 on the Claude API only; it is not currently available on Amazon Bedrock, Google Cloud, or Microsoft Foundry. Fast mode for Claude Opus 5 is priced at $10 per million input tokens and $50 per million output tokens. See [Fast mode](/docs/en/build-with-claude/fast-mode) for access, supported models, and pricing. + +## Behavior changes + +### Thinking on by default + +On Claude Opus 4.8, requests run without thinking unless you set `thinking: {"type": "adaptive"}`. On Claude Opus 5, the same requests run with [thinking](/docs/en/build-with-claude/thinking) on: the model decides when and how much to think on each turn, and the [effort parameter](/docs/en/build-with-claude/effort) is the control for thinking depth. The wire value is unchanged; `thinking: {"type": "adaptive"}` remains valid and equivalent to the default. + +Because `max_tokens` is a hard limit on total output (thinking plus response text), revisit it for workloads that ran without thinking on Claude Opus 4.8. + +The API keeps the option to disable thinking, subject to the effort restriction below. + +### Effort matters more + +Claude Opus 5 converts additional [effort](/docs/en/build-with-claude/effort) into better results more reliably than any earlier Opus model, so the effort level you choose carries more weight. The full ladder is available: `low`, `medium`, `high`, `xhigh`, and `max`, with `max` as the top tier for the deepest possible reasoning. Start at the default, `high`, and adjust in either direction based on your evals: step down where quality holds to save tokens and latency, or step up for the most demanding work. When running at `xhigh` or `max` effort, set a large `max_tokens` so the model has room to think and act across subagents and tool calls. -Claude Opus 5 supports the full [effort](/docs/en/build-with-claude/effort) ladder, `low`, `medium`, `high`, `xhigh`, and `max`, with `max` as the explicit top tier for the deepest possible reasoning. No beta header is required. When running at `xhigh` or `max` effort, set a large `max_tokens` so the model has room to think and act across subagents and tool calls. +This request turns effort all the way up to `max`: ```bash cURL @@ -204,32 +232,6 @@ Claude Opus 5 supports the full [effort](/docs/en/build-with-claude/effort) ladd Thinking is [on by default](#thinking-on-by-default) on Claude Opus 5, so no `thinking` field is needed. -### Mid-conversation tool changes (beta) - -You can add or remove tools between turns of a conversation while preserving the prompt cache, instead of resending a fixed tool list for the life of a session. Mid-conversation tool changes are in beta: include the `mid-conversation-tool-changes-2026-07-01` beta header in your requests. See [Mid-conversation system messages](/docs/en/build-with-claude/mid-conversation-system-messages) for usage. - -### Default fallbacks mode - -The `fallbacks` parameter supports a new `"default"` mode, which applies Anthropic's recommended fallback models by refusal category instead of a model list you maintain yourself. Server-side fallback is in beta, and the `"default"` mode requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). - -### Lower prompt cache minimum - -The minimum cacheable prompt length on Claude Opus 5 is 512 tokens, down from 1,024 tokens on Claude Opus 4.8. Prompts that were too short to cache on Claude Opus 4.8 can now create cache entries with no code changes. See [Prompt caching](/docs/en/build-with-claude/prompt-caching#cache-limitations) for per-model minimums. - -### Fast mode - -[Fast mode](/docs/en/build-with-claude/fast-mode) (research preview) is available for Claude Opus 5 on the Claude API only; it is not currently available on Amazon Bedrock, Google Cloud, or Microsoft Foundry. Fast mode for Claude Opus 5 is priced at $10 per million input tokens and $50 per million output tokens. See [Fast mode](/docs/en/build-with-claude/fast-mode) for access, supported models, and pricing. - -## Behavior changes - -### Thinking on by default - -On Claude Opus 4.8, requests run without thinking unless you set `thinking: {"type": "adaptive"}`. On Claude Opus 5, the same requests run with [thinking](/docs/en/build-with-claude/thinking) on: the model decides when and how much to think on each turn, and the [effort parameter](/docs/en/build-with-claude/effort) is the control for thinking depth. The wire value is unchanged; `thinking: {"type": "adaptive"}` remains valid and equivalent to the default. - -Because `max_tokens` is a hard limit on total output (thinking plus response text), revisit it for workloads that ran without thinking on Claude Opus 4.8. - -The API keeps the option to disable thinking, subject to the effort restriction below. - ### Disabling thinking requires effort `high` or below On Claude Opus 5, `thinking: {"type": "disabled"}` is accepted only when the effort level is `high` or below. Setting `thinking: {"type": "disabled"}` with effort `xhigh` or `max` returns a 400 error. This is generally available behavior on Claude Opus 5 onward, enforced on each request, and it is a breaking change from Claude Opus 4.8, where disabling thinking was independent of the effort level. If you disable thinking at high effort levels today, either keep thinking disabled and set effort to `high` or below, or keep the effort level and remove the `thinking` field. diff --git a/content/en/about-claude/pricing.md b/content/en/about-claude/pricing.md index 705327841..1a6a4ce0c 100644 --- a/content/en/about-claude/pricing.md +++ b/content/en/about-claude/pricing.md @@ -161,15 +161,13 @@ For more information, see [Data residency](/docs/en/manage-claude/data-residency ### Fast mode pricing -[Fast mode](/docs/en/build-with-claude/fast-mode), in research preview, provides significantly faster output for Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7 at premium pricing. Fast mode pricing applies across the full context window, including requests over 200k input tokens. Fast mode is available on the Claude API (first-party) only; it is not available on Claude Platform on AWS or partner-operated cloud platforms. +[Fast mode](/docs/en/build-with-claude/fast-mode), in research preview, provides significantly faster output for Claude Opus 5 and Claude Opus 4.8 at premium pricing. Fast mode pricing applies across the full context window, including requests over 200k input tokens. Fast mode is available on the Claude API (first-party) only; it is not available on Claude Platform on AWS or partner-operated cloud platforms. -| Model | Input | Output | -| --------------- | ---------- | ----------- | -| Claude Opus 5 | $10 / MTok | $50 / MTok | -| Claude Opus 4.8 | $10 / MTok | $50 / MTok | -| Claude Opus 4.7 | $30 / MTok | $150 / MTok | +| Model | Input | Output | +| ------------------------------- | ---------- | ---------- | +| Claude Opus 5 / Claude Opus 4.8 | $10 / MTok | $50 / MTok | -Fast mode for Claude Opus 4.7 is deprecated and will be removed on July 24, 2026. As of June 29, 2026, fast mode is not available on Claude Opus 4.6: requests to `claude-opus-4-6` with `speed: "fast"` run at standard speed and are billed at standard rates. See [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models). +Fast mode is not available on Claude Opus 4.7 (requests with `speed: "fast"` return an error) or Claude Opus 4.6 (requests run at standard speed and are billed at standard rates). See [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models). Fast mode pricing stacks with other pricing modifiers: diff --git a/content/en/agents-and-tools/agent-skills/claude-api-skill.md b/content/en/agents-and-tools/agent-skills/claude-api-skill.md index 40ceff430..29b2639f3 100644 --- a/content/en/agents-and-tools/agent-skills/claude-api-skill.md +++ b/content/en/agents-and-tools/agent-skills/claude-api-skill.md @@ -121,10 +121,10 @@ The skill handles: * **Breaking parameter changes**, such as removing `temperature`, `top_p`, and `top_k` for Claude Opus 4.8 and Claude Opus 4.7, and converting `thinking: {type: "enabled", budget_tokens: N}` to `thinking: {type: "adaptive"}` * **Prefill replacement**, converting assistant-message prefill patterns to [structured outputs](/docs/en/build-with-claude/structured-outputs) where applicable * **Beta header cleanup**, removing headers that are GA on the target model (for example, `effort-2025-11-24`, `fine-grained-tool-streaming-2025-05-14`, `interleaved-thinking-2025-05-14`) and switching back from `client.beta.messages.create` to `client.messages.create` -* **Effort calibration**, recommending an `output_config.effort` starting point for the target model (for example, `xhigh` for coding and agentic use cases on Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7) +* **Effort calibration**, recommending an `output_config.effort` starting point for the target model (for example, the default `high` on Claude Opus 5, and `xhigh` for coding and agentic use cases on Claude Opus 4.8 and Claude Opus 4.7) * **Prompt-behavior tuning**, flagging length-control, tool-triggering, subagent, and instruction-following prompts that may behave differently on the target model * **Silent default handling**, opting back into thinking summarization (`thinking.display: "summarized"`) when reasoning is surfaced to users on Claude Opus 4.8 and Claude Opus 4.7 -* **Refusal fallback configuration**, adding `stop_reason: "refusal"` handling before reading response content and setting up a [fallback retry path](/docs/en/build-with-claude/refusals-and-fallback) when the target is Claude Fable 5 (the server-side `fallbacks` parameter, the SDK refusal-fallback middleware, or a fallback-credit retry), and updating fallback code written against earlier preview shapes +* **Refusal fallback configuration**, adding `stop_reason: "refusal"` handling before reading response content and setting up a [fallback retry path](/docs/en/build-with-claude/refusals-and-fallback) when the target is Claude Fable 5 or Claude Opus 5 (the server-side `fallbacks` parameter, typically in its `"default"` mode, the SDK refusal-fallback middleware, or a fallback-credit retry), and updating fallback code written against earlier preview shapes As it edits, the skill explains each change and its motivation inline. On completion, it produces a checklist of items that require manual verification (typically integration tests, length-control prompt tuning, and cost/rate-limit re-baselining). diff --git a/content/en/agents-and-tools/mcp-connector.md b/content/en/agents-and-tools/mcp-connector.md index 0ca38c66f..0cd3af4fa 100644 --- a/content/en/agents-and-tools/mcp-connector.md +++ b/content/en/agents-and-tools/mcp-connector.md @@ -664,7 +664,7 @@ Install both the Anthropic SDK and the MCP SDK: ```kotlin - implementation("com.anthropic:anthropic-java-mcp:2.50.0") + implementation("com.anthropic:anthropic-java-mcp:2.52.0") ``` @@ -673,7 +673,7 @@ Install both the Anthropic SDK and the MCP SDK: com.anthropic anthropic-java-mcp - 2.50.0 + 2.52.0 ``` diff --git a/content/en/agents-and-tools/mcp-tunnels/deploy-compose.md b/content/en/agents-and-tools/mcp-tunnels/deploy-compose.md index 60f006c69..e64714678 100644 --- a/content/en/agents-and-tools/mcp-tunnels/deploy-compose.md +++ b/content/en/agents-and-tools/mcp-tunnels/deploy-compose.md @@ -80,7 +80,7 @@ This guide provides one reference approach using Docker Compose. You are respons cat > docker-compose.yaml <<'EOF' services: setup: - image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:9d4c80593b559fc3ca3814866418744fa94858b02a4d4a4cc52d423e732ccc81 + image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:efb27b299d627e4134815663cb8896641eeaee025d734c0f695582b4df38f013 entrypoint: ["/setup"] command: - init @@ -124,7 +124,7 @@ This guide provides one reference approach using Docker Compose. You are respons max-file: "3" mcp-proxy: - image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:9d4c80593b559fc3ca3814866418744fa94858b02a4d4a4cc52d423e732ccc81 + image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:efb27b299d627e4134815663cb8896641eeaee025d734c0f695582b4df38f013 volumes: - ./config/mcp-proxy.yaml:/etc/mcp-gateway/config.yaml:ro - ./data:/data:ro @@ -339,7 +339,7 @@ This guide provides one reference approach using Docker Compose. You are respons max-file: "3" mcp-proxy: - image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:9d4c80593b559fc3ca3814866418744fa94858b02a4d4a4cc52d423e732ccc81 + image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:efb27b299d627e4134815663cb8896641eeaee025d734c0f695582b4df38f013 volumes: - ./config/mcp-proxy.yaml:/etc/mcp-gateway/config.yaml:ro - ./data:/data:ro diff --git a/content/en/agents-and-tools/mcp-tunnels/deploy-helm.md b/content/en/agents-and-tools/mcp-tunnels/deploy-helm.md index e43db0634..c66bccb48 100644 --- a/content/en/agents-and-tools/mcp-tunnels/deploy-helm.md +++ b/content/en/agents-and-tools/mcp-tunnels/deploy-helm.md @@ -124,7 +124,7 @@ The Install steps that follow note where to add the corresponding route. ```bash helm show values \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 > values.yaml + --version 2.0.2 > values.yaml ``` @@ -168,7 +168,7 @@ The Install steps that follow note where to add the corresponding route. ```bash helm template mcp-tunnel \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 \ + --version 2.0.2 \ -n mcp-tunnel \ -f values.yaml > rendered.yaml ``` @@ -178,7 +178,7 @@ The Install steps that follow note where to add the corresponding route. ```bash helm install mcp-tunnel \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 \ + --version 2.0.2 \ --namespace mcp-tunnel --create-namespace \ -f values.yaml ``` @@ -269,7 +269,7 @@ The Install steps that follow note where to add the corresponding route. ```bash helm show values \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 > values.yaml + --version 2.0.2 > values.yaml ``` @@ -307,7 +307,7 @@ The Install steps that follow note where to add the corresponding route. ```bash helm template mcp-tunnel \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 \ + --version 2.0.2 \ -n mcp-tunnel \ -f values.yaml > rendered.yaml ``` @@ -317,7 +317,7 @@ The Install steps that follow note where to add the corresponding route. ```bash helm install mcp-tunnel \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 \ + --version 2.0.2 \ --namespace mcp-tunnel --create-namespace \ -f values.yaml ``` @@ -361,7 +361,7 @@ For routine changes such as routes, replica count, or NetworkPolicy: ```bash helm upgrade mcp-tunnel \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 \ + --version 2.0.2 \ -n mcp-tunnel \ -f values.yaml ``` @@ -377,7 +377,7 @@ With programmatic access, increment `tunnel.tokenVersion` in `values.yaml` and u ```bash helm upgrade mcp-tunnel \ oci://us-docker.pkg.dev/anthropic-public-registry/charts/mcp-tunnel \ - --version 2.0.1 \ + --version 2.0.2 \ -n mcp-tunnel \ -f values.yaml \ --set setup.force=true diff --git a/content/en/agents-and-tools/mcp-tunnels/quickstart.md b/content/en/agents-and-tools/mcp-tunnels/quickstart.md index 522a00ba2..3bc054504 100644 --- a/content/en/agents-and-tools/mcp-tunnels/quickstart.md +++ b/content/en/agents-and-tools/mcp-tunnels/quickstart.md @@ -171,7 +171,7 @@ A two-container [tunnel stack](/docs/en/agents-and-tools/mcp-tunnels/concepts#co cat > docker-compose.yaml <<'EOF' services: mcp-proxy: - image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:9d4c80593b559fc3ca3814866418744fa94858b02a4d4a4cc52d423e732ccc81 + image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:efb27b299d627e4134815663cb8896641eeaee025d734c0f695582b4df38f013 volumes: - ./config/mcp-proxy.yaml:/etc/mcp-gateway/config.yaml:ro - ./data:/data:ro @@ -211,7 +211,7 @@ A two-container [tunnel stack](/docs/en/agents-and-tools/mcp-tunnels/concepts#co @' services: mcp-proxy: - image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:9d4c80593b559fc3ca3814866418744fa94858b02a4d4a4cc52d423e732ccc81 + image: us-docker.pkg.dev/anthropic-public-registry/images/mcp-proxy@sha256:efb27b299d627e4134815663cb8896641eeaee025d734c0f695582b4df38f013 volumes: - ./config/mcp-proxy.yaml:/etc/mcp-gateway/config.yaml:ro - ./data:/data:ro diff --git a/content/en/api/rate-limits.md b/content/en/api/rate-limits.md index 81515663e..425eeb044 100644 --- a/content/en/api/rate-limits.md +++ b/content/en/api/rate-limits.md @@ -19,7 +19,7 @@ The API enforces service-configured limits at the organization level, but you ma * Limits are designed to prevent API abuse, while minimizing impact on common customer usage patterns. * Limits are defined by **usage tier**. Organizations are placed on a tier automatically based on usage history and account standing and can move to a higher tier over time as they use the API. -* New organizations and organizations with limited usage history may start with limits below the standard limits shown on this page while account history is established. These starting limits are part of how we prevent fraud and abuse, and they increase automatically as your organization builds usage history. +* New organizations and organizations with limited usage history may start with limits below the standard limits shown on this page while account history is established. These starting limits are part of how Anthropic prevents fraud and abuse, and they increase automatically as your organization builds usage history. * Limits are set at the organization level. You can see your organization's tier and current limits on the [Limits](/settings/limits) page in the [Claude Console](/). * You might hit rate limits over shorter time intervals. For instance, a rate of 60 requests per minute (RPM) might be enforced as 1 request per second. Short bursts of requests can exceed the limit and trigger rate limit errors. * The following limits are the standard limits for each tier. If you need higher limits, see [Requesting higher limits](#requesting-higher-limits). @@ -206,7 +206,7 @@ The Message Batches API has its own set of rate limits which are shared across a ### Fast mode rate limits -When using [fast mode](/docs/en/build-with-claude/fast-mode) (research preview) with `speed: "fast"` on Claude Opus 5, Opus 4.8, or Opus 4.7, dedicated rate limits apply that are separate from standard Opus rate limits. When fast mode rate limits are exceeded, the API returns a `429` error with a `retry-after` header. Fast mode is not available on Claude Opus 4.6: requests to `claude-opus-4-6` with `speed: "fast"` run at standard speed. See [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models). +When using [fast mode](/docs/en/build-with-claude/fast-mode) (research preview) with `speed: "fast"` on Claude Opus 5 or Opus 4.8, dedicated rate limits apply that are separate from standard Opus rate limits. When fast mode rate limits are exceeded, the API returns a `429` error with a `retry-after` header. Fast mode is not available on Claude Opus 4.7 (requests return an error) or Claude Opus 4.6 (requests to `claude-opus-4-6` with `speed: "fast"` run at standard speed). See [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models). The response includes `anthropic-fast-*` headers that indicate your fast mode rate limit status. See [Fast mode rate limits](/docs/en/build-with-claude/fast-mode#rate-limits) for details on these headers. diff --git a/content/en/build-with-claude/claude-in-amazon-bedrock.md b/content/en/build-with-claude/claude-in-amazon-bedrock.md index 013dc0e38..4e4fddcd6 100644 --- a/content/en/build-with-claude/claude-in-amazon-bedrock.md +++ b/content/en/build-with-claude/claude-in-amazon-bedrock.md @@ -102,7 +102,7 @@ Anthropic's [client SDKs](/docs/en/cli-sdks-libraries/overview) support Claude i ```kotlin - implementation("com.anthropic:anthropic-java-bedrock:2.50.0") + implementation("com.anthropic:anthropic-java-bedrock:2.52.0") ``` @@ -111,7 +111,7 @@ Anthropic's [client SDKs](/docs/en/cli-sdks-libraries/overview) support Claude i com.anthropic anthropic-java-bedrock - 2.50.0 + 2.52.0 ``` diff --git a/content/en/build-with-claude/claude-in-microsoft-foundry.md b/content/en/build-with-claude/claude-in-microsoft-foundry.md index 449983cc3..dae5e67e5 100644 --- a/content/en/build-with-claude/claude-in-microsoft-foundry.md +++ b/content/en/build-with-claude/claude-in-microsoft-foundry.md @@ -77,7 +77,7 @@ Anthropic's [client SDKs](/docs/en/cli-sdks-libraries/overview) support Foundry ```kotlin - implementation("com.anthropic:anthropic-java-foundry:2.50.0") + implementation("com.anthropic:anthropic-java-foundry:2.52.0") // For Entra ID authentication, also add the Azure Identity library implementation("com.azure:azure-identity:1.18.3") @@ -89,7 +89,7 @@ Anthropic's [client SDKs](/docs/en/cli-sdks-libraries/overview) support Foundry com.anthropic anthropic-java-foundry - 2.50.0 + 2.52.0 diff --git a/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md b/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md index 093f323a9..c995158ed 100644 --- a/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md +++ b/content/en/build-with-claude/claude-on-amazon-bedrock-legacy.md @@ -54,14 +54,14 @@ Anthropic's [client SDKs](/docs/en/cli-sdks-libraries/overview) support Bedrock. ```groovy Gradle - implementation("com.anthropic:anthropic-java-bedrock:2.50.0") + implementation("com.anthropic:anthropic-java-bedrock:2.52.0") ``` ```xml Maven com.anthropic anthropic-java-bedrock - 2.50.0 + 2.52.0 ``` diff --git a/content/en/build-with-claude/claude-on-vertex-ai.md b/content/en/build-with-claude/claude-on-vertex-ai.md index d3eceaeeb..51caf80e4 100644 --- a/content/en/build-with-claude/claude-on-vertex-ai.md +++ b/content/en/build-with-claude/claude-on-vertex-ai.md @@ -45,20 +45,20 @@ First, install Anthropic's [client SDK](/docs/en/cli-sdks-libraries/overview) fo ```groovy Gradle - implementation("com.anthropic:anthropic-java:2.50.0") - implementation("com.anthropic:anthropic-java-vertex:2.50.0") + implementation("com.anthropic:anthropic-java:2.52.0") + implementation("com.anthropic:anthropic-java-vertex:2.52.0") ``` ```xml Maven com.anthropic anthropic-java - 2.50.0 + 2.52.0 com.anthropic anthropic-java-vertex - 2.50.0 + 2.52.0 ``` diff --git a/content/en/build-with-claude/claude-platform-on-aws.md b/content/en/build-with-claude/claude-platform-on-aws.md index cde58e881..1a7eea04f 100644 --- a/content/en/build-with-claude/claude-platform-on-aws.md +++ b/content/en/build-with-claude/claude-platform-on-aws.md @@ -305,14 +305,14 @@ Anthropic's [client SDKs](/docs/en/cli-sdks-libraries/overview) support Claude P ```kotlin Gradle - implementation("com.anthropic:anthropic-java-aws:2.50.0") + implementation("com.anthropic:anthropic-java-aws:2.52.0") ``` ```xml Maven com.anthropic anthropic-java-aws - 2.50.0 + 2.52.0 ``` diff --git a/content/en/build-with-claude/effort.md b/content/en/build-with-claude/effort.md index 4301759ac..51e20887b 100644 --- a/content/en/build-with-claude/effort.md +++ b/content/en/build-with-claude/effort.md @@ -100,7 +100,7 @@ When running Claude Opus 4.8 at `xhigh` or `max` effort, set a large `max_tokens ### Recommended effort levels for Claude Opus 5 -Claude Opus 5 supports all five effort levels. **Start with `xhigh` for coding and agentic work**, and use `high` for most other intelligence-sensitive workloads. `low` and `medium` effort are stronger on Claude Opus 5 than on earlier Opus models: use them liberally as your primary control for token cost and response time wherever your evals show quality holds, and step up to `max` when a task justifies unconstrained token spending. If you carried effort settings over from an earlier model, run a fresh effort sweep on your evals rather than reusing them. +Claude Opus 5 supports all five effort levels. **Start with `high`, the default**, and adjust based on your evals: step up to `xhigh` for demanding coding and agentic work, or to `max` when a task justifies unconstrained token spending, and use `low` and `medium` liberally as your primary control for token cost and response time wherever your evals show quality holds. If you carried effort settings over from an earlier model, run a fresh effort sweep on your evals rather than reusing them. Effort controls thinking volume, not visible response length: on Claude Opus 5, changing effort does not reliably shorten responses, so [prompt for length](/docs/en/build-with-claude/prompt-engineering/prompting-claude-opus-5#response-length-and-verbosity) instead. @@ -250,7 +250,7 @@ Reduce effort if a task completes but takes longer than necessary, or if you wan Message response = client.messages().create(params); response.content().stream() .flatMap(block -> block.text().stream()) - .forEach(textBlock -> System.out.println(textBlock.text())); + .forEach(textBlock -> IO.println(textBlock.text())); ``` ```php PHP @@ -300,10 +300,6 @@ Reduce effort if a task completes but takes longer than necessary, or if you wan * Use **medium effort** as a balanced option when you want solid performance without the full token expenditure of high effort. * Use **low effort** when you're optimizing for speed (because Claude answers with fewer tokens) or cost. For example, simple classification tasks, quick lookups, or high-volume use cases where marginal quality improvements don't justify additional latency or spend. - - **Claude Code's ultracode mode:** ultracode appears in Claude Code's effort menu, but it is not an additional API effort level. The values documented on this page are the complete set the API accepts. Ultracode pairs the `xhigh` effort level with standing permission for Claude Code to launch multiagent workflows, granted through [Mid-conversation system messages](/docs/en/build-with-claude/mid-conversation-system-messages). To build similar behavior with the API, see [Build an orchestration mode](/docs/en/build-with-claude/mid-conversation-effort-example). - - ## Effort with tool use When using tools, the effort parameter affects both the explanations around tool calls and the tool calls themselves. Lower effort levels tend to: diff --git a/content/en/build-with-claude/fallback-credit.md b/content/en/build-with-claude/fallback-credit.md index 7a0b7a218..168bb8787 100644 --- a/content/en/build-with-claude/fallback-credit.md +++ b/content/en/build-with-claude/fallback-credit.md @@ -14,7 +14,7 @@ You need this page only when you build the retry yourself: over raw HTTP or with - Send the request that may be refused with the `anthropic-beta: fallback-credit-2026-06-01` header. The `server-side-fallback-2026-06-01` header also grants the same fields. + Send the request that may be refused with the `anthropic-beta: fallback-credit-2026-07-01` header. The `server-side-fallback-2026-07-01` header also grants the same fields, and the earlier `fallback-credit-2026-06-01` header remains accepted and grants the same fields. @@ -31,7 +31,7 @@ You need this page only when you build the retry yourself: over raw HTTP or with - Send the retry with the same `fallback-credit-2026-06-01` beta header. The retry needs the header to redeem the token. + Send the retry with the same `fallback-credit-2026-07-01` beta header. The retry needs the header to redeem the token. @@ -52,7 +52,7 @@ The following example makes a request that may be refused and redeems the credit response=$(curl --fail-with-body -sS https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ - -H "anthropic-beta: fallback-credit-2026-06-01" \ + -H "anthropic-beta: fallback-credit-2026-07-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-fable-5", @@ -68,7 +68,7 @@ The following example makes a request that may be refused and redeems the credit response=$(curl --fail-with-body -sS https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ - -H "anthropic-beta: fallback-credit-2026-06-01" \ + -H "anthropic-beta: fallback-credit-2026-07-01" \ -H "content-type: application/json" \ -d "$(jq -n --arg token "${token}" '{ model: "claude-opus-4-8", @@ -88,7 +88,7 @@ The following example makes a request that may be refused and redeems the credit --model claude-fable-5 \ --max-tokens 1024 \ --message '{"role":"user","content":"Hello, Claude"}' \ - --beta fallback-credit-2026-06-01 \ + --beta fallback-credit-2026-07-01 \ --format json) # A refusal carries a one-time credit token in stop_details @@ -101,7 +101,7 @@ The following example makes a request that may be refused and redeems the credit --max-tokens 1024 \ --message '{"role":"user","content":"Hello, Claude"}' \ --fallback-credit-token "${token}" \ - --beta fallback-credit-2026-06-01 \ + --beta fallback-credit-2026-07-01 \ --format json) fi @@ -120,7 +120,7 @@ The following example makes a request that may be refused and redeems the credit def send(model: str, body: dict[str, object]) -> BetaMessage: return client.beta.messages.create( - model=model, betas=["fallback-credit-2026-06-01"], **body + model=model, betas=["fallback-credit-2026-07-01"], **body ) @@ -171,7 +171,7 @@ The following example makes a request that may be refused and redeems the credit model: "claude-fable-5", max_tokens: 1024, messages: [{ role: "user", content: "Hello, Claude" }], - betas: ["fallback-credit-2026-06-01"] + betas: ["fallback-credit-2026-07-01"] }; let response = await client.beta.messages.create(request); @@ -241,7 +241,7 @@ The following example makes a request that may be refused and redeems the credit ```csharp C# var client = new AnthropicClient(); - const string beta = "fallback-credit-2026-06-01"; + const string beta = "fallback-credit-2026-07-01"; List requestMessages = [ @@ -326,7 +326,7 @@ The following example makes a request that may be refused and redeems the credit request := anthropic.BetaMessageNewParams{ MaxTokens: 1024, - Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaFallbackCredit2026_06_01}, + Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaFallbackCredit2026_07_01}, Messages: []anthropic.BetaMessageParam{ anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Hello, Claude")), }, @@ -355,7 +355,9 @@ The following example makes a request that may be refused and redeems the credit details := response.StopDetails if token := details.FallbackCreditToken; token != "" { exactBody := request - exactBody.FallbackCreditToken = anthropic.String(token) + exactBody.FallbackCreditToken = anthropic.BetaMessageNewParamsFallbackCreditTokenUnion{ + OfString: anthropic.String(token), + } attempt := exactBody // Prefer the continuation shape unless the claim is false if details.FallbackHasPrefillClaim || !details.JSON.FallbackHasPrefillClaim.Valid() { @@ -399,7 +401,7 @@ The following example makes a request that may be refused and redeems the credit return MessageCreateParams.builder() .maxTokens(1024L) .addUserMessage("Hello, Claude") - .addBeta(AnthropicBeta.FALLBACK_CREDIT_2026_06_01); + .addBeta(AnthropicBeta.FALLBACK_CREDIT_2026_07_01); } BetaMessage send(Model model, MessageCreateParams.Builder body) { @@ -452,7 +454,7 @@ The following example makes a request that may be refused and redeems the credit ```php PHP $client = new Client(); - $beta = 'fallback-credit-2026-06-01'; + $beta = 'fallback-credit-2026-07-01'; $messages = [['role' => 'user', 'content' => 'Hello, Claude']]; $send = fn (string $model, array $messages, ?string $token = null) => $client->beta->messages->create( @@ -515,7 +517,7 @@ The following example makes a request that may be refused and redeems the credit } send_message = ->(model, body) do - client.beta.messages.create(model:, betas: ["fallback-credit-2026-06-01"], **body) + client.beta.messages.create(model:, betas: ["fallback-credit-2026-07-01"], **body) end response = send_message.call("claude-fable-5", request) @@ -565,7 +567,7 @@ Fallback credit is in beta on the Claude API, Amazon Bedrock, Claude Platform on The retry model must be one of the refused model's permitted fallback targets. Claude Fable 5's permitted targets are Claude Opus 4.8 (`claude-opus-4-8`) and Claude Opus 5 (`claude-opus-5`). - On the Claude API and Claude Platform on AWS, the target list is published as `allowed_fallback_models` on each model's entry in the [Models API](/docs/en/api/models/list) when the `server-side-fallback-2026-06-01` beta header is set. The list is not yet visible under the `fallback-credit-*` header alone. It is not exposed on Amazon Bedrock, Google Cloud, or Microsoft Foundry. + On the Claude API and Claude Platform on AWS, the target list is published as `allowed_fallback_models` on each model's entry in the [Models API](/docs/en/api/models/list) when the `server-side-fallback-2026-07-01` beta header is set. The list is not yet visible under the `fallback-credit-*` header alone. It is not exposed on Amazon Bedrock, Google Cloud, or Microsoft Foundry. ## Checking that the credit applied diff --git a/content/en/build-with-claude/fast-mode.md b/content/en/build-with-claude/fast-mode.md index 8f38fcfd8..ce229621c 100644 --- a/content/en/build-with-claude/fast-mode.md +++ b/content/en/build-with-claude/fast-mode.md @@ -4,7 +4,7 @@ Get up to 2.5x higher output tokens per second from supported Claude Opus models --- -Fast mode delivers up to 2.5x higher output tokens per second from Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7 at premium pricing. Set `speed: "fast"` with the `fast-mode-2026-02-01` beta header on your request to opt in. +Fast mode delivers up to 2.5x higher output tokens per second from Claude Opus 5 and Claude Opus 4.8 at premium pricing. Set `speed: "fast"` with the `fast-mode-2026-02-01` beta header on your request to opt in. Fast mode is in research preview. Contact your account manager to request access. If you do not have an account manager, [join the waitlist](https://claude.com/fast-mode) for fast mode. @@ -20,18 +20,17 @@ Fast mode is supported on the following models: * Claude Opus 5 (claude-opus-5) * Claude Opus 4.8 (claude-opus-4-8) -* Claude Opus 4.7 (claude-opus-4-7) Fast mode for Claude Opus 5 and Claude Opus 4.8 is available as a research preview on the Claude API, including [Claude Managed Agents](/docs/en/managed-agents/overview), only. It is not available on Amazon Bedrock, Google Cloud, or Microsoft Foundry. - - Fast mode for Claude Opus 4.7 is deprecated as of June 25, 2026, and will be removed on July 24, 2026. After removal, requests to `claude-opus-4-7` with `speed: "fast"` will return an error; unlike Claude Opus 4.6 (see the following note), Claude Opus 4.7 does not fall back to standard speed. The model itself remains available at standard speed. To continue using fast mode, migrate to Claude Opus 4.8. - + + Fast mode is not available on Claude Opus 4.7. Requests to `claude-opus-4-7` with `speed: "fast"` return an error; unlike Claude Opus 4.6 (see the following note), requests do not fall back to standard speed. The model itself remains available at standard speed. To continue using fast mode, migrate to [Claude Opus 5](/docs/en/about-claude/models/migration-guide#migrating-from-claude-opus-47) or Claude Opus 4.8. + - As of June 29, 2026, fast mode is not available on Claude Opus 4.6. Requests to `claude-opus-4-6` with `speed: "fast"` do not return an error: they run at standard speed and are billed at [standard rates](/docs/en/about-claude/pricing) rather than fast mode's premium rates, and the response reports [`usage.speed: "standard"`](#checking-which-speed-was-used). To continue using fast mode, migrate to [Claude Opus 4.8](/docs/en/about-claude/models/migration-guide). + Fast mode is not available on Claude Opus 4.6. Requests to `claude-opus-4-6` with `speed: "fast"` do not return an error: they run at standard speed and are billed at [standard rates](/docs/en/about-claude/pricing) rather than fast mode's premium rates, and the response reports [`usage.speed: "standard"`](#checking-which-speed-was-used). To continue using fast mode, migrate to [Claude Opus 5](/docs/en/about-claude/models/migration-guide#migrating-from-claude-opus-46) or Claude Opus 4.8. ## How fast mode works @@ -212,13 +211,11 @@ Fast mode runs the same model with a faster inference configuration. There is no ## Pricing -Fast mode is priced at a per-model multiplier on standard rates across the full context window, including requests over 200k input tokens. The following table shows fast mode pricing for each supported model: +Fast mode is priced at a multiplier on standard rates across the full context window, including requests over 200k input tokens. The following table shows fast mode pricing for the supported models: -| Model | Input | Output | -| --------------- | -------------- | --------------- | -| Claude Opus 5 | $10 USD / MTok | $50 USD / MTok | -| Claude Opus 4.8 | $10 USD / MTok | $50 USD / MTok | -| Claude Opus 4.7 | $30 USD / MTok | $150 USD / MTok | +| Model | Input | Output | +| ------------------------------- | -------------- | -------------- | +| Claude Opus 5 / Claude Opus 4.8 | $10 USD / MTok | $50 USD / MTok | Fast mode pricing stacks with other pricing modifiers: @@ -246,7 +243,7 @@ For tier-specific rate limits, see the [Rate limits](/docs/en/api/rate-limits) p ## Checking which speed was used -The response `usage` object includes a `speed` field that indicates which speed was used, either `"fast"` or `"standard"`. On supported models, fast mode doesn't silently fall back to standard speed on rate limits or capacity (you'll get a `429` or `529` instead), so when you request `speed: "fast"` on Claude Opus 5, Claude Opus 4.8, or Claude Opus 4.7, `usage.speed` is `"fast"`. On Claude Opus 4.6, where fast mode is [not available](#supported-models), requests with `speed: "fast"` run at standard speed and return `usage.speed: "standard"`. Check this field to confirm which speed served a request. +The response `usage` object includes a `speed` field that indicates which speed was used, either `"fast"` or `"standard"`. Requesting `speed: "fast"` on a [model that doesn't support fast mode](#supported-models) returns an error, and so does exceeding fast mode's rate limits or capacity (a `429` or `529`). When a request with `speed: "fast"` succeeds, `usage.speed` is `"fast"`. If you are using Claude Opus 4.6 and request fast mode, its behavior is unique. Instead of returning an error like other models that don't support fast mode, it silently switches to standard speed. Though there is no error with Opus 4.6, the `speed` field accurately shows `"standard"`. ```bash cURL @@ -754,7 +751,7 @@ Because setting `max_retries` to `0` also disables retries for other transient e ## Considerations * **Prompt caching:** Switching between fast and standard speed invalidates the prompt cache. Requests at different speeds do not share cached prefixes. -* **Supported models:** Fast mode is supported on Claude Opus 5, Claude Opus 4.8, and Claude Opus 4.7 (fast mode deprecated; removal on July 24, 2026, with the model itself unaffected). On Claude Opus 4.6, requests with `speed: "fast"` do not return an error: they run at standard speed and are billed at standard rates. On any other model, sending `speed: "fast"` returns an error. +* **Supported models:** Fast mode is supported on Claude Opus 5 and Claude Opus 4.8. See [Supported models](#supported-models). * **TTFT:** Fast mode's benefits are focused on output tokens per second (OTPS), not time to first token (TTFT). * **Batch API:** Fast mode is not available with the [Batch API](/docs/en/build-with-claude/batch-processing). * **Priority Tier:** Fast mode is not available with a [Priority Tier](/docs/en/api/service-tiers) commitment. diff --git a/content/en/build-with-claude/mid-conversation-system-messages.md b/content/en/build-with-claude/mid-conversation-system-messages.md index 7c6ce0a52..c14faaa57 100644 --- a/content/en/build-with-claude/mid-conversation-system-messages.md +++ b/content/en/build-with-claude/mid-conversation-system-messages.md @@ -1,6 +1,6 @@ -# Mid-conversation system messages +# Mid-conversation system messages and tool changes -Add or update system instructions partway through a conversation without invalidating the cached prefix that came before them. +Change system instructions or tool availability partway through a conversation without invalidating the cached prefix that came before them. --- @@ -12,12 +12,442 @@ System instructions normally live in the top-level `system` field, ahead of ever Mid-conversation system messages close that gap. You append a `{"role": "system"}` message at the point in the conversation where the new instruction becomes relevant, instead of editing the top-level `system` field. The cached prefix stays the same, so the next request still reads it from cache, and the new instruction is still applied as a system instruction rather than as ordinary user text. +This page covers two features: mid-conversation system messages, which are generally available, and [mid-conversation tool changes](#mid-conversation-tool-changes), a beta introduced with Claude Opus 5 that applies the same approach to the `tools` array. + Mid-conversation system messages are available on the Claude API, [Claude in Amazon Bedrock](/docs/en/build-with-claude/claude-in-amazon-bedrock), and [Google Cloud](/docs/en/build-with-claude/claude-on-vertex-ai). - This feature is available on Claude Fable 5, [Claude Mythos 5](https://anthropic.com/glasswing), Claude Opus 4.8, and Claude Opus 5. No beta header is required. This feature is not available on Claude Sonnet 5; use the top-level `system` field instead. + This feature is available on Claude Fable 5, [Claude Mythos 5](https://anthropic.com/glasswing), Claude Opus 4.8, and Claude Opus 5. No beta header is required for mid-conversation system messages. This feature is not available on Claude Sonnet 5; use the top-level `system` field instead. + + Mid-conversation tool changes are in beta and require the `mid-conversation-tool-changes-2026-07-01` beta header. They are available on Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, and Claude Opus 5, on the Claude API, Amazon Bedrock, and Google Cloud. +## Mid-conversation tool changes + +The `tools` array sits even earlier in the hashed request prefix than the top-level `system` field, so editing it invalidates the [prompt cache](/docs/en/build-with-claude/prompt-caching) for the entire conversation. Mid-conversation tool changes, a beta introduced with Claude Opus 5, are the tools counterpart to mid-conversation system messages. Instead of fixing the tool list for the lifetime of the conversation, you change which tools are offered to the model between turns: declare the full tool set in `tools` up front, then use `tool_addition` and `tool_removal` blocks to offer a tool to the model, or withdraw it, from a specific point in the conversation onward. The `tools` array itself never changes, so the cached prefix stays intact. + +`tool_addition` and `tool_removal` are content blocks in the `content` array of a `role: "system"` message, and they can be mixed with `text` blocks in the same message. The message follows the same placement rules as any mid-conversation system message (see [Limitations](#limitations)), and the change applies from that point in the conversation onward. Each block's `tool` field references a tool rather than defining one: `{"type": "tool_reference", "name": "..."}` names a tool declared in the request's `tools` array, and [MCP connector](/docs/en/agents-and-tools/mcp-connector) tools can be referenced individually with `mcp_tool_reference` (`server_name` and `name`) or as a whole toolset with `mcp_toolset_reference` (`server_name`). Referencing a name that is not declared in `tools` returns a 400 error. + +Every tool declared in `tools` is offered to the model from the start of the conversation unless it is declared with `defer_loading: true`, which keeps it withheld until a `tool_addition` block surfaces it. `tool_addition` also re-offers a tool that an earlier `tool_removal` withdrew. + + + ```bash cURL + curl https://api.anthropic.com/v1/messages \ + -H "content-type: application/json" \ + -H "x-api-key: $ANTHROPIC_API_KEY" \ + -H "anthropic-version: 2023-06-01" \ + -H "anthropic-beta: mid-conversation-tool-changes-2026-07-01" \ + -d '{ + "model": "claude-opus-5", + "max_tokens": 1024, + "tools": [ + { + "name": "get_weather", + "description": "Get the current weather for a location.", + "input_schema": { + "type": "object", + "properties": { + "location": {"type": "string", "description": "City name"} + }, + "required": ["location"] + } + } + ], + "messages": [ + { + "role": "user", + "content": "Say OK." + }, + { + "role": "system", + "content": [ + { + "type": "tool_removal", + "tool": {"type": "tool_reference", "name": "get_weather"} + } + ] + } + ] + }' + ``` + + ```bash CLI + ant beta:messages create --beta mid-conversation-tool-changes-2026-07-01 \ + --transform 'content.#(type=="text").text' --raw-output <<'YAML' + model: claude-opus-5 + max_tokens: 1024 + tools: + - name: get_weather + description: Get the current weather for a location. + input_schema: + type: object + properties: + location: + type: string + description: City name + required: + - location + messages: + - role: user + content: Say OK. + - role: system + content: + - type: tool_removal + tool: + type: tool_reference + name: get_weather + YAML + ``` + + ```python Python + client = anthropic.Anthropic() + + response = client.beta.messages.create( + model="claude-opus-5", + max_tokens=1024, + betas=["mid-conversation-tool-changes-2026-07-01"], + # The full tool set is declared up front and never changes, so the + # cached prefix stays intact. + tools=[ + { + "name": "get_weather", + "description": "Get the current weather for a location.", + "input_schema": { + "type": "object", + "properties": { + "location": {"type": "string", "description": "City name"}, + }, + "required": ["location"], + }, + }, + ], + messages=[ + { + "role": "user", + "content": "Say OK.", + }, + # Withdraw get_weather from this point onward. The block references + # the tool by name instead of editing `tools`, so earlier turns stay + # byte-identical and the cache still hits. + { + "role": "system", + "content": [ + { + "type": "tool_removal", + "tool": {"type": "tool_reference", "name": "get_weather"}, + }, + ], + }, + ], + ) + + for block in response.content: + if block.type == "text": + print(block.text) + ``` + + ```typescript TypeScript + const client = new Anthropic(); + + const response = await client.beta.messages.create({ + model: "claude-opus-5", + max_tokens: 1024, + betas: ["mid-conversation-tool-changes-2026-07-01"], + // The full tool set is declared up front and never changes, so the + // cached prefix stays intact. + tools: [ + { + name: "get_weather", + description: "Get the current weather for a location.", + input_schema: { + type: "object", + properties: { + location: { + type: "string", + description: "City name" + } + }, + required: ["location"] + } + } + ], + messages: [ + { role: "user", content: "Say OK." }, + // Withdraw get_weather from this point onward. The block references the + // tool by name instead of editing `tools`, so earlier turns stay + // byte-identical and the cache still hits. + { + role: "system", + content: [ + { + type: "tool_removal", + tool: { type: "tool_reference", name: "get_weather" } + } + ] + } + ] + }); + + for (const block of response.content) { + if (block.type === "text") { + console.log(block.text); + } + } + ``` + + ```csharp C# + using Anthropic.Models.Beta.Messages; + using Messages = Anthropic.Models.Messages; + + AnthropicClient client = new(); + + var response = await client.Beta.Messages.Create(new MessageCreateParams + { + Model = Messages::Model.ClaudeOpus5, + MaxTokens = 1024, + Betas = ["mid-conversation-tool-changes-2026-07-01"], + // The full tool set is declared up front and never changes, so the + // cached prefix stays intact. + Tools = + [ + new BetaTool + { + Name = "get_weather", + Description = "Get the current weather for a location.", + InputSchema = new InputSchema + { + Properties = new Dictionary + { + ["location"] = JsonSerializer.SerializeToElement(new { type = "string", description = "City name" }), + }, + Required = ["location"], + }, + }, + ], + Messages = + [ + new() { Role = Role.User, Content = "Say OK." }, + // Withdraw get_weather from this point onward. The block references + // the tool by name instead of editing `Tools`, so earlier turns stay + // byte-identical and the cache still hits. + new() + { + Role = Role.System, + Content = new( + [ + new BetaRequestToolRemovalBlock + { + Tool = new BetaToolChangeToolReference { Name = "get_weather" }, + }, + ]), + }, + ], + }); + + foreach (var block in response.Content) + { + if (block.TryPickText(out var text)) + { + Console.WriteLine(text.Text); + } + } + ``` + + ```go Go + client := anthropic.NewClient() + + response, err := client.Beta.Messages.New(context.TODO(), anthropic.BetaMessageNewParams{ + Model: anthropic.ModelClaudeOpus5, + MaxTokens: 1024, + Betas: []anthropic.AnthropicBeta{"mid-conversation-tool-changes-2026-07-01"}, + // The full tool set is declared up front and never changes, so the + // cached prefix stays intact. + Tools: []anthropic.BetaToolUnionParam{ + {OfTool: &anthropic.BetaToolParam{ + Name: "get_weather", + Description: anthropic.String("Get the current weather for a location."), + InputSchema: anthropic.BetaToolInputSchemaParam{ + Properties: map[string]any{ + "location": map[string]any{ + "type": "string", + "description": "City name", + }, + }, + Required: []string{"location"}, + }, + }}, + }, + Messages: []anthropic.BetaMessageParam{ + anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Say OK.")), + // Withdraw get_weather from this point onward. The block references + // the tool by name instead of editing Tools, so earlier turns stay + // byte-identical and the cache still hits. + { + Role: anthropic.BetaMessageParamRoleSystem, + Content: []anthropic.BetaContentBlockParamUnion{ + anthropic.NewBetaToolRemovalBlock(anthropic.BetaToolChangeToolReferenceParam{ + Name: "get_weather", + }), + }, + }, + }, + }) + if err != nil { + log.Fatal(err) + } + + for _, block := range response.Content { + if textBlock, ok := block.AsAny().(anthropic.BetaTextBlock); ok { + fmt.Println(textBlock.Text) + } + } + ``` + + ```java Java + import com.anthropic.models.beta.messages.BetaContentBlockParam; + import com.anthropic.models.beta.messages.BetaMessage; + import com.anthropic.models.beta.messages.BetaMessageParam; + import com.anthropic.models.beta.messages.BetaRequestToolRemovalBlock; + import com.anthropic.models.beta.messages.BetaTool; + import com.anthropic.models.beta.messages.MessageCreateParams; + // ... + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + // The full tool set is declared up front and never changes, so the + // cached prefix stays intact. + BetaTool weatherTool = BetaTool.builder() + .name("get_weather") + .description("Get the current weather for a location.") + .inputSchema(BetaTool.InputSchema.builder() + .properties(BetaTool.InputSchema.Properties.builder() + .putAdditionalProperty("location", JsonValue.from(Map.of( + "type", "string", + "description", "City name"))) + .build()) + .addRequired("location") + .build()) + .build(); + + MessageCreateParams params = MessageCreateParams.builder() + .model(Model.CLAUDE_OPUS_5) + .maxTokens(1024) + .addBeta("mid-conversation-tool-changes-2026-07-01") + .addTool(weatherTool) + .addUserMessage("Say OK.") + // Withdraw get_weather from this point onward. The block references + // the tool by name instead of editing `tools`, so earlier turns stay + // byte-identical and the cache still hits. + .addMessage(BetaMessageParam.builder() + .role(BetaMessageParam.Role.SYSTEM) + .contentOfBetaContentBlockParams(List.of( + BetaContentBlockParam.ofToolRemoval(BetaRequestToolRemovalBlock.builder() + .referenceTool("get_weather") + .build()))) + .build()) + .build(); + + BetaMessage response = client.beta().messages().create(params); + response.content().stream() + .flatMap(block -> block.text().stream()) + .forEach(textBlock -> IO.println(textBlock.text())); + ``` + + ```php PHP + $client = new Client(); + + $response = $client->beta->messages->create( + model: 'claude-opus-5', + maxTokens: 1024, + betas: ['mid-conversation-tool-changes-2026-07-01'], + // The full tool set is declared up front and never changes, so the + // cached prefix stays intact. + tools: [ + [ + 'name' => 'get_weather', + 'description' => 'Get the current weather for a location.', + 'input_schema' => [ + 'type' => 'object', + 'properties' => [ + 'location' => [ + 'type' => 'string', + 'description' => 'City name', + ], + ], + 'required' => ['location'], + ], + ], + ], + messages: [ + ['role' => 'user', 'content' => 'Say OK.'], + // Withdraw get_weather from this point onward. The block references + // the tool by name instead of editing `tools`, so earlier turns stay + // byte-identical and the cache still hits. + [ + 'role' => 'system', + 'content' => [ + [ + 'type' => 'tool_removal', + 'tool' => ['type' => 'tool_reference', 'name' => 'get_weather'], + ], + ], + ], + ], + ); + + foreach ($response->content as $block) { + if ($block->type === 'text') { + echo $block->text, PHP_EOL; + } + } + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + response = client.beta.messages.create( + model: "claude-opus-5", + max_tokens: 1024, + betas: ["mid-conversation-tool-changes-2026-07-01"], + # The full tool set is declared up front and never changes, so the + # cached prefix stays intact. + tools: [ + { + name: "get_weather", + description: "Get the current weather for a location.", + input_schema: { + type: "object", + properties: { + location: { type: "string", description: "City name" } + }, + required: ["location"] + } + } + ], + messages: [ + { role: "user", content: "Say OK." }, + # Withdraw get_weather from this point onward. The block references + # the tool by name instead of editing `tools`, so earlier turns stay + # byte-identical and the cache still hits. + { + role: "system", + content: [ + { + type: "tool_removal", + tool: { type: "tool_reference", name: "get_weather" } + } + ] + } + ] + ) + + response.content.each do |block| + puts block.text if block.type == :text + end + ``` + + +Mid-conversation tool changes are in beta. To use them, include the beta header `mid-conversation-tool-changes-2026-07-01` in your requests. They are available on Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, and Claude Opus 5, on the Claude API, Amazon Bedrock, and Google Cloud. + ## When to use a mid-conversation system message [Prompt caching](/docs/en/build-with-claude/prompt-caching) hashes the request prefix in order: `tools`, then `system`, then `messages`. A cache hit requires the prefix to match a recent request exactly, byte for byte, up to the cache breakpoint. @@ -287,7 +717,7 @@ You can still set the top-level `system` field for instructions that should appl Message response = client.messages().create(params); response.content().stream() .flatMap(block -> block.text().stream()) - .forEach(textBlock -> System.out.println(textBlock.text())); + .forEach(textBlock -> IO.println(textBlock.text())); ``` ```php PHP @@ -392,12 +822,6 @@ Mid-conversation system messages and [prompt caching](/docs/en/build-with-claude Avoid editing or removing a mid-conversation system message that has already been sent. Like any other change to earlier messages, that invalidates the cache from that point forward. If the instruction needs to evolve, append a new system message rather than rewriting the old one. Consecutive system messages are accepted and treated as a single system section, which follows the same placement rule as a whole. -## Mid-conversation tool changes - -The same cache math applies to the `tools` array, which sits even earlier in the hashed prefix than the top-level `system` field: editing it invalidates the cache for the entire conversation. Mid-conversation tool changes are the tools counterpart to mid-conversation system messages. You declare the full tool set in `tools` up front, then use `tool_addition` and `tool_removal` blocks to offer a tool to the model, or withdraw it, from a specific point in the conversation onward. The blocks reference a tool by name from the request's `tools` (individual MCP tools and whole MCP toolsets can also be referenced), so the `tools` array itself never changes and the cached prefix stays intact. - -Mid-conversation tool changes are in beta. To use them, include the beta header `mid-conversation-tool-changes-2026-07-01` in your requests. On Amazon Bedrock, tool changes are supported for Claude Opus 5 only. - ## Limitations * **Not for the first message.** A `system` message cannot be the first entry in `messages`. Use the top-level `system` field for instructions that apply from the very start. diff --git a/content/en/build-with-claude/overview.md b/content/en/build-with-claude/overview.md index 332800c3c..ccc22ff7f 100644 --- a/content/en/build-with-claude/overview.md +++ b/content/en/build-with-claude/overview.md @@ -39,20 +39,20 @@ Ways to steer Claude and Claude's direct outputs, including response format, rea The ZDR column indicates whether a feature is available under a Zero Data Retention arrangement. For most features this depends only on what the feature mechanism retains; for features tied to specific models, model-level ZDR availability also applies. See [Model-specific data retention requirements](/docs/en/manage-claude/api-and-data-retention#model-specific-data-retention-requirements). -| Feature | Description | Zero Data Retention (ZDR) | Availability | -| ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | -| [Context windows](/docs/en/build-with-claude/context-windows) | Up to 1M tokens for processing large documents, extensive code bases, and long conversations. | ZDR eligible | | -| [Adaptive thinking](/docs/en/build-with-claude/thinking) | Let Claude dynamically decide when and how much to think. The only thinking mode on Claude 4.7 and later models. Use the effort parameter to control thinking depth. | ZDR eligible | | -| [Batch processing](/docs/en/build-with-claude/batch-processing) | Process large volumes of requests asynchronously for cost savings. Send batches with a large number of queries per batch. Batch API calls cost 50% less than standard API calls. | Not ZDR eligible | | -| [Citations](/docs/en/build-with-claude/citations) | Ground Claude's responses in source documents. With Citations, Claude can provide detailed references to the exact sentences and passages it uses to generate responses, leading to more verifiable, trustworthy outputs. | ZDR eligible | | -| [Data residency](/docs/en/manage-claude/data-residency) | Control where model inference runs using geographic controls. Specify `"global"` or `"us"` routing per request through the `inference_geo` parameter. | ZDR eligible | | -| [Effort](/docs/en/build-with-claude/effort) | Control how many tokens Claude uses when responding with the effort parameter, trading off between response thoroughness and token efficiency. | ZDR eligible | | -| [Fallback credit](/docs/en/build-with-claude/fallback-credit) | Avoid paying the prompt-cache cost twice when you retry a refused request on another model. The refusal carries a credit token, and echoing it on the retry bills the retry as though the conversation had been on the new model all along. Message Batches results do not include fallback credit tokens. | Not ZDR eligible\* | | -| [PDF support](/docs/en/build-with-claude/pdf-support) | Process and analyze text and visual content from PDF documents. | ZDR eligible | | -| [Search results](/docs/en/build-with-claude/search-results) | Enable natural citations for RAG applications by providing search results with proper source attribution. Achieve web search-quality citations for custom knowledge bases and tools. | ZDR eligible | | -| [Server-side fallback](/docs/en/build-with-claude/refusals-and-fallback) | Retry a refused request inside a single API call. Name up to three fallback models, and when the requested model declines, the API runs the next model in the chain on the same request. The `fallbacks` parameter is not available in the Message Batches API. | Not ZDR eligible\* | | -| [Structured outputs](/docs/en/build-with-claude/structured-outputs) | Guarantee schema conformance with two approaches: JSON outputs for structured data responses, and strict tool use for validated tool inputs. | [ZDR eligible (qualified)](/docs/en/build-with-claude/structured-outputs#data-retention)\* | † | -| [Thinking](/docs/en/build-with-claude/thinking) | Enhanced reasoning capabilities for complex tasks, providing transparency into Claude's step-by-step thought process before delivering its final answer. | ZDR eligible | | +| Feature | Description | Zero Data Retention (ZDR) | Availability | +| ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------- | +| [Context windows](/docs/en/build-with-claude/context-windows) | Up to 1M tokens for processing large documents, extensive code bases, and long conversations. | ZDR eligible | | +| [Adaptive thinking](/docs/en/build-with-claude/thinking) | Let Claude dynamically decide when and how much to think. The only thinking mode on Claude 4.7 and later models. Use the effort parameter to control thinking depth. | ZDR eligible | | +| [Batch processing](/docs/en/build-with-claude/batch-processing) | Process large volumes of requests asynchronously for cost savings. Send batches with a large number of queries per batch. Batch API calls cost 50% less than standard API calls. | Not ZDR eligible | | +| [Citations](/docs/en/build-with-claude/citations) | Ground Claude's responses in source documents. With Citations, Claude can provide detailed references to the exact sentences and passages it uses to generate responses, leading to more verifiable, trustworthy outputs. | ZDR eligible | | +| [Data residency](/docs/en/manage-claude/data-residency) | Control where model inference runs using geographic controls. Specify `"global"` or `"us"` routing per request through the `inference_geo` parameter. | ZDR eligible | | +| [Effort](/docs/en/build-with-claude/effort) | Control how many tokens Claude uses when responding with the effort parameter, trading off between response thoroughness and token efficiency. | ZDR eligible | | +| [Fallback credit](/docs/en/build-with-claude/fallback-credit) | Avoid paying the prompt-cache cost twice when you retry a refused request on another model. The refusal carries a credit token, and echoing it on the retry bills the retry as though the conversation had been on the new model all along. Message Batches results do not include fallback credit tokens. | Not ZDR eligible\* | | +| [PDF support](/docs/en/build-with-claude/pdf-support) | Process and analyze text and visual content from PDF documents. | ZDR eligible | | +| [Search results](/docs/en/build-with-claude/search-results) | Enable natural citations for RAG applications by providing search results with proper source attribution. Achieve web search-quality citations for custom knowledge bases and tools. | ZDR eligible | | +| [Server-side fallback](/docs/en/build-with-claude/refusals-and-fallback) | Retry a refused request inside a single API call. Use the `"default"` mode to apply Anthropic's recommended fallback models, or name up to three models of your own; when the requested model declines, the API runs the next model in the chain on the same request. The `fallbacks` parameter is not available in the Message Batches API. | Not ZDR eligible\* | | +| [Structured outputs](/docs/en/build-with-claude/structured-outputs) | Guarantee schema conformance with two approaches: JSON outputs for structured data responses, and strict tool use for validated tool inputs. | [ZDR eligible (qualified)](/docs/en/build-with-claude/structured-outputs#data-retention)\* | † | +| [Thinking](/docs/en/build-with-claude/thinking) | Enhanced reasoning capabilities for complex tasks, providing transparency into Claude's step-by-step thought process before delivering its final answer. | ZDR eligible | | ## Tools diff --git a/content/en/build-with-claude/prompt-caching.md b/content/en/build-with-claude/prompt-caching.md index 086d6e2e2..5128b2f7f 100644 --- a/content/en/build-with-claude/prompt-caching.md +++ b/content/en/build-with-claude/prompt-caching.md @@ -743,10 +743,10 @@ For more detailed information, see [Thinking and prompt caching](/docs/en/build- ### Cache storage and sharing - As of February 5, 2026, prompt caching uses [workspace](/docs/en/manage-claude/workspaces)-level isolation instead of organization-level isolation. Caches are isolated per workspace, ensuring data separation between workspaces within the same organization. This applies to the Claude API, Claude Platform on AWS, and Microsoft Foundry; Bedrock and Google Cloud maintain organization-level cache isolation. If you use multiple workspaces, review your caching strategy to account for this difference. + Prompt caching uses [workspace](/docs/en/manage-claude/workspaces)-level isolation. Caches are isolated per workspace, ensuring data separation between workspaces within the same organization. This applies to the Claude API, Claude Platform on AWS, and Microsoft Foundry; Bedrock and Google Cloud maintain organization-level cache isolation. If you use multiple workspaces, review your caching strategy to account for this difference. -* **Organization and workspace isolation:** Caches are isolated between organizations. Different organizations never share caches, even if they use identical prompts. As of February 5, 2026, caches are also isolated per workspace within an organization on the Claude API, Claude Platform on AWS, and Microsoft Foundry; Bedrock and Google Cloud continue to use organization-level isolation only. +* **Organization and workspace isolation:** Caches are isolated between organizations. Different organizations never share caches, even if they use identical prompts. Caches are also isolated per workspace within an organization on the Claude API, Claude Platform on AWS, and Microsoft Foundry; Bedrock and Google Cloud use organization-level isolation only. * **Exact matching:** Cache hits require 100% identical prompt segments, including all text and images up to and including the block marked with cache control. diff --git a/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5.md b/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5.md index 6aff84829..18fdfc01f 100644 --- a/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5.md +++ b/content/en/build-with-claude/prompt-engineering/prompting-claude-opus-5.md @@ -18,7 +18,7 @@ Compared with Claude Opus 4.8, the improvements most relevant to prompting are: * **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 leaving stubs or placeholders, and it performs best when given the complete task specification up front and left to run. It also performs well on easier tasks like single-turn edits, where the difference from prior models is smaller. * **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 real issues rather than false positives. Accuracy holds at lower effort settings, which supports a fast pass at review time and a more thorough pass later. If your review prompt says "only report high-severity issues" or "be conservative," the model may follow that instruction literally and report less; ask it to report everything and filter in a separate pass instead. -* **Efficiency at lower effort:** `low` and `medium` [effort](/docs/en/build-with-claude/effort) produce strong quality at a fraction of the tokens and latency of higher settings, and they perform above the same settings on prior Opus models. Use them liberally as your primary control for token cost and response time wherever your evals show quality holds; for coding and agentic work, `xhigh` remains the recommended starting point. If you carried effort defaults over from a prior model, re-run an effort sweep on your own evals. See [Effort](/docs/en/build-with-claude/effort#recommended-effort-levels-for-claude-opus-5) for the full recommendations. +* **Efficiency at lower effort:** `low` and `medium` [effort](/docs/en/build-with-claude/effort) produce strong quality at a fraction of the tokens and latency of higher settings. Start with the default (`high`) and adjust based on your evals: use `low` and `medium` liberally as your primary control for token cost and response time wherever quality holds, and step up to `xhigh` for demanding coding and agentic work. If you carried effort defaults over from a prior model, re-run an effort sweep on your own evals. See [Effort](/docs/en/build-with-claude/effort#recommended-effort-levels-for-claude-opus-5) for the full recommendations. * **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 tuned for prior models; they may no longer be needed. Vision performance is strongest when the model has tools to iteratively analyze, crop, and visually verify its work, and tool use is a more cost-effective lever than thinking alone. * **Long-context work:** Claude Opus 5 has a [1M token context window](/docs/en/build-with-claude/context-windows) as both the default and the maximum, and its instruction following, tool calling, and reasoning stay consistent throughout the window. * **Office and document tasks:** Claude Opus 5 generates and works with complex, multi-sheet spreadsheets with non-trivial formulas, and it produces well-structured slide decks. Prompt it with any specific styles or templates it needs to follow. @@ -90,18 +90,16 @@ Only correct an earlier statement when the error would change the user's code, c ## Running with thinking disabled -Claude Opus 5 runs with [thinking](/docs/en/build-with-claude/thinking) on by default, and thinking can be disabled only at [effort](/docs/en/build-with-claude/effort) `high` or below; see the [migration guide](/docs/en/about-claude/models/migration-guide#migrating-from-claude-opus-4-8-to-claude-opus-5). With thinking disabled, two artifacts can occasionally appear in the model's visible output. The primary mitigation for both is to keep thinking enabled and control token cost with lower effort levels instead of disabling thinking. +Claude Opus 5 runs with [thinking](/docs/en/build-with-claude/thinking) on by default, and thinking can be disabled only at [effort](/docs/en/build-with-claude/effort) `high` or below; see the [migration guide](/docs/en/about-claude/models/migration-guide#migrating-from-claude-opus-4-8-to-claude-opus-5). With thinking disabled, two artifacts can occasionally appear in the model's visible output. The primary mitigation for both is to keep thinking enabled and control token cost with lower effort levels instead of disabling thinking: for most tasks, thinking enabled at `low` effort performs better than thinking disabled at similar cost. -**Tool calls as text.** With thinking disabled, the model occasionally writes a tool call into its user-facing text instead of emitting a structured `tool_use` block. The turn completes normally and the call never runs, and in agentic loops the leaked text stays in the conversation history, so later turns are affected as well. This is most common on tool-heavy workloads such as search. For integrations that must keep thinking disabled, give the model explicit permission to speak before a tool call: +**Tool calls as text.** With thinking disabled, the model occasionally writes a tool call into its user-facing text instead of emitting a structured `tool_use` block. The turn completes normally and the call never runs, and in agentic loops the leaked text stays in the conversation history, so later turns are affected as well. This is most common on tool-heavy workloads such as search. -```text wrap -You may say a brief sentence before using a tool. -``` +**Internal XML tags in output.** With thinking disabled, the model can emit `` tags or other internal XML tags into its visible response. If your system prompt contains a rule instructing the model not to think or not to reason, remove it; that kind of instruction increases tag leakage. -**Internal XML tags in output.** With thinking disabled, the model can emit `` tags or other internal XML tags into its visible response. If your system prompt contains a rule instructing the model not to think or not to reason, remove it; that kind of instruction increases tag leakage. Where you want an explicit instruction, use a general one: +For integrations that must keep thinking disabled, a single combined instruction mitigates both artifacts: it gives the model explicit permission to speak before a tool call, an alternative to forcing a call when no tool fits, and a general rule against internal tags: ```text wrap -Do not include internal or system XML tags in your response. +When you use a tool, you may say a brief sentence first. If no tool can express what the user asked for, say so instead of guessing. Do not include internal or system XML tags in your response. ``` Instructions that call out thinking tags by name are less effective than the general form, so avoid naming them specifically. diff --git a/content/en/build-with-claude/refusals-and-fallback.md b/content/en/build-with-claude/refusals-and-fallback.md index f5e267839..e83254c1d 100644 --- a/content/en/build-with-claude/refusals-and-fallback.md +++ b/content/en/build-with-claude/refusals-and-fallback.md @@ -15,19 +15,19 @@ Related pages: * [SDK middleware](/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. -The simplest setup: name a fallback model on the request, and the API handles the retry. +The simplest setup, in beta on the Claude API: set `fallbacks` to `"default"`, and the API retries a declined request on the fallback model Anthropic recommends for its refusal category. For categories with no recommended fallback, the refusal stands. ```bash cURL curl --fail-with-body -sS https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ - -H "anthropic-beta: server-side-fallback-2026-06-01" \ + -H "anthropic-beta: server-side-fallback-2026-07-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-fable-5", "max_tokens": 1024, - "fallbacks": [{"model": "claude-opus-4-8"}], + "fallbacks": "default", "messages": [{"role": "user", "content": "Hello, Claude"}] }' | jq -r '.model' ``` @@ -37,8 +37,8 @@ The simplest setup: name a fallback model on the request, and the API handles th --model claude-fable-5 \ --max-tokens 1024 \ --message '{"role":"user","content":"Hello, Claude"}' \ - --fallbacks '[{"model":"claude-opus-4-8"}]' \ - --beta server-side-fallback-2026-06-01 \ + --fallbacks default \ + --beta server-side-fallback-2026-07-01 \ --transform model --raw-output ``` @@ -49,8 +49,8 @@ The simplest setup: name a fallback model on the request, and the API handles th model="claude-fable-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello, Claude"}], - fallbacks=[{"model": "claude-opus-4-8"}], - betas=["server-side-fallback-2026-06-01"], + fallbacks="default", + betas=["server-side-fallback-2026-07-01"], ) print(response.model) ``` @@ -62,8 +62,8 @@ The simplest setup: name a fallback model on the request, and the API handles th model: "claude-fable-5", max_tokens: 1024, messages: [{ role: "user", content: "Hello, Claude" }], - fallbacks: [{ model: "claude-opus-4-8" }], - betas: ["server-side-fallback-2026-06-01"] + fallbacks: "default", + betas: ["server-side-fallback-2026-07-01"] }); console.log(response.model); ``` @@ -77,8 +77,8 @@ The simplest setup: name a fallback model on the request, and the API handles th Model = Messages::Model.ClaudeFable5, MaxTokens = 1024, Messages = [new() { Content = "Hello, Claude", Role = Role.User }], - Fallbacks = [new(Messages::Model.ClaudeOpus4_8)], - Betas = [AnthropicBeta.ServerSideFallback2026_06_01], + Fallbacks = new Default(), + Betas = [AnthropicBeta.ServerSideFallback2026_07_01], } ); @@ -94,8 +94,8 @@ The simplest setup: name a fallback model on the request, and the API handles th Messages: []anthropic.BetaMessageParam{ anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Hello, Claude")), }, - Fallbacks: []anthropic.BetaFallbackParam{{Model: anthropic.ModelClaudeOpus4_8}}, - Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaServerSideFallback2026_06_01}, + Fallbacks: anthropic.BetaFallbacksParamOfDefault(), + Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaServerSideFallback2026_07_01}, }) if err != nil { panic(err) @@ -111,8 +111,8 @@ The simplest setup: name a fallback model on the request, and the API handles th .model(Model.CLAUDE_FABLE_5) .maxTokens(1024L) .addUserMessage("Hello, Claude") - .addFallback(BetaFallbackParam.builder().model(Model.CLAUDE_OPUS_4_8).build()) - .addBeta(AnthropicBeta.SERVER_SIDE_FALLBACK_2026_06_01) + .fallbacksDefault() + .addBeta(AnthropicBeta.SERVER_SIDE_FALLBACK_2026_07_01) .build()); IO.println(response.model().asString()); @@ -125,8 +125,8 @@ The simplest setup: name a fallback model on the request, and the API handles th model: 'claude-fable-5', maxTokens: 1024, messages: [['role' => 'user', 'content' => 'Hello, Claude']], - fallbacks: [['model' => 'claude-opus-4-8']], - betas: ['server-side-fallback-2026-06-01'], + fallbacks: 'default', + betas: ['server-side-fallback-2026-07-01'], ); echo $response->model, PHP_EOL; @@ -139,8 +139,8 @@ The simplest setup: name a fallback model on the request, and the API handles th model: "claude-fable-5", max_tokens: 1024, messages: [{role: "user", content: "Hello, Claude"}], - fallbacks: [{model: "claude-opus-4-8"}], - betas: ["server-side-fallback-2026-06-01"] + fallbacks: :default, + betas: ["server-side-fallback-2026-07-01"] ) puts response.model @@ -208,7 +208,7 @@ Server-side fallback and the SDK middleware apply fallback credit for you. You o ## Server-side fallback -Server-side fallback retries a refused request inside a single API call. You name up to three fallback models, and when the primary model declines, the API runs the next model in the chain on the same request. You get back one response that names the model that answered, so your user gets an answer in one round trip. +Server-side fallback retries a refused request inside a single API call. In the default mode, when the primary model declines and the refusal category has a recommended fallback, the API runs the same request on the model Anthropic recommends for that category. You can instead name up to three fallback models of your own (below). Either way, you get back one response that names the model that answered, so your user gets an answer in one round trip. Server-side fallback is in beta on the Claude API. The `fallbacks` parameter is not supported on the [Message Batches API](/docs/en/build-with-claude/batch-processing) (a batch item that includes it comes back as an errored result) and is not available on Amazon Bedrock, Google Cloud, or Microsoft Foundry. On those platforms, use [client-side fallback with the SDK middleware](#client-side-fallback) instead. @@ -216,19 +216,19 @@ Server-side fallback retries a refused request inside a single API call. You nam ### Making the request -Name the fallback models in the `fallbacks` parameter and send the `server-side-fallback-2026-06-01` beta header. +Set the `fallbacks` parameter to the string `"default"` and send the `server-side-fallback-2026-07-01` beta header. The API then applies the requested model's server-defined default routing, which selects a recommended fallback model based on the refusal category the classifier reports, so refused requests are served without you maintaining a model list as recommendations change. ```bash cURL curl --fail-with-body -sS https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ - -H "anthropic-beta: server-side-fallback-2026-06-01" \ + -H "anthropic-beta: server-side-fallback-2026-07-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-fable-5", "max_tokens": 1024, - "fallbacks": [{"model": "claude-opus-4-8"}], + "fallbacks": "default", "messages": [{"role": "user", "content": "Hello, Claude"}] }' | jq -c '{ @@ -248,8 +248,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- --model claude-fable-5 \ --max-tokens 1024 \ --message '{"role":"user","content":"Hello, Claude"}' \ - --fallbacks '[{"model":"claude-opus-4-8"}]' \ - --beta server-side-fallback-2026-06-01 \ + --fallbacks default \ + --beta server-side-fallback-2026-07-01 \ --format json | jq -c '{ stop_reason, @@ -270,8 +270,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- model="claude-fable-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello, Claude"}], - fallbacks=[{"model": "claude-opus-4-8"}], - betas=["server-side-fallback-2026-06-01"], + fallbacks="default", + betas=["server-side-fallback-2026-07-01"], ) # A fallback_message entry in usage.iterations means a fallback model ran; @@ -300,8 +300,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- model: "claude-fable-5", max_tokens: 1024, messages: [{ role: "user", content: "Hello, Claude" }], - fallbacks: [{ model: "claude-opus-4-8" }], - betas: ["server-side-fallback-2026-06-01"] + fallbacks: "default", + betas: ["server-side-fallback-2026-07-01"] }); // A fallback_message entry in usage.iterations means a fallback model ran; @@ -332,8 +332,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- [ new() { Content = "Hello, Claude", Role = Role.User }, ], - Fallbacks = [new(Messages::Model.ClaudeOpus4_8)], - Betas = [AnthropicBeta.ServerSideFallback2026_06_01], + Fallbacks = new Default(), + Betas = [AnthropicBeta.ServerSideFallback2026_07_01], } ); @@ -366,10 +366,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- Messages: []anthropic.BetaMessageParam{ anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Hello, Claude")), }, - Fallbacks: []anthropic.BetaFallbackParam{ - {Model: anthropic.ModelClaudeOpus4_8}, - }, - Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaServerSideFallback2026_06_01}, + Fallbacks: anthropic.BetaFallbacksParamOfDefault(), + Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaServerSideFallback2026_07_01}, }) if err != nil { panic(err) @@ -405,10 +403,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- .model(Model.CLAUDE_FABLE_5) .maxTokens(1024L) .addUserMessage("Hello, Claude") - .addFallback(BetaFallbackParam.builder() - .model(Model.CLAUDE_OPUS_4_8) - .build()) - .addBeta(AnthropicBeta.SERVER_SIDE_FALLBACK_2026_06_01) + .fallbacksDefault() + .addBeta(AnthropicBeta.SERVER_SIDE_FALLBACK_2026_07_01) .build() ); @@ -435,8 +431,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- maxTokens: 1024, messages: [['role' => 'user', 'content' => 'Hello, Claude']], model: 'claude-fable-5', - fallbacks: [['model' => 'claude-opus-4-8']], - betas: ['server-side-fallback-2026-06-01'], + fallbacks: 'default', + betas: ['server-side-fallback-2026-07-01'], ); // A fallback_message entry in usage.iterations means a fallback model ran; @@ -459,8 +455,8 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- model: "claude-fable-5", max_tokens: 1024, messages: [{role: "user", content: "Hello, Claude"}], - fallbacks: [{model: "claude-opus-4-8"}], - betas: ["server-side-fallback-2026-06-01"] + fallbacks: :default, + betas: ["server-side-fallback-2026-07-01"] ) # A fallback_message entry in usage.iterations means a fallback model ran; @@ -475,25 +471,19 @@ Name the fallback models in the `fallbacks` parameter and send the `server-side- ``` -A few rules apply to the `fallbacks` list: +Anthropic sets safeguards for each model individually and for each policy category, in line with the model's capability: depending on the category, a flagged request may fall back to a less capable model or be declined. The `"default"` mode encodes these per-model, per-category recommendations for you, so a refused request is retried on the model Anthropic recommends for that category. Fallbacks are visible either way: the response names the model that served it, and the `fallback` content block marks the handoff. -* Entries are tried in order. Each must be distinct from the other entries and from the requested model. -* Each entry must be one of the requested model's permitted targets. With the beta header set, that list is published as `allowed_fallback_models` on the model's entry in the [Models API](/docs/en/api/models/list). -* Each entry names a `model` and can override `max_tokens` and `thinking` for that attempt only. -* The request must be valid as a direct request to every model named. If a fallback model does not support a feature the request uses, the API rejects the request up front. -* Only a safety classifier decline triggers the fallback. A rate limit, overload, or server error on the requested model is returned to you as-is. +The routing is applied server-side and is not published per model on the [Models API](/docs/en/api/models/list). To see which model served a refused request, check the response's top-level `model` field and look for a `fallback_message` entry in `usage.iterations`, as this page's samples do. + +Only a safety classifier decline triggers the fallback. A rate limit, overload, or server error on the requested model is returned to you as-is. - The beta header must carry exactly the date `2026-06-01`, or `2026-07-01` when using default fallback routing (below). Under any other `server-side-fallback-*` value, the `fallbacks` parameter is rejected with a 400 error. If you built against an earlier preview of this feature, update the beta header and the request and response shapes together to the ones on this page. + The beta header must carry exactly the date `2026-07-01`, which supports both `"default"` and the explicit-list form below, or `2026-06-01`, which accepts only the explicit-list form. Under any other `server-side-fallback-*` value, the `fallbacks` parameter is rejected with a 400 error. If you built against an earlier preview of this feature, update the beta header and the request and response shapes together to the ones on this page. -### Default fallback routing - -Instead of naming models yourself, you can set `fallbacks` to the string `"default"`. The API then applies the requested model's server-defined default routing, which selects a recommended fallback model based on the refusal category the classifier reports. Use it when you want refused requests served without maintaining a model list as recommendations change. Default routing requires the `server-side-fallback-2026-07-01` beta header, a superset of `server-side-fallback-2026-06-01` that also accepts the explicit-list form. - -Anthropic sets safeguards for each model individually and for each policy category, in line with the model's capability: depending on the category, a flagged request may fall back to a less capable model or be declined. The `"default"` mode encodes these per-model, per-category recommendations for you, so a refused request is retried on the model Anthropic recommends for that category. Fallbacks are visible either way: the response names the model that served it, and the `fallback` content block marks the handoff. +### Naming your own fallback models -The routing is applied server-side and is not published per model on the [Models API](/docs/en/api/models/list). To see which model served a refused request, check the response's top-level `model` field and look for a `fallback_message` entry in `usage.iterations`, as this page's samples do. +Instead of default routing, you can set `fallbacks` to a list of up to three models. When the requested model declines, the API runs the next model in the chain on the same request. Use this form when you want to control exactly which models serve refused requests, such as pinning a model your application has qualified. ```bash cURL @@ -505,7 +495,7 @@ The routing is applied server-side and is not published per model on the [Models -d '{ "model": "claude-fable-5", "max_tokens": 1024, - "fallbacks": "default", + "fallbacks": [{"model": "claude-opus-4-8"}], "messages": [{"role": "user", "content": "Hello, Claude"}] }' | jq -r '.model' ``` @@ -515,7 +505,7 @@ The routing is applied server-side and is not published per model on the [Models --model claude-fable-5 \ --max-tokens 1024 \ --message '{"role":"user","content":"Hello, Claude"}' \ - --fallbacks default \ + --fallbacks '[{"model":"claude-opus-4-8"}]' \ --beta server-side-fallback-2026-07-01 \ --transform model --raw-output ``` @@ -527,7 +517,7 @@ The routing is applied server-side and is not published per model on the [Models model="claude-fable-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello, Claude"}], - fallbacks="default", + fallbacks=[{"model": "claude-opus-4-8"}], betas=["server-side-fallback-2026-07-01"], ) print(response.model) @@ -540,14 +530,106 @@ The routing is applied server-side and is not published per model on the [Models model: "claude-fable-5", max_tokens: 1024, messages: [{ role: "user", content: "Hello, Claude" }], - fallbacks: "default", + fallbacks: [{ model: "claude-opus-4-8" }], betas: ["server-side-fallback-2026-07-01"] }); console.log(response.model); ``` + + ```csharp C# + AnthropicClient client = new(); + + BetaMessage response = await client.Beta.Messages.Create( + new() + { + Model = Messages::Model.ClaudeFable5, + MaxTokens = 1024, + Messages = [new() { Content = "Hello, Claude", Role = Role.User }], + Fallbacks = new([new(Messages::Model.ClaudeOpus4_8)]), + Betas = [AnthropicBeta.ServerSideFallback2026_07_01], + } + ); + + Console.WriteLine(response.Model.Raw()); + ``` + + ```go Go + client := anthropic.NewClient() + + response, err := client.Beta.Messages.New(context.Background(), anthropic.BetaMessageNewParams{ + Model: anthropic.ModelClaudeFable5, + MaxTokens: 1024, + Messages: []anthropic.BetaMessageParam{ + anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Hello, Claude")), + }, + Fallbacks: anthropic.BetaFallbacksParamUnion{ + OfBetaFallbackArray: []anthropic.BetaFallbackParam{{Model: anthropic.ModelClaudeOpus4_8}}, + }, + Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaServerSideFallback2026_07_01}, + }) + if err != nil { + panic(err) + } + + fmt.Println(response.Model) + ``` + + ```java Java + AnthropicClient client = AnthropicOkHttpClient.fromEnv(); + + BetaMessage response = client.beta().messages().create(MessageCreateParams.builder() + .model(Model.CLAUDE_FABLE_5) + .maxTokens(1024L) + .addUserMessage("Hello, Claude") + .fallbacksOfFallbackParams(List.of(BetaFallbackParam.builder() + .model(Model.CLAUDE_OPUS_4_8) + .build())) + .addBeta(AnthropicBeta.SERVER_SIDE_FALLBACK_2026_07_01) + .build()); + + IO.println(response.model().asString()); + ``` + + ```php PHP + $client = new Client(); + + $response = $client->beta->messages->create( + model: 'claude-fable-5', + maxTokens: 1024, + messages: [['role' => 'user', 'content' => 'Hello, Claude']], + fallbacks: [['model' => 'claude-opus-4-8']], + betas: ['server-side-fallback-2026-07-01'], + ); + + echo $response->model, PHP_EOL; + ``` + + ```ruby Ruby + client = Anthropic::Client.new + + response = client.beta.messages.create( + model: "claude-fable-5", + max_tokens: 1024, + messages: [{role: "user", content: "Hello, Claude"}], + fallbacks: [{model: "claude-opus-4-8"}], + betas: ["server-side-fallback-2026-07-01"] + ) + + puts response.model + ``` -The response has the same shape as an explicit-list request: the model that served the turn appears in the top-level `model` field, a `fallback` content block marks the handoff, and `usage.iterations` records each attempt. +A few rules apply to the `fallbacks` list: + +* Entries are tried in order. Each must be distinct from the other entries and from the requested model. +* Each entry must be one of the requested model's permitted targets. With the beta header set, that list is published as `allowed_fallback_models` on the model's entry in the [Models API](/docs/en/api/models/list). +* Each entry names a `model` and can override `max_tokens`, `thinking`, `output_config`, and `speed` for that attempt only. +* The request must be valid as a direct request to every model named. If a fallback model does not support a feature the request uses, the API rejects the request up front. +* As with the default mode, only a safety classifier decline triggers the fallback. A rate limit, overload, or server error on the requested model is returned to you as-is. + +The explicit-list form also works under the `server-side-fallback-2026-06-01` beta header; the `"default"` mode does not. + +The response has the same shape in both modes: the model that served the turn appears in the top-level `model` field, a `fallback` content block marks the handoff, and `usage.iterations` records each attempt. ### What the response contains @@ -560,7 +642,7 @@ The response looks like any other message, with two additions: * `from.model` echoes the model string you sent when the declining hop is the requested model. * `to.model` is always the resolved ID of the model that continues. -On a refusal before any output, the `fallback` block is the first content block: +On a refusal before any output, the `fallback` block is the first content block. For example, when default routing selects Claude Opus 4.8 for the refusal's category: ```json { @@ -644,7 +726,7 @@ On a streaming request, the retry happens on the same stream, and nothing you ha On a non-streaming request, a mid-output decline behaves differently: the response omits the declined model's partial output, and the fallback model answers from scratch. The result looks like a decline before any output, with the `fallback` block first. The declined attempt and its output tokens still appear in `usage.iterations`. - **Declines during tool use:** completed tool work does not block fallback. When a decline fires after server tools (for example, web search or code execution) have finished executing within a request, the fallback attempt proceeds: the completed tool results carry over, and the fallback model can keep invoking server tools. The one case that does not retry is a streaming decline that fires while a tool-use block of any type (a client tool, a server tool, or an MCP tool call) is still open on the stream: that refusal is returned directly, and if the `fallback-credit-2026-06-01` header is set it still carries a credit token redeemable by continuing the partial response. Non-streaming requests are unaffected; the API clears the partial work and retries before responding. + **Declines during tool use:** completed tool work does not block fallback. When a decline fires after server tools (for example, web search or code execution) have finished executing within a request, the fallback attempt proceeds: the completed tool results carry over, and the fallback model can keep invoking server tools. The one case that does not retry is a streaming decline that fires while a tool-use block of any type (a client tool, a server tool, or an MCP tool call) is still open on the stream: that refusal is returned directly, and if the `fallback-credit-2026-07-01` header is set it still carries a credit token redeemable by continuing the partial response. Non-streaming requests are unaffected; the API clears the partial work and retries before responding. @@ -673,7 +755,7 @@ On a non-streaming request, a mid-output decline behaves differently: the respon ## Client-side fallback with the SDK middleware -Every Anthropic SDK includes a refusal-fallback middleware. You configure it once on the client with your list of fallback models. Calls through `client.beta.messages` then retry refused requests automatically, on any platform. The middleware also sends the `fallback-credit-2026-06-01` beta header on every request it handles, so retries are repriced without per-request setup. +Every Anthropic SDK includes a refusal-fallback middleware. You configure it once on the client with your list of fallback models. Calls through `client.beta.messages` then retry refused requests automatically, on any platform. The middleware also sends the `fallback-credit-2026-07-01` beta header on every request it handles, so retries are repriced without per-request setup. ### Setting it up diff --git a/content/en/build-with-claude/task-budgets.md b/content/en/build-with-claude/task-budgets.md index c6d6663e9..a99ec7a92 100644 --- a/content/en/build-with-claude/task-budgets.md +++ b/content/en/build-with-claude/task-budgets.md @@ -341,6 +341,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ```python Python + # Tokens spent before compaction, tracked client-side + tokens_spent_so_far = 45000 + output_config = { "effort": "high", "task_budget": { @@ -352,6 +355,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ``` ```typescript TypeScript + // Tokens spent before compaction, tracked client-side + const tokensSpentSoFar = 45000; + const outputConfig = { effort: "high", task_budget: { @@ -363,6 +369,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ``` ```csharp C# + // Tokens spent before compaction, tracked client-side + var tokensSpentSoFar = 45000; + var outputConfig = new BetaOutputConfig { Effort = Effort.High, @@ -375,6 +384,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ``` ```go Go + // Tokens spent before compaction, tracked client-side + tokensSpentSoFar := int64(45000) + outputConfig := anthropic.BetaOutputConfigParam{ Effort: anthropic.BetaOutputConfigEffortHigh, TaskBudget: anthropic.BetaTokenTaskBudgetParam{ @@ -385,6 +397,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ``` ```java Java + // Tokens spent before compaction, tracked client-side + long tokensSpentSoFar = 45000; + BetaOutputConfig outputConfig = BetaOutputConfig.builder() .effort(BetaOutputConfig.Effort.HIGH) .taskBudget(BetaTokenTaskBudget.builder() @@ -395,6 +410,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ``` ```php PHP + // Tokens spent before compaction, tracked client-side + $tokensSpentSoFar = 45000; + $outputConfig = [ 'effort' => 'high', 'taskBudget' => [ @@ -406,6 +424,9 @@ If your agentic loop compacts or rewrites context between requests (for example, ``` ```ruby Ruby + # Tokens spent before compaction, tracked client-side + tokens_spent_so_far = 45_000 + output_config = { effort: :high, task_budget: { diff --git a/content/en/cli-sdks-libraries/cli/quickstart.md b/content/en/cli-sdks-libraries/cli/quickstart.md index 42f69c84b..13897075d 100644 --- a/content/en/cli-sdks-libraries/cli/quickstart.md +++ b/content/en/cli-sdks-libraries/cli/quickstart.md @@ -29,7 +29,7 @@ Compared to `curl`, `ant` builds request bodies from typed flags or piped YAML i For Linux environments, download the release binary directly. ```bash - VERSION=1.19.0 + VERSION=1.21.0 OS=$(uname -s | tr '[:upper:]' '[:lower:]') case $(uname -m) in x86_64) ARCH=amd64 ;; diff --git a/content/en/cli-sdks-libraries/sdks/java.md b/content/en/cli-sdks-libraries/sdks/java.md index 91d51aab8..7bc13a6c8 100644 --- a/content/en/cli-sdks-libraries/sdks/java.md +++ b/content/en/cli-sdks-libraries/sdks/java.md @@ -15,7 +15,7 @@ The Anthropic Java SDK provides convenient access to the Anthropic REST API from ```kotlin - implementation("com.anthropic:anthropic-java:2.50.0") + implementation("com.anthropic:anthropic-java:2.52.0") ``` @@ -24,7 +24,7 @@ The Anthropic Java SDK provides convenient access to the Anthropic REST API from com.anthropic anthropic-java - 2.50.0 + 2.52.0 ``` diff --git a/content/en/docs/claude-code/agent-sdk/agent-loop.md b/content/en/docs/claude-code/agent-sdk/agent-loop.md index f054fdf12..40e08a6ff 100644 --- a/content/en/docs/claude-code/agent-sdk/agent-loop.md +++ b/content/en/docs/claude-code/agent-sdk/agent-loop.md @@ -182,6 +182,8 @@ You can limit how many turns the loop takes, how much it costs, how deeply Claud When either limit is hit, the SDK returns a `ResultMessage` with a corresponding error subtype (`error_max_turns` or `error_max_budget_usd`). See [Handle the result](#handle-the-result) for how to check these subtypes and [`ClaudeAgentOptions`](/docs/en/agent-sdk/python#claudeagentoptions) / [`Options`](/docs/en/agent-sdk/typescript#options) for syntax. +The budget cap covers [subagents](/docs/en/agent-sdk/subagents): their spend counts toward the total. {/* min-version: 2.1.217 */}Once spend reaches the cap, spawning another subagent fails with `Budget limit reached`, and Claude Code stops any background subagents still running. The cap-enforcement behaviors require Claude Code v2.1.217 or later. + With [streaming input](/docs/en/agent-sdk/streaming-vs-single-mode), a message you send while a turn is still running stays queued when that turn ends at the max-turns limit, and it starts its own turn with its own max-turns limit. Before v2.1.205, a message that arrived on the turn's final iteration could be consumed into the ending turn and lost without ever reaching the model. ### Effort level diff --git a/content/en/docs/claude-code/agent-view.md b/content/en/docs/claude-code/agent-view.md index bb7216774..979800fdb 100644 --- a/content/en/docs/claude-code/agent-view.md +++ b/content/en/docs/claude-code/agent-view.md @@ -532,7 +532,7 @@ Using `bypassPermissions` with `claude --bg --permission-mode` is refused until ### Settings, plugins, and MCP servers -Agent view accepts the same configuration flags as `claude` for loading settings, plugins, MCP servers, and additional directories. Each flag applies to agent view itself and is passed through to every session you dispatch from it, so a plugin or MCP server you load this way is available in those sessions too. +Agent view accepts the same configuration flags as `claude` for loading settings, plugins, MCP servers, and additional directories. Agent view applies each flag to itself and passes it through to every session you dispatch from it, so a plugin or MCP server you load this way is available in those sessions too. | Flag | Effect | | :----------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------- | @@ -542,7 +542,9 @@ Agent view accepts the same configuration flags as `claude` for loading settings | [`--mcp-config `](/docs/en/mcp) | Load MCP servers from a config file or JSON string | | `--strict-mcp-config` | Use only the MCP servers from `--mcp-config`, ignoring other MCP configuration | -Repeat `--add-dir`, `--plugin-dir`, or `--mcp-config` once per value. The space-separated form, such as `--add-dir a b c`, isn't supported with `claude agents`. +Repeat `--add-dir`, `--plugin-dir`, or `--mcp-config` once per value. `claude agents` doesn't support the space-separated form, such as `--add-dir a b c`. + +You can place `--settings` and `--plugin-dir` before or after `agents`. Keep `--add-dir` and `--mcp-config` after `agents`: if you place either before `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) fails with an `unknown option` error. Before v2.1.200, place `--plugin-dir` before `agents`: after `agents`, it reached dispatched sessions but didn't load the plugin's agents and skills into agent view's own [subagent and skill autocomplete](#dispatch-new-agents). The following example opens agent view with a settings override and one extra directory: @@ -805,7 +807,7 @@ Agent view has evolved quickly during research preview. If you are on an older C | v2.1.205 | {/* min-version: 2.1.205 */}The prompt footer's `←` hint in a regular `claude` session counts the background agents waiting on you, such as `← 2 agents`. Row summaries show the session's own one-line report, truncated at 64 columns, instead of a raw tool invocation or a `done/total` count; directory-grouped rows open with a colored state word. The peek panel opens with the full status sentence and, for a session waiting on you, its exact question above the reply input. Sessions that edit, comment on, close, or mark a pull request ready with `gh` are linked to it, not only ones that create or check out a pull request, a push links a pull request even when the local branch name doesn't match, and a pull request whose creating command's output exceeded the inline limit is linked too. A turn with no readable text keeps the session's previous state instead of flipping it back to `Working`. `claude attach` waits up to about 60 seconds for a session that's restarting, with a status line naming why, instead of failing. | | v2.1.203 | {/* min-version: 2.1.203 */}A gateway `ANTHROPIC_BASE_URL` exported in the dispatching shell reaches the sessions dispatched from it into that same directory when the supervisor shares that gateway environment, instead of being dropped while the API key exported alongside it was kept. The dispatching shell's `PATH` is applied to each session's worker. Pressing `←` while subagents are running waits for them instead of restarting them after ten seconds. The empty list always shows the section headers with a description under each. Typing `@` in the dispatch input also lists the launch repository's registered git worktrees that live inside its directory tree. An effort inherited from the `effortLevel` setting follows later edits to that setting instead of being fixed at dispatch. Opening a stopped session whose conversation is already open in another running session is refused with a message instead of failing the row. A command that isn't available in agent view leaves the typed text in the input. A `WorktreeCreate` hook that fails outside a git repository no longer blocks the session from editing files. | | v2.1.202 | {/* min-version: 2.1.202 */}A name set with `/rename` or `Ctrl+R` on a background session persists when the supervisor stops and restarts its process, instead of reverting to the name the session was dispatched with. | -| v2.1.200 | {/* min-version: 2.1.200 */}An older Claude Code version that rewrites the session list in `roster.json` preserves fields written by a newer version, matching the existing `state.json` guarantee, so sessions started by the newer version keep accepting input after the supervisor restarts. When you open a session that has stopped responding, the supervisor restarts its process and the session continues the interrupted response from where it left off. | +| v2.1.200 | {/* min-version: 2.1.200 */}An older Claude Code version that rewrites the session list in `roster.json` preserves fields written by a newer version, matching the existing `state.json` guarantee, so sessions started by the newer version keep accepting input after the supervisor restarts. When you open a session that has stopped responding, the supervisor restarts its process and the session continues the interrupted response from where it left off. Agent view applies configuration flags placed after `agents`, such as `--plugin-dir`, to its own subagent and skill autocomplete in the dispatch input as well as dispatched sessions. | | v2.1.199 | {/* min-version: 2.1.199 */}A background session whose process exits before it finishes starting on a low-memory host shows `possibly low memory — free some up and retry` in its row status instead of only the bare exit reason. Backgrounding a session with `←` or `/background` carries its `/color` over to the new row. | | v2.1.198 | {/* min-version: 2.1.198 */}Agent view sends a notification through `preferredNotifChannel` when a background session needs input, finishes, or fails, and fires the `Notification` hook with the `agent_needs_input` or `agent_completed` type. `←` and `/exit` inside `claude attach ` return to agent view instead of exiting to the shell; `Ctrl+Z` returns to the shell. A background session that isolated its work in a worktree commits, pushes its own isolated branch, never `main` or `master`, and opens a draft pull request when it finishes instead of asking first. `/login` runs in agent view and opens the sign-in dialog. The `Background work is running` exit dialog offers `Move to background and exit`. The exit handoff also covers background subagents, which resume from their transcript on the next wake instead of being reported as failed. `claude --bg` combined with `-p` or `--print` is rejected with an error. The background session host requests macOS Local Network permission on first LAN access instead of failing with `connect: no route to host`. | | v2.1.196 | {/* min-version: 2.1.196 */}A single `←` press backgrounds a foreground session; earlier versions required two presses, with a footer hint and a confirm. `--dangerously-skip-permissions` passed to `claude agents` shows the bypass disclaimer instead of being silently dropped. Interactive sessions you never named carry a default name such as `my-app-3f` in session listings and `claude agents --json`. Background shell commands and dynamic workflows survive the session's process being stopped, restarted, or updated, including on Windows; set `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` to turn the handoff off. A transcript misread as empty on restart is renamed with an `.orphaned-` suffix instead of deleted. | diff --git a/content/en/docs/claude-code/auto-mode-config.md b/content/en/docs/claude-code/auto-mode-config.md index aa1afe795..4a0aef08a 100644 --- a/content/en/docs/claude-code/auto-mode-config.md +++ b/content/en/docs/claude-code/auto-mode-config.md @@ -301,9 +301,19 @@ The command summarizes what it will remove and asks `Reset auto mode configurati ## Review denials -When auto mode denies a tool call, the denial is recorded in `/permissions` under the Recently denied tab. Press `r` on a denied action to mark it for retry: when you exit the dialog, Claude Code sends a message telling the model it may retry that tool call and resumes the conversation. +When auto mode denies a tool call, Claude Code records the denial in `/permissions` under the **Recently denied** tab. Press `r` on a denied action to mark it for retry: when you exit the dialog, Claude Code sends a message telling the model it may retry that tool call and resumes the conversation. -In Claude Code v2.1.193 and later, the classifier's reason for each denial appears alongside the blocked tool call in the transcript, in the denial notification, and under each entry on the Recently denied tab. Use the reason to decide whether the fix is an `environment` entry, an `allow` exception, or retrying with explicit intent in your next message. +### Fix a denial with an allow rule, an environment entry, or a retry + +Claude Code shows the blocked tool call wherever the denial appears, including the transcript, the denial notification, and the **Recently denied** tab. Pick the fix from what the call was trying to reach or do: + +* A destination Claude needs throughout the task, such as a package registry, an internal domain, or a repository host: add it to `autoMode.environment`. +* A command you want to run without review from now on: add an `allow` rule. +* A one-off action you did intend: state that intent in your next message and let Claude retry. + +The reason shown with the call is the fixed text `Blocked by classifier` in most sessions, in Claude Code v2.1.208 and later: the classifier scores each action on an internal severity scale rather than writing an explanation. {/* min-version: 2.1.193 */}Some sessions run a classifier model that writes a short explanation instead, in v2.1.193 and later; when one appears, treat it as a hint about which destination or intent the classifier was missing. Claude Code selects the classifier model, so which reason you see isn't something you configure. + +### Fix repeated denials Repeated denials for the same destination usually mean the classifier is missing context. Add that destination to `autoMode.environment`, then run `claude auto-mode config` to confirm it took effect. diff --git a/content/en/docs/claude-code/changelog.md b/content/en/docs/claude-code/changelog.md index f88425a8b..f465b9943 100644 --- a/content/en/docs/claude-code/changelog.md +++ b/content/en/docs/claude-code/changelog.md @@ -10,12 +10,42 @@ This page is generated from the [CHANGELOG.md on GitHub](https://github.com/anth Run `claude --version` to check your installed version. + + * Bug fixes and reliability improvements + + + + * Added Claude Opus 5 (`claude-opus-5`), now the default Opus model — 1M context, fast mode at $10/$50 per Mtok + * Added `sandbox.network.strictAllowlist` setting to deny non-allowlisted hosts for sandboxed commands without prompting + * Added `DirectoryAdded` hook that fires after `/add-dir` or the SDK `register_repo_root` control request registers a new working directory mid-session + * Added `mcp_server_errors` to the headless stream-json init event, listing `--mcp-config` entries skipped by config validation; terminal runs print a startup warning + * Added the `workflowSizeGuideline` settings key so the advisory Dynamic workflow size guideline can be set from any settings file; the `/config` row is hidden while one does + * Added nested subagent forwarding in stream-json: subagents spawned at depth-2+ now appear when `--forward-subagent-text` is set, keyed by their spawning Agent `tool_use` id + * Fixed `claude -p` text output dropping the answer already produced when a turn dies on a mid-stream API error + * Added HTTP status and error text to `claude mcp list` and `/mcp` when a server fails to connect, and a warning for MCP config values with hidden leading or trailing whitespace + * Fixed the Fable model row showing "Requires usage credits" for plans that include it, when a stale cache had baked the label in + * Fixed the `/model` picker showing the merged Opus row as plain "Opus" instead of "Opus (1M context)" + * Fixed copy-on-select inside GNU screen printing base64 into the terminal instead of copying the selection + * Fixed Remote Control clients keeping a stale fast-mode status after a model switch, reconnect, or failed org check + * Fixed `CLAUDE_CODE_GIT_BASH_PATH` on Windows exiting or being used as bash when the path isn't a bash/sh binary; it's now ignored with a warning + * Fixed Vim mode: pressing ← on an empty prompt now returns to the agent view from NORMAL mode, not just INSERT + * Fixed screen-reader mode rewriting the entire input line on every keystroke instead of echoing only the typed character + * Improved the "Remote Control is only available via api.anthropic.com" error to name the specific setting that caused it + * Improved `claude --teleport` to show which repo your current checkout points at when it doesn't match the session's repo + * Changed dynamic workflows to default to a medium size guideline (aim for fewer than 15 agents); pick another size or unrestricted with Dynamic workflow size in `/config` + * Changed managed MCP allowlist/denylist `${VAR}` entries to resolve from the startup environment and managed-settings env instead of settings-file env + * Changed the `/model` picker to highlight only the newest model's name, so the highlight marks the new release rather than an arbitrary subset of the list + * Added the current default workflow size to the running-workflow status line, with a pointer to `/config` for changing it + * Removed Opus 4.7 from fast mode; `/fast` now applies to Opus 5 and Opus 4.8 + * Updated the claude-api skill to default to Claude Opus 5, with a migration path from Opus 4.8 + * Subagents can now spawn nested subagents up to depth 3 by default (was 1); set CLAUDE\_CODE\_MAX\_SUBAGENT\_SPAWN\_DEPTH=1 to disable nesting + + * Changed `/code-review` to run as a background subagent, so review work no longer fills your conversation and keeps stacked slash commands as its review target * Added screen-reader announcements of deleted text for word and line deletions (`Option+Delete`, `Ctrl+W`, `Cmd+Backspace`, `Ctrl+U`, `Ctrl+K`) in `--ax-screen-reader` mode * Fixed Windows paths with `\u`-prefixed segments (like `C:\Users\unicorn`) being corrupted into CJK characters in tool inputs, which made those files inaccessible * Fixed the left arrow key discarding the conversation with no undo: presses right after editing now ask to confirm, and Esc in the agent view returns to the conversation it backgrounded - * Added HTTP status and error text to `claude mcp list` and `/mcp` when a server fails to connect, and a warning for MCP config values with hidden leading or trailing whitespace * Fixed multi-line paste collapsing into one line with `j` in place of newlines in terminals that encode pasted newlines as Ctrl+J * Fixed `/context` reporting stale pre-compact token usage after compacting from the message picker * Fixed `/ultrareview` failing on descriptive arguments like "review my auth changes" — they now run a review of your current branch with the text applied as a note to the findings @@ -933,7 +963,6 @@ Run `claude --version` to check your installed version. - * Self-hosted runner: added a `post-session` lifecycle hook that runs after the session ends and before the workspace is deleted, so you can snapshot uncommitted work or export logs; also made the child-process SIGTERM→SIGKILL window configurable (default unchanged at 5s) * Added `--safe-mode` flag (and `CLAUDE_CODE_SAFE_MODE`) to start Claude Code with all customizations (CLAUDE.md, plugins, skills, hooks, MCP servers) disabled for troubleshooting * Added `/cd` command to move a session to a new working directory without breaking the prompt cache mid-session * Added a `disableBundledSkills` setting and `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` environment variable to hide bundled skills, workflows, and built-in slash commands from the model diff --git a/content/en/docs/claude-code/claude-code-on-the-web.md b/content/en/docs/claude-code/claude-code-on-the-web.md index 9e5cd8a91..1e3b1fc7d 100644 --- a/content/en/docs/claude-code/claude-code-on-the-web.md +++ b/content/en/docs/claude-code/claude-code-on-the-web.md @@ -197,8 +197,6 @@ Manage shared environments from the **Cloud environments** page in [admin settin Values in a shared environment reach every member's sessions in that environment. Like personal environments, shared environments have no dedicated secrets store, so don't include secrets. -Organizations in the self-hosted runners program also manage their runner pools from the same page. - ## Setup scripts A setup script is a Bash script that runs when a new cloud session starts, before Claude Code launches. Use setup scripts to install dependencies, configure tools, or fetch anything the session needs that isn't pre-installed. diff --git a/content/en/docs/claude-code/code-review.md b/content/en/docs/claude-code/code-review.md index 3b53265b7..e2c34ddd2 100644 --- a/content/en/docs/claude-code/code-review.md +++ b/content/en/docs/claude-code/code-review.md @@ -324,7 +324,7 @@ After the effort level and flags, Claude Code reads the rest of the line in one ### Run in the foreground -{/* min-version: 2.1.218 */}The review runs in the background by default; before v2.1.218, it ran inside your conversation. Three cases run it in the foreground instead: +{/* min-version: 2.1.218 */}The review runs in the background by default; before v2.1.218, it ran inside your conversation. It runs in the foreground instead in cases like these: * You run `/code-review` again while an earlier review is still in progress * You run it in non-interactive mode, with the `-p` flag or the Agent SDK; Claude Code waits for the review and includes the findings in the response, except for `ultra`, which [launches the cloud review without waiting](#escalate-to-ultrareview) diff --git a/content/en/docs/claude-code/costs.md b/content/en/docs/claude-code/costs.md index 5267c6c1b..336e6573d 100644 --- a/content/en/docs/claude-code/costs.md +++ b/content/en/docs/claude-code/costs.md @@ -20,7 +20,7 @@ This page covers how to [track your costs](#track-your-costs), [manage costs for The Session block in `/usage` shows API token usage and is intended for API users. Claude Max and Pro subscribers have usage included in their subscription, so the session cost figure isn't relevant for billing purposes. Subscribers see plan usage bars, activity stats, and a usage breakdown on the same screen. -The Session block at the top of `/usage` shows detailed token usage statistics for your current session. The dollar figure is an estimate computed locally from token counts and may differ from your actual bill. For authoritative billing, see the Usage page in the [Claude Console](https://platform.claude.com/usage). +The Session block at the top of `/usage` shows detailed token usage statistics for your current session. Claude Code computes the dollar figure locally from token counts priced at standard list rates, so it doesn't reflect promotional pricing or contracted discounts and may differ from your actual bill. For authoritative billing, see the Usage page in the [Claude Console](https://platform.claude.com/usage). ```text theme={null} Total cost: $0.55 diff --git a/content/en/docs/claude-code/desktop-scheduled-tasks.md b/content/en/docs/claude-code/desktop-scheduled-tasks.md index ea2bff750..49a15c4c6 100644 --- a/content/en/docs/claude-code/desktop-scheduled-tasks.md +++ b/content/en/docs/claude-code/desktop-scheduled-tasks.md @@ -77,7 +77,7 @@ Keep this in mind when writing prompts. A task scheduled for 9am might run at 11 ## Permissions for scheduled tasks -Each task has its own permission mode, which you set when creating or editing the task. Allow rules from `~/.claude/settings.json` also apply to scheduled task sessions. If a task runs in Ask mode and needs to run a tool it doesn't have permission for, the run stalls until you approve it. The session stays open in the sidebar so you can answer later. +Each task has its own permission mode, which you set when creating or editing the task. Allow rules from `~/.claude/settings.json` also apply to scheduled task sessions. If a task runs in [Manual mode](/docs/en/desktop#choose-a-permission-mode) and needs to run a tool it doesn't have permission for, the run stalls until you approve it. The session stays open in the sidebar so you can answer later. To avoid stalls, click **Run now** after creating a task, watch for permission prompts, and select "always allow" for each one. Future runs of that task auto-approve the same tools without prompting. You can review and revoke these approvals from the task's detail page. diff --git a/content/en/docs/claude-code/fast-mode.md b/content/en/docs/claude-code/fast-mode.md index b142bf6c9..fbe6694a0 100644 --- a/content/en/docs/claude-code/fast-mode.md +++ b/content/en/docs/claude-code/fast-mode.md @@ -12,16 +12,14 @@ Fast mode is a high-speed configuration for Claude Opus, making the model up to 2.5x faster at a higher cost per token. Toggle it on with `/fast` when you need speed for interactive work like rapid iteration or live debugging, and toggle it off when cost matters more than latency. -Fast mode is not a different model. It uses Claude Opus with a different API configuration that prioritizes speed over cost efficiency. You get identical quality and capabilities with faster responses. Fast mode is supported on Opus 5, Opus 4.8, and Opus 4.7. It is not available on Sonnet, Haiku, or other models. +Fast mode is not a different model. It uses Claude Opus with a different API configuration that prioritizes speed over cost efficiency. You get identical quality and capabilities with faster responses. Fast mode is supported on Opus 5 and Opus 4.8. It is not available on Sonnet, Haiku, or other models. - - Fast mode for Opus 4.7 is deprecated as of June 25, 2026, and will be removed on July 24, 2026. After removal, fast mode requests on Opus 4.7 return an error and do not fall back to standard Opus 4.7. Migrate to Opus 5 or Opus 4.8 to keep the speedup. - +Claude Code treats Opus 4.7 as a fast mode model everywhere it decides whether fast mode is on: the `/fast` toggle, model switches in either direction, and session start. The API rejects the resulting fast mode requests rather than serving them at standard speed. Switch to Opus 5 or Opus 4.8 to keep the speedup. Fast mode for Opus 4.7 was deprecated on June 25, 2026, and removed on July 24, 2026. What to know: * Use `/fast` to toggle on fast mode in the Claude Code CLI. Fast mode is not supported in the VS Code extension. -* Fast mode pricing per MTok input/output is \$10/\$50 on Opus 5 and Opus 4.8, and \$30/\$150 on Opus 4.7. +* Fast mode pricing per MTok input/output is \$10/\$50 on Opus 5 and Opus 4.8. * Available to all Claude Code users on subscription plans (Pro/Max/Team/Enterprise) and Claude Console. * For Claude Code users on subscription plans (Pro/Max/Team/Enterprise), fast mode is available via usage credits only and not included in the subscription rate limits. @@ -45,21 +43,20 @@ When you enable fast mode: When you disable fast mode with `/fast` again, you remain on Opus. The model does not revert to your previous model. To switch to a different model, use `/model`. -Switching to a model that doesn't support fast mode turns fast mode off. {/* min-version: 2.1.208 */}Switching back to a supported Opus model turns it on again when your saved fast mode preference is on, the same preference a new session starts from by default; a model switch never turns fast mode on for a session whose saved preference is off. With [per-session opt-in](#require-per-session-opt-in) configured, switching back doesn't turn fast mode on again; run `/fast` to re-enable it. Before v2.1.208, fast mode stayed off after you switched back until you ran `/fast` again. +When you switch to a model that doesn't support fast mode, Claude Code turns fast mode off, except on Opus 4.7, where fast mode stays on and the API rejects the requests. {/* min-version: 2.1.208 */}Switching back to a supported Opus model turns it on again when your saved fast mode preference is on, the same preference a new session starts from by default; a model switch never turns fast mode on for a session whose saved preference is off. With [per-session opt-in](#require-per-session-opt-in) configured, switching back doesn't turn fast mode on again; run `/fast` to re-enable it. Before v2.1.208, fast mode stayed off after you switched back until you ran `/fast` again. -{/* min-version: 2.1.218 */}Whenever a model switch turns fast mode on or off, Claude Code shows a `Fast mode ON` or `Fast mode OFF` confirmation, and the `↯` icon appears while fast mode is on. This holds whether you switch with `/model`, with [`/config model=`](/docs/en/settings), or from a device connected through [Remote Control](/docs/en/remote-control); before v2.1.218, switches through `/config` or Remote Control changed fast mode without the confirmation. +{/* min-version: 2.1.218 */}Whenever a model switch turns fast mode on or off, Claude Code shows a `Fast mode ON` or `Fast mode OFF` confirmation, and the `↯` icon appears while fast mode is on. This holds whether you switch with `/model`, with [`/config model=`](/docs/en/settings), or from a device connected through [Remote Control](/docs/en/remote-control); before v2.1.218, switches through `/config model=` or Remote Control changed fast mode without the confirmation. Opus 5 is the fast mode default in Claude Code v2.1.219 and later. Before v2.1.219, fast mode defaulted to Opus 4.8 on v2.1.154 through v2.1.218, and to Opus 4.7 on v2.1.142 through v2.1.153. ## Understand the cost tradeoff -Fast mode has higher per-token pricing than standard Opus, with the multiplier varying by model: +Fast mode has higher per-token pricing than standard Opus: | Model | Input (MTok) | Output (MTok) | | -------- | ------------ | ------------- | | Opus 5 | \$10 | \$50 | | Opus 4.8 | \$10 | \$50 | -| Opus 4.7 | \$30 | \$150 | Fast mode pricing is flat across the full 1M token context window. For the standard Opus rate to compare against, see the [Claude pricing reference](https://platform.claude.com/docs/en/about-claude/pricing). diff --git a/content/en/docs/claude-code/hooks.md b/content/en/docs/claude-code/hooks.md index 4b403f252..9e426b054 100644 --- a/content/en/docs/claude-code/hooks.md +++ b/content/en/docs/claude-code/hooks.md @@ -641,12 +641,16 @@ For example, a `PreToolUse` hook for a Bash command receives this on stdin: "hook_event_name": "PreToolUse", "tool_name": "Bash", "tool_input": { - "command": "npm test" - } + "command": "npm test", + "description": "Run test suite", + "timeout": 120000, + "run_in_background": false + }, + "tool_use_id": "toolu_01ABC123..." } ``` -The `tool_name` and `tool_input` fields are event-specific. Each [hook event](#hook-events) section documents the additional fields for that event. +The `tool_name`, `tool_input`, and `tool_use_id` fields are event-specific. Each [hook event](#hook-events) section documents the additional fields for that event. ### Exit code output @@ -1892,13 +1896,13 @@ In addition to the [common input fields](#common-input-fields), PermissionDenied "description": "Clean build directory" }, "tool_use_id": "toolu_01ABC123...", - "reason": "Auto mode denied: command targets a path outside the project" + "reason": "Blocked by classifier" } ``` -| Field | Description | -| :------- | :------------------------------------------------------------ | -| `reason` | The classifier's explanation for why the tool call was denied | +| Field | Description | +| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `reason` | The denial reason: the fixed text `Blocked by classifier` in most sessions, or the classifier's written explanation when the session's classifier model provides one. See [Review denials](/docs/en/auto-mode-config#review-denials) | #### PermissionDenied decision control diff --git a/content/en/docs/claude-code/mcp.md b/content/en/docs/claude-code/mcp.md index 3ea2f5503..7ffeabc22 100644 --- a/content/en/docs/claude-code/mcp.md +++ b/content/en/docs/claude-code/mcp.md @@ -186,6 +186,19 @@ Some server names are reserved for Claude Code's built-in servers: `workspace`, `Claude Preview` and `Claude Browser` both name the built-in server that the [Claude Code desktop app's preview pane](/docs/en/desktop#preview-your-app) uses. Before v2.1.205, `Claude Browser` wasn't reserved, so a user-configured server could register under that name. +### Disable a server without removing it + +Toggle a server off in the `/mcp` panel to stop Claude Code from connecting to it without losing its configuration. Claude Code still lists the server in `/mcp`, marked as disabled. + +When you toggle a server, Claude Code records your choice per project in `~/.claude.json`, in one of two lists that cover disjoint sets of servers: + +* `disabledMcpServers`: an opt-out list for user-configured servers, plugin servers, claude.ai connectors, and built-in servers that default to on. Claude Code doesn't connect to a server you list here. When you disable a claude.ai connector with the per-project `/mcp` toggle described in [Disable claude.ai connectors](#disable-claude-ai-connectors), Claude Code writes it to this list under its display name, for example `claude.ai Slack`. +* `enabledMcpServers`: an opt-in list for built-in servers that default to off, such as `computer-use`. Claude Code connects to a default-off server only when you list it here. + +Claude Code consults exactly one of the two lists for each server, so neither list overrides the other. If you add a regular server to `enabledMcpServers`, or a default-off built-in server to `disabledMcpServers`, Claude Code ignores the entry. + +`disabledMcpServers` and `enabledMcpServers` are unrelated to [`enabledMcpjsonServers` and `disabledMcpjsonServers`](/docs/en/settings#available-settings), which control approval of servers defined in a project's `.mcp.json` file. + ### Dynamic tool updates Claude Code supports MCP `list_changed` notifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring you to disconnect and reconnect. When an MCP server sends a `list_changed` notification, Claude Code automatically refreshes the available capabilities from that server. @@ -249,14 +262,14 @@ A call waiting on an open [elicitation dialog](#respond-to-mcp-elicitation-reque ### Plugin-provided MCP servers -[Plugins](/docs/en/plugins) can bundle MCP servers, automatically providing tools and integrations when the plugin is enabled. Plugin MCP servers work identically to user-configured servers. +[Plugins](/docs/en/plugins) can bundle MCP servers that provide tools and integrations when you enable the plugin. Plugin MCP servers work identically to user-configured servers. **How plugin MCP servers work**: * Plugins define MCP servers in `.mcp.json` at the plugin root or inline in `plugin.json` -* When a plugin is enabled, its MCP servers start automatically -* Plugin MCP tools appear alongside manually configured MCP tools -* Plugin servers are managed through plugin installation, not `/mcp` commands +* When you enable a plugin, Claude Code starts its MCP servers automatically +* Claude Code offers plugin MCP tools alongside manually configured MCP tools +* You add and remove plugin servers by installing or uninstalling the plugin, not with `/mcp` commands. You can still [toggle an installed plugin server off](#disable-a-server-without-removing-it) in `/mcp`, which stops Claude Code from connecting to it without removing the plugin **Example plugin MCP configuration**: @@ -293,7 +306,7 @@ Or inline in `plugin.json`: **Plugin MCP features**: * **Automatic lifecycle**: servers connect and disconnect at these points: - * At session startup, servers for enabled plugins connect automatically + * At session startup, Claude Code connects the servers for enabled plugins automatically * If you enable or disable a plugin during a session, run `/reload-plugins` to connect or disconnect its MCP servers * In [web sessions](/docs/en/claude-code-on-the-web), an MCP call to a plugin server that isn't connected yet, such as right after an idle session wakes, starts the server on demand and waits for it to connect. {/* min-version: 2.1.211 */}Before v2.1.211, plugin servers in a web session reconnected only when the next message started a turn, so MCP calls after an idle session woke failed until then * **Path placeholders**: `${CLAUDE_PLUGIN_ROOT}` resolves to the plugin's installation directory, `${CLAUDE_PLUGIN_DATA}` to its [persistent state](/docs/en/plugins-reference#persistent-data-directory) directory, and `${CLAUDE_PROJECT_DIR}` to the stable project root. Substitution applies to: diff --git a/content/en/docs/claude-code/permission-modes.md b/content/en/docs/claude-code/permission-modes.md index 7f8f59d68..d62afcda2 100644 --- a/content/en/docs/claude-code/permission-modes.md +++ b/content/en/docs/claude-code/permission-modes.md @@ -12,18 +12,18 @@ When Claude wants to edit a file, run a shell command, or make a network request Each mode makes a different tradeoff between convenience and oversight. The table below shows what Claude can do without a permission prompt in each mode. -| Mode | What runs without asking | Best for | -| :------------------------------------------------------------------ | :------------------------------------------------------------------------------------- | :-------------------------------------- | -| `default` | Reads only | Getting started, sensitive work | -| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Reads, file edits, and common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, etc.) | Iterating on code you're reviewing | -| [`plan`](#analyze-before-you-edit-with-plan-mode) | Reads only | Exploring a codebase before changing it | -| [`auto`](#eliminate-prompts-with-auto-mode) | Everything, with background safety checks | Long tasks, reducing prompt fatigue | -| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | Only pre-approved tools | Locked-down CI and scripts | -| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | Everything | Isolated containers and VMs only | +| Mode | What runs without asking | Best for | +| :------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------- | :-------------------------------------- | +| `default` | Reads only | Getting started, sensitive work | +| [`acceptEdits`](#auto-approve-file-edits-with-acceptedits-mode) | Reads, file edits, and common filesystem commands (`mkdir`, `touch`, `mv`, `cp`, etc.) | Iterating on code you're reviewing | +| [`plan`](#analyze-before-you-edit-with-plan-mode) | Reads, plus classifier-approved commands when [auto mode](#eliminate-prompts-with-auto-mode) is available | Exploring a codebase before changing it | +| [`auto`](#eliminate-prompts-with-auto-mode) | Everything, with background safety checks | Long tasks, reducing prompt fatigue | +| [`dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode) | Only pre-approved tools | Locked-down CI and scripts | +| [`bypassPermissions`](#skip-all-checks-with-bypasspermissions-mode) | Everything | Isolated containers and VMs only | The mode that reviews every action is named **Manual** in the CLI, in `claude --help`, in the VS Code and JetBrains extensions, and in the desktop app. Its config value is `default`, which is what hooks and SDK integrations use. The CLI accepts `manual` as an alias wherever you type the value, for example `claude --permission-mode manual` or `"defaultMode": "manual"`. The Manual label and the `manual` alias require Claude Code v2.1.200 or later. The desktop app's label doesn't depend on your CLI version. -In every mode except `bypassPermissions`, writes to [protected paths](#protected-paths) are never auto-approved, guarding repository state and Claude's own configuration against accidental corruption. +Writes to [protected paths](#protected-paths) are never auto-approved except in `bypassPermissions` mode and in planning sessions with bypass permissions available, guarding repository state and Claude's own configuration against accidental corruption. Modes set the baseline. Layer [permission rules](/docs/en/permissions#manage-permissions) on top to pre-approve or block specific tools. These controls apply in every mode, including `bypassPermissions`: @@ -151,9 +151,9 @@ claude --permission-mode acceptEdits ## Analyze before you edit with plan mode -Plan mode tells Claude to research and propose changes without making them. Claude reads files, runs shell commands to explore, and writes a plan, but does not edit your source. Permission prompts apply as they do in Manual mode unless [auto mode](/docs/en/auto-mode-config) is available and `useAutoModeDuringPlan` is on, which is the default. With auto mode active, the classifier approves read-only commands such as searches and file reads without prompting. Edits stay blocked either way until you approve the plan. +Plan mode tells Claude to research and propose changes without making them. Claude reads files, runs shell commands to explore, and writes a plan, but does not edit your source. Except in sessions with [bypass permissions available](#skip-all-checks-with-bypasspermissions-mode), edits stay blocked until you approve the plan. -Shell commands outside the [built-in read-only set](/docs/en/permissions#read-only-commands), including file-modifying ones such as `touch` and `rm`, prompt for approval in plan mode, including when auto mode is active during planning and when the sandbox's [auto-allow mode](/docs/en/sandboxing#sandbox-modes) is enabled. +{/* min-version: 2.1.218 */}When [auto mode](/docs/en/auto-mode-config) is available and the `useAutoModeDuringPlan` setting is on, which it is by default, the classifier reviews shell commands during planning instead of prompting you. Approved commands run, and rejected ones are blocked. Otherwise, commands outside the [built-in read-only set](/docs/en/permissions#read-only-commands) prompt for approval, including when the sandbox's [auto-allow mode](/docs/en/sandboxing#sandbox-modes) is enabled. Sessions with [bypass permissions available](#skip-all-checks-with-bypasspermissions-mode) skip both paths; that section covers what still prompts there. In sessions without them, commands outside the read-only set prompted either way in v2.1.212 through v2.1.217. Enter plan mode by pressing `Shift+Tab` or prefixing a single prompt with `/plan`. You can also start in plan mode from the CLI: @@ -196,7 +196,7 @@ To make plan mode the default for a project, set `defaultMode` in `.claude/setti Auto mode lets Claude execute without routine permission prompts. A separate classifier model reviews actions before they run, blocking anything that escalates beyond your request, targets unrecognized infrastructure, or appears driven by hostile content Claude read. Explicit [ask rules](/docs/en/permissions#manage-permissions) still force a prompt. -Removals targeting the filesystem root or home directory, such as `rm -rf /` and `rm -rf ~`, prompt for approval instead of going to the classifier. {/* min-version: 2.1.208 */}This prompt also fires when the command contains command substitution with `$(...)` or backticks, or process substitution with `<(...)`, whether the removal sits inside the substitution, as in `echo "$(rm -rf ~)"`, or elsewhere in the same command. Before v2.1.208, commands containing those forms went to the classifier instead of prompting. +{/* min-version: 2.1.218 */}The classifier also decides removals targeting the filesystem root or home directory, such as `rm -rf /` and `rm -rf ~`, including when the removal sits inside command or process substitution. Before v2.1.218, the plain forms prompted for approval instead, and the substitution forms prompted in v2.1.208 through v2.1.217. Auto mode also nudges Claude to keep working without stopping for clarifying questions, though Claude still asks when your prompt or a skill explicitly relies on it. For stronger autonomous behavior while keeping permission prompts, set the [Proactive output style](/docs/en/output-styles) instead. @@ -341,7 +341,7 @@ Repeated blocks usually mean the classifier is missing context about your infras 1. Actions matching your [allow, ask, or deny rules](/docs/en/permissions#manage-permissions) resolve immediately. Writes to [protected paths](#protected-paths) route to the classifier even when an allow rule matches. Connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) and MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool) prompt you directly even when an allow rule matches. Content-scoped ask rules fall back to a permission prompt 2. Read-only actions and file edits in your working directory are auto-approved, except writes to [protected paths](#protected-paths) 3. Everything else goes to the classifier. A connector tool [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools) skips the classifier and prompts you directly, so an org-required approval is never auto-approved. {/* min-version: 2.1.199 */}As of v2.1.199, an MCP tool marked with [`_meta["anthropic/requiresUserInteraction"]`](/docs/en/mcp#require-approval-for-a-specific-tool) also skips the classifier and prompts you directly, so a consent step is never auto-approved on the tool author's behalf - 4. If the classifier blocks, Claude receives the reason and tries an alternative + 4. If the classifier blocks, Claude receives the reason and tries an alternative. {/* min-version: 2.1.208 */}In most sessions the reason is the fixed text `Blocked by classifier` rather than a written explanation, in Claude Code v2.1.208 and later; see [Review denials](/docs/en/auto-mode-config#review-denials) On entering auto mode, broad allow rules that grant arbitrary code execution are dropped: @@ -398,6 +398,8 @@ Explicit [ask rules](/docs/en/permissions#manage-permissions) and connector tool Removals targeting the filesystem root or home directory, such as `rm -rf /` and `rm -rf ~`, still prompt as a circuit breaker against model error. {/* min-version: 2.1.208 */}The circuit breaker also fires when the command contains command substitution with `$(...)` or backticks, or process substitution with `<(...)`, whether the removal sits inside the substitution, as in `echo "$(rm -rf ~)"`, or elsewhere in the same command. The plain form, typed as its own command, has prompted in this mode since the circuit breaker was introduced; before v2.1.208, commands containing those forms didn't prompt. +In sessions with bypass permissions available, Claude Code also doesn't enforce [plan mode's](#analyze-before-you-edit-with-plan-mode) blocks. Claude is still instructed to plan without editing, but a file edit or shell command it attempts during planning runs without prompting. Explicit [ask rules](/docs/en/permissions#manage-permissions) and the removal circuit breaker above still prompt. + Only use this mode in isolated environments like containers, VMs, or dev containers without internet access, where Claude Code cannot damage your host system. @@ -428,14 +430,15 @@ The check is skipped automatically inside a recognized sandbox. To run autonomou ## Protected paths -Writes to a small set of paths are never auto-approved, in every mode except `bypassPermissions`. This prevents accidental corruption of repository state and Claude's own configuration. +Writes to a small set of paths are never auto-approved, except in `bypassPermissions` mode and in planning sessions with [bypass permissions](#skip-all-checks-with-bypasspermissions-mode) available. This prevents accidental corruption of repository state and Claude's own configuration. -| Mode | Protected-path writes | -| :------------------------------- | :----------------------- | -| `default`, `acceptEdits`, `plan` | Prompted | -| `auto` | Routed to the classifier | -| `dontAsk` | Denied | -| `bypassPermissions` | Allowed | +| Mode | Protected-path writes | +| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `default`, `acceptEdits` | Prompted | +| `plan` | Prompted. {/* min-version: 2.1.217 */}In sessions with [bypass permissions](#skip-all-checks-with-bypasspermissions-mode) available, allowed. {/* min-version: 2.1.218 */}Otherwise, with [auto mode](#eliminate-prompts-with-auto-mode) available during planning, routed to the classifier | +| `auto` | Routed to the classifier | +| `dontAsk` | Denied | +| `bypassPermissions` | Allowed | [`permissions.allow`](/docs/en/permissions#manage-permissions) rules in settings files do not pre-approve protected-path writes. The safety check runs before Claude Code evaluates allow rules from settings, so an entry such as `Edit(.claude/**)` in `~/.claude/settings.json` or `.claude/settings.json` does not change the per-mode outcome in the table above. In modes that prompt, the prompt for a `.claude/` write offers **Yes, and allow Claude to edit its own settings for this session**, which approves later `.claude/` writes in that session without prompting again. diff --git a/content/en/docs/claude-code/permissions.md b/content/en/docs/claude-code/permissions.md index 40672b234..cd94686cd 100644 --- a/content/en/docs/claude-code/permissions.md +++ b/content/en/docs/claude-code/permissions.md @@ -52,7 +52,7 @@ Claude Code supports several permission modes that control how it approves tool | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `default` | Standard behavior: prompts for permission on first use of each tool. {/* min-version: 2.1.200 */}Labeled Manual in the CLI, the VS Code and JetBrains extensions, and the desktop app, and Claude Code accepts `manual` as an alias. The label and alias require Claude Code v2.1.200 or later. The desktop app's label doesn't depend on your CLI version | | `acceptEdits` | Automatically accepts file edits and common filesystem commands such as `mkdir`, `touch`, `mv`, and `cp` for paths in the working directory or `additionalDirectories` | -| `plan` | Claude reads files and runs read-only shell commands to explore but doesn't edit your source files. Labeled Plan in the CLI and the VS Code extension | +| `plan` | Claude reads files and runs read-only shell commands to explore but doesn't edit your source files; with [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) available, classifier-approved commands also run. Labeled Plan in the CLI and the VS Code extension | | `auto` | Auto-approves tool calls with background safety checks that verify actions align with your request | | `dontAsk` | Auto-denies tools unless pre-approved via `/permissions` or `permissions.allow` rules. `AskUserQuestion`, connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), and MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool) are denied even if you've allowed them | | `bypassPermissions` | Skips permission prompts, except those forced by explicit `ask` rules, connector tools [your organization set to `ask`](/docs/en/mcp#organization-controls-on-connector-tools), and MCP tools marked [`requiresUserInteraction`](/docs/en/mcp#require-approval-for-a-specific-tool). Root and home directory removals such as `rm -rf /` also still prompt as a circuit breaker | @@ -471,13 +471,13 @@ Use both for defense-in-depth: When you enable sandboxing and leave `autoAllowBashIfSandboxed` at its default of `true`, sandboxed Bash commands run without prompting even if your permissions include a bare `Bash` ask rule, or the [equivalent `Bash(*)` form](#match-all-uses-of-a-tool): the sandbox boundary substitutes for that whole-tool prompt. -In [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code skips this substitution. Without an ask rule, the built-in read-only commands still run without prompting, and any other shell command prompts for approval while you are still planning. With a bare `Bash` ask rule, every Bash command prompts, including sandboxed read-only commands, the same as outside sandboxing. Before v2.1.212, the substitution applied in plan mode as well. +In [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code skips this substitution. Without an ask rule, the built-in read-only commands still run without prompting, and any other shell command prompts for approval while you are still planning{/* min-version: 2.1.218 */}, or goes to the classifier when [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) is available and `useAutoModeDuringPlan` is on. With a bare `Bash` ask rule, every Bash command prompts, including sandboxed read-only commands, the same as outside sandboxing. Before v2.1.212, the substitution applied in plan mode as well. In v2.1.212 through v2.1.217, those commands prompted even when auto mode was available. These checks still apply: * Content-scoped ask rules like `Bash(git push *)` still force a prompt * Explicit deny rules still apply -* `rm` or `rmdir` commands that target `/`, your home directory, or other critical system paths still trigger a prompt +* `rm` or `rmdir` commands that target `/`, your home directory, or other critical system paths still trigger a prompt{/* min-version: 2.1.218 */}, or a classifier check in [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode); the classifier routing requires Claude Code v2.1.218 or later Commands that won't run sandboxed, such as excluded commands, respect the bare `Bash` ask rule as usual. See [sandbox modes](/docs/en/sandboxing#sandbox-modes) to change this behavior. diff --git a/content/en/docs/claude-code/plugins-reference.md b/content/en/docs/claude-code/plugins-reference.md index f7db98886..32823cb17 100644 --- a/content/en/docs/claude-code/plugins-reference.md +++ b/content/en/docs/claude-code/plugins-reference.md @@ -523,6 +523,7 @@ The same field can appear in a plugin's marketplace entry, where it takes preced | `skills` | string\|array | Custom skill directories containing `/SKILL.md`. Adds to the default `skills/` scan. See [Path behavior rules](#path-behavior-rules) for the marketplace-root exception | `"./custom/skills/"` | | `commands` | string\|array | Custom flat `.md` skill files or directories (replaces default `commands/`) | `"./custom/cmd.md"` or `["./cmd1.md"]` | | `agents` | string\|array | Custom agent files (replaces default `agents/`) | `"./custom/agents/reviewer.md"` | +| `workflows` | string\|array | Custom [workflow](/docs/en/workflows) script files or directories (replaces default `workflows/`) | `"./custom/workflows/"` | | `hooks` | string\|array\|object | Hook config paths or inline config | `"./my-extra-hooks.json"` | | `mcpServers` | string\|array\|object | MCP config paths or inline config | `"./my-extra-mcp-config.json"` | | `outputStyles` | string\|array | Custom output style files/directories (replaces default `output-styles/`) | `"./styles/"` | @@ -584,10 +585,20 @@ Fields that run in a shell reject `${user_config.*}`: substituting a configured Before v2.1.207, these fields substituted `${user_config.KEY}` values; update plugins that relied on this. -Non-sensitive values are stored under the [`pluginConfigs`](/docs/en/settings#pluginconfigs) key in `settings.json` as `pluginConfigs[].options`. {/* min-version: 2.1.207 */}Claude Code writes the key to user settings and reads it back from user settings, the `--settings` flag, and managed settings only; entries in a project's `.claude/settings.json` or `.claude/settings.local.json` are ignored. Before v2.1.207, Claude Code also read project and local settings. +Non-sensitive values are stored under the [`pluginConfigs`](/docs/en/settings#pluginconfigs) key in your user `settings.json` as `pluginConfigs[].options`. Sensitive values go to the macOS Keychain, or to `~/.claude/.credentials.json` on platforms where no supported keychain is available. Keychain storage is shared with OAuth tokens and has an approximately 2 KB total limit, so keep sensitive values small. +Claude Code reads all `pluginConfigs` values from only three settings sources: + +* **User settings**: `~/.claude/settings.json`, the file the enable-time prompt writes to +* **`--settings`**: the CLI flag or SDK inline settings +* **Managed settings**: [organization-controlled policy](/docs/en/permissions#managed-settings) + +When more than one source sets the same key, managed settings take precedence, then `--settings`, then user settings. The [`--setting-sources`](/docs/en/cli-reference#cli-flags) flag narrows the list further. + +Entries in a project's `.claude/settings.json` or `.claude/settings.local.json` are ignored. Both files live in the workspace, so a cloned repository could supply values there, and those values would flow into plugin hook commands, MCP server configs, LSP commands, and monitor commands. Before v2.1.207, these entries were read. The restriction is specific to `pluginConfigs`: [`enabledPlugins`](/docs/en/settings#enabledplugins) still honors project and local settings. + ### Channels The `channels` field lets a plugin declare one or more message channels that inject content into the conversation. Each channel binds to an MCP server that the plugin provides. @@ -621,7 +632,7 @@ The `server` field is required and must match a key in the plugin's `mcpServers` Whether a custom path replaces or extends the plugin's default directory depends on the field: -* **Replaces the default**: `commands`, `agents`, `outputStyles`, `experimental.themes`, `experimental.monitors`. For example, when the manifest specifies `commands`, the default `commands/` directory is not scanned. To keep the default and add more, list it explicitly: `"commands": ["./commands/", "./extras/"]` +* **Replaces the default**: `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. For example, when the manifest specifies `commands`, the default `commands/` directory is not scanned. To keep the default and add more, list it explicitly: `"commands": ["./commands/", "./extras/"]` * **Adds to the default**: `skills`. The default `skills/` directory is always scanned, and directories listed in `skills` are loaded alongside it. Exception: for a [marketplace entry whose `source` resolves to the marketplace root](/docs/en/plugin-marketplaces#advanced-plugin-entries), declaring specific subdirectories replaces the default `skills/` scan * **Own merge rules**: [hooks](#hooks), [MCP servers](#mcp-servers), and [LSP servers](#lsp-servers). See each section for how multiple sources combine @@ -803,6 +814,8 @@ enterprise-plugin/ │ ├── security-reviewer.md │ ├── performance-tester.md │ └── compliance-checker.md +├── workflows/ # Workflow scripts +│ └── release-audit.js ├── output-styles/ # Output style definitions │ └── terse.md ├── themes/ # Color theme definitions @@ -826,7 +839,7 @@ enterprise-plugin/ ``` - The `.claude-plugin/` directory contains the `plugin.json` file. All other directories (commands/, agents/, skills/, output-styles/, themes/, monitors/, hooks/) must be at the plugin root, not inside `.claude-plugin/`. + The `.claude-plugin/` directory contains the `plugin.json` file. All other directories (commands/, agents/, skills/, workflows/, output-styles/, themes/, monitors/, hooks/) must be at the plugin root, not inside `.claude-plugin/`. A `CLAUDE.md` file at the plugin root is not loaded as project context. Plugins contribute context through skills, agents, and hooks rather than CLAUDE.md. To ship instructions that load into Claude's context, put them in a [skill](#skills). @@ -839,6 +852,7 @@ A `CLAUDE.md` file at the plugin root is not loaded as project context. Plugins | **Skills** | `skills/` | Skills with `/SKILL.md` structure | | **Commands** | `commands/` | Skills as flat Markdown files. Use `skills/` for new plugins | | **Agents** | `agents/` | Subagent Markdown files | +| **Workflows** | `workflows/` | [Workflow](/docs/en/workflows) script files | | **Output styles** | `output-styles/` | Output style definitions | | **Themes** | `themes/` | Color theme definitions | | **Hooks** | `hooks/hooks.json` | Hook configuration | diff --git a/content/en/docs/claude-code/sandboxing.md b/content/en/docs/claude-code/sandboxing.md index ae27dd900..e595bb439 100644 --- a/content/en/docs/claude-code/sandboxing.md +++ b/content/en/docs/claude-code/sandboxing.md @@ -122,7 +122,7 @@ Claude Code offers two sandbox modes: Even in auto-allow mode, the following still apply: * Explicit [deny rules](/docs/en/permissions) are always respected -* `rm` or `rmdir` commands that target `/`, your home directory, or other critical system paths still trigger a permission prompt +* `rm` or `rmdir` commands that target `/`, your home directory, or other critical system paths still trigger a permission prompt{/* min-version: 2.1.218 */}, or a classifier check in [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode); the classifier routing requires Claude Code v2.1.218 or later * Content-scoped [ask rules](/docs/en/permissions) like `Bash(git push *)` still force a prompt even for sandboxed commands * A bare `Bash` ask rule, or the equivalent `Bash(*)` form, is skipped for commands that run sandboxed; it still applies to commands that fall back to the regular permission flow. {/* min-version: 2.1.212 */}In [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode), the rule isn't skipped: it prompts for sandboxed commands too, including read-only ones. Before v2.1.212, the skip applied in plan mode as well @@ -139,7 +139,7 @@ You can disable this escape hatch by setting `"allowUnsandboxedCommands": false` Auto-allow mode works independently of your permission mode setting, with one exception: [plan mode](/docs/en/permission-modes#analyze-before-you-edit-with-plan-mode). Even if you're not in "accept edits" mode, sandboxed Bash commands run automatically when auto-allow is enabled. This means Bash commands that modify files within the sandbox boundaries execute without prompting, even when file edit tools would normally require approval. - {/* min-version: 2.1.212 */}In plan mode, only [read-only commands](/docs/en/permissions#read-only-commands) run without prompting; any other Bash command prompts for approval even with auto-allow enabled. Before v2.1.212, auto-allow ran sandboxed commands without a prompt in plan mode too. + {/* min-version: 2.1.212 */}In plan mode, auto-allow doesn't widen approvals. Bash commands outside the [built-in read-only set](/docs/en/permissions#read-only-commands) prompt for approval even with auto-allow enabled{/* min-version: 2.1.218 */}, or go to the classifier when [auto mode](/docs/en/permission-modes#eliminate-prompts-with-auto-mode) is available and `useAutoModeDuringPlan` is on; in v2.1.212 through v2.1.217 they always prompted. Before v2.1.212, auto-allow ran sandboxed commands without a prompt in plan mode too. ## Configure sandboxing diff --git a/content/en/docs/claude-code/skills.md b/content/en/docs/claude-code/skills.md index ede228e6b..56e346617 100644 --- a/content/en/docs/claude-code/skills.md +++ b/content/en/docs/claude-code/skills.md @@ -542,7 +542,7 @@ Add `context: fork` to your frontmatter when you want a skill to run in isolatio The forked subagent runs in the [background](/docs/en/sub-agents#run-subagents-in-foreground-or-background): you keep working while it runs, and its result arrives in your conversation when it completes. Set `background: false` in the frontmatter to instead wait for the result in the turn that invoked the skill. {/* min-version: 2.1.218 */}Before v2.1.218, forked skills always blocked the turn until they finished. -Claude Code also waits for the result, even when the skill doesn't set `background: false`, in these cases: +Claude Code also waits for the result, even when the skill doesn't set `background: false`, in cases like these: * In non-interactive mode, with the `-p` flag or the Agent SDK * When you set [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/en/env-vars) to `1`, which also turns off all other background task features diff --git a/content/en/docs/claude-code/workflows.md b/content/en/docs/claude-code/workflows.md index 22d7bc71f..794200694 100644 --- a/content/en/docs/claude-code/workflows.md +++ b/content/en/docs/claude-code/workflows.md @@ -197,10 +197,23 @@ Run `/workflows`, select the run you want to keep, and press `s`. In the save di Press Enter to save. The workflow runs as `/` in future sessions from either location. +{/* min-version: 2.1.216 */}Claude Code checks the save location for symlinks before writing, and shows an error instead of writing through one. What it checks depends on where you save: + +* Project location: Claude Code refuses if `.claude`, `.claude/workflows`, or the target file is a symlink. +* Personal location: Claude Code refuses only if the target file itself is a symlink, so a `~/.claude` directory managed by a dotfiles tool still works. + +Before v2.1.216, Claude Code followed the link, which could place the file outside the location you chose. + {/* min-version: 2.1.178 */}In a monorepo with several `.claude/` directories, you can keep workflows alongside the package they apply to. As of v2.1.178, saving to the project location writes to the closest `.claude/workflows/` directory that already exists between your working directory and the repository root, or to the repository root if none exists yet. Project workflows also load from every `.claude/workflows/` along that path, and when more than one defines the same name Claude Code runs the one closest to the working directory. If a project workflow and a personal workflow share a name, the project one runs. +### Distribute a workflow in a plugin + +To share a workflow across teams or repositories, include it in a [plugin](/docs/en/plugins). Place the script in a `workflows/` directory at the plugin root, or point to a different location with the [`workflows` manifest field](/docs/en/plugins-reference#component-path-fields). + +Plugin workflows are namespaced by the plugin name. A plugin called `acme-tools` containing a script whose `meta.name` is `release-audit` runs as `/acme-tools:release-audit`. + ### Pass input to a saved workflow A saved workflow can accept input through the `args` parameter. The script reads it as a global named `args`. Use this to supply a research question, a list of target paths, or a configuration object at invocation time instead of editing the script for each run. diff --git a/content/en/get-started.md b/content/en/get-started.md index 01644038b..49b0345ba 100644 --- a/content/en/get-started.md +++ b/content/en/get-started.md @@ -436,7 +436,7 @@ Make your first API call to Claude and build a simple web search assistant. } dependencies { - implementation("com.anthropic:anthropic-java:2.50.0") + implementation("com.anthropic:anthropic-java:2.52.0") } application { @@ -462,7 +462,7 @@ Make your first API call to Claude and build a simple web search assistant. com.anthropic anthropic-java - 2.50.0 + 2.52.0 diff --git a/content/en/managed-agents/agent-setup.md b/content/en/managed-agents/agent-setup.md index 5ca7a9fe5..e9fffbc30 100644 --- a/content/en/managed-agents/agent-setup.md +++ b/content/en/managed-agents/agent-setup.md @@ -157,7 +157,7 @@ The examples use curl, the `ant` CLI, or one of the SDKs. If you haven't set one - To use Claude Opus 5, Claude Opus 4.8, or Claude Opus 4.7 with [fast mode](/docs/en/build-with-claude/fast-mode), pass `model` as an object, for example: `{"id": "claude-opus-5", "speed": "fast"}`. Fast mode for Claude Opus 4.7 is deprecated; see [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models) for the removal date and behavior. + To use Claude Opus 5 or Claude Opus 4.8 with [fast mode](/docs/en/build-with-claude/fast-mode), pass `model` as an object, for example: `{"id": "claude-opus-5", "speed": "fast"}`. See [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models) for supported models. diff --git a/content/en/managed-agents/quickstart.md b/content/en/managed-agents/quickstart.md index d6a739d71..2346ee95b 100644 --- a/content/en/managed-agents/quickstart.md +++ b/content/en/managed-agents/quickstart.md @@ -37,7 +37,7 @@ This guide walks you through creating an agent, setting up an environment, start For Linux environments, download the release binary directly. ```bash - VERSION=1.19.0 + VERSION=1.21.0 OS=$(uname -s | tr '[:upper:]' '[:lower:]') case $(uname -m) in x86_64) ARCH=amd64 ;; @@ -88,7 +88,7 @@ ant --version ```groovy Gradle - implementation("com.anthropic:anthropic-java:2.50.0") + implementation("com.anthropic:anthropic-java:2.52.0") ``` diff --git a/content/en/managed-agents/self-hosted-sandboxes.md b/content/en/managed-agents/self-hosted-sandboxes.md index f25afe065..9c3aad686 100644 --- a/content/en/managed-agents/self-hosted-sandboxes.md +++ b/content/en/managed-agents/self-hosted-sandboxes.md @@ -201,7 +201,7 @@ Choose **always-on** for the simplest setup: a long-running process polls the qu For Linux environments, download the release binary directly. ```bash - VERSION=1.19.0 + VERSION=1.21.0 OS=$(uname -s | tr '[:upper:]' '[:lower:]') case $(uname -m) in x86_64) ARCH=amd64 ;; @@ -240,7 +240,7 @@ Choose **always-on** for the simplest setup: a long-running process polls the qu ```text FROM your-base-image - ARG ANT_VERSION=1.19.0 + ARG ANT_VERSION=1.21.0 ARG TARGETARCH RUN ARCH=$([ "$TARGETARCH" = "arm64" ] && echo arm64 || echo amd64) && \ curl -fsSL "https://github.com/anthropics/anthropic-cli/releases/download/v${ANT_VERSION}/ant_${ANT_VERSION}_linux_${ARCH}.tar.gz" \ diff --git a/content/en/release-notes/overview.md b/content/en/release-notes/overview.md index 8693440b1..57f25233b 100644 --- a/content/en/release-notes/overview.md +++ b/content/en/release-notes/overview.md @@ -14,9 +14,10 @@ Updates to the Claude Platform, including the Claude API, client SDKs, and the C * We've launched **Claude Opus 5** (`claude-opus-5`), a step-change improvement over Claude Opus 4.8. Claude Opus 5 supports a [1M token context window](/docs/en/build-with-claude/context-windows) (both the default and the maximum), 128k max output tokens, and [thinking](/docs/en/build-with-claude/thinking) on by default, at $5 / $25 per MTok, the same pricing as Claude Opus 4.8. It's available on the Claude API, [Claude in Amazon Bedrock](/docs/en/build-with-claude/claude-in-amazon-bedrock), [Claude on Google Cloud](/docs/en/build-with-claude/claude-on-vertex-ai), and [Claude in Microsoft Foundry](/docs/en/build-with-claude/claude-in-microsoft-foundry). See [What's new in Claude Opus 5](/docs/en/about-claude/models/whats-new-opus-5) for new features, behavior changes, and migration guidance, and the [models overview](/docs/en/about-claude/models/overview) for complete specs. * On Claude Opus 5, disabling thinking is allowed only at effort `high` or below: `thinking: {"type": "disabled"}` with effort `xhigh` or `max` returns a 400 error, a breaking change from Claude Opus 4.8. See [What's new in Claude Opus 5](/docs/en/about-claude/models/whats-new-opus-5#behavior-changes). -* Claude Opus 5 supports the full [effort](/docs/en/build-with-claude/effort) ladder (`low`, `medium`, `high`, `xhigh`, `max`), including the `max` level for capability-critical work. -* Mid-conversation tool changes are now in beta on Claude Opus 5: add or remove tools between turns of a conversation while preserving the prompt cache. Include the `mid-conversation-tool-changes-2026-07-01` beta header in your requests. +* [Effort](/docs/en/build-with-claude/effort) is the primary control for steering Claude Opus 5: the model supports the full ladder (`low`, `medium`, `high`, `xhigh`, `max`), with `max` for capability-critical work. +* Mid-conversation tool changes are now in beta on Claude Fable 5, Claude Mythos 5, Claude Opus 4.8, and Claude Opus 5: add or remove tools between turns of a conversation while preserving the prompt cache. Include the `mid-conversation-tool-changes-2026-07-01` beta header in your requests. * The `fallbacks` parameter now supports a `"default"` mode, which applies Anthropic's recommended fallback models by refusal category. Server-side fallback is in beta, and the `"default"` mode requires the `server-side-fallback-2026-07-01` beta header. See [Refusals and fallback](/docs/en/build-with-claude/refusals-and-fallback). +* We've removed [fast mode](/docs/en/build-with-claude/fast-mode) for Claude Opus 4.7. Requests to `claude-opus-4-7` with `speed: "fast"` now return an error; unlike Claude Opus 4.6, they do not fall back to standard speed. Claude Opus 4.7 itself remains available at standard speed. To continue using fast mode, migrate to [Claude Opus 5](/docs/en/about-claude/models/migration-guide#migrating-from-claude-opus-47) or Claude Opus 4.8. Read more in [Fast mode](/docs/en/build-with-claude/fast-mode#supported-models). ### July 22, 2026 diff --git a/content/github/claude-plugins-official/.claude-plugin/marketplace.json b/content/github/claude-plugins-official/.claude-plugin/marketplace.json index daac8b19c..74c0c28f3 100644 --- a/content/github/claude-plugins-official/.claude-plugin/marketplace.json +++ b/content/github/claude-plugins-official/.claude-plugin/marketplace.json @@ -65,7 +65,7 @@ "source": { "source": "url", "url": "https://github.com/SalesforceAIResearch/agentforce-adlc.git", - "sha": "f2433e68c8213f3eee0358093552ddc4de40602f" + "sha": "74e7c25b9b0141b57f1c04300b15e7b3ff139647" }, "homepage": "https://github.com/SalesforceAIResearch/agentforce-adlc" }, @@ -85,7 +85,7 @@ "source": { "source": "url", "url": "https://github.com/AikidoSec/aikido-claude-plugin.git", - "sha": "17b7c113b50aa57c43856612ce98ce9d96bc37f8" + "sha": "621557d37e4e1f28db40a57653577d3400880e70" }, "homepage": "https://github.com/AikidoSec/aikido-claude-plugin" }, @@ -238,7 +238,7 @@ "source": { "source": "url", "url": "https://github.com/apollographql/skills.git", - "sha": "98c99fdf95fa2108786786d7f17d06868be3ebf9" + "sha": "3466193ed52d61ae51d48582b57a95575ae384e2" }, "homepage": "https://www.apollographql.com" }, @@ -461,7 +461,7 @@ "url": "https://github.com/awslabs/agent-plugins.git", "path": "plugins/aws-transform", "ref": "main", - "sha": "fe6b948e86dc8f15fe4c3095d13f461d0f4666f1" + "sha": "089861a4596343c2b8135cc4f7cc68655a081864" }, "homepage": "https://github.com/awslabs/agent-plugins" }, @@ -658,7 +658,7 @@ "url": "https://github.com/carta/plugins.git", "path": "plugins/carta-cap-table", "ref": "main", - "sha": "7f18fbaa9321fa377ede3b65a6791b3e458627d2" + "sha": "0ee7645485815d49458449b44047cf431a71f456" }, "homepage": "https://carta.com" }, @@ -690,7 +690,7 @@ "url": "https://github.com/carta/plugins.git", "path": "plugins/carta-investors", "ref": "main", - "sha": "7f18fbaa9321fa377ede3b65a6791b3e458627d2" + "sha": "0ee7645485815d49458449b44047cf431a71f456" }, "homepage": "https://carta.com" }, @@ -704,7 +704,7 @@ "source": { "source": "url", "url": "https://github.com/catalystbyzoho/claude-plugin.git", - "sha": "9e5fb1cdb0482100ee0f1de10c096c55a9943516" + "sha": "897cd36375e855a75e3015636c8d21ee3d327327" }, "homepage": "https://catalyst.zoho.com/" }, @@ -915,7 +915,7 @@ "source": { "source": "url", "url": "https://github.com/cloudflare/skills.git", - "sha": "70215303d44a81a0db3219428f4825b604fc6061" + "sha": "30553f89ae1ef1e3c2917cd09d72dac992bb4e9a" }, "description": "Skills for the Cloudflare developer platform: Workers, Durable Objects, Agents SDK, MCP servers, Wrangler CLI, and web performance.", "category": "deployment", @@ -1141,7 +1141,7 @@ "source": { "source": "url", "url": "https://github.com/dash0hq/dash0-agent-plugin.git", - "sha": "d22788f7e18cd50730d7dbc569a282b3864cecb9" + "sha": "b2fd265c1fb26acb29ac18f57c30daff342c18c3" }, "homepage": "https://dash0.com/" }, @@ -1166,7 +1166,7 @@ "source": { "source": "url", "url": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack.git", - "sha": "b5d4964a1fa82ca2f67faa16ee808265aa3a0cb6" + "sha": "3e89ba0527440893bcd085aa69fd1943c9e2c576" }, "homepage": "https://github.com/gemini-cli-extensions/data-agent-kit-starter-pack" }, @@ -1396,7 +1396,7 @@ "source": { "source": "url", "url": "https://github.com/exa-labs/exa-mcp-server.git", - "sha": "685aaa990c120a1e009fbbb8bc809128cedc957a" + "sha": "b4076055af28698d944b50deade80e541b7788ea" }, "homepage": "https://exa.ai/docs/reference/exa-mcp" }, @@ -1420,7 +1420,7 @@ "url": "https://github.com/expo/skills.git", "path": "plugins/expo", "ref": "main", - "sha": "ebcce6dbb3ba8168e1c7f85f493ff3430cb0194b" + "sha": "09eb052410e7f609624cb161ea4cd9576c69cd5d" }, "homepage": "https://github.com/expo/skills/blob/main/plugins/expo/README.md" }, @@ -1710,7 +1710,7 @@ "source": { "source": "url", "url": "https://github.com/huggingface/skills.git", - "sha": "86cdeee824b73e504198b6005bb113552cdfa7ba" + "sha": "28525c599a24af10eff5900513261e6dc6631543" }, "homepage": "https://github.com/huggingface/skills.git" }, @@ -1738,7 +1738,7 @@ "source": { "source": "url", "url": "https://github.com/heygen-com/hyperframes.git", - "sha": "f0034228f5026ffe928db84d83c1ffabd9a1d88a" + "sha": "e7f9918d21f9fa57f1799c7b3ba38963cfcb52f1" }, "homepage": "https://hyperframes.heygen.com" }, @@ -2221,7 +2221,7 @@ "source": { "source": "url", "url": "https://github.com/GoogleChrome/modern-web-guidance.git", - "sha": "79aae1e0bed948e48fd78b58538c5ee1e6463da9" + "sha": "ccb800c9519286eaa7263d30c409e5bc9c0c6d9f" }, "homepage": "https://goo.gle/modern-web-guidance" }, @@ -2598,7 +2598,7 @@ "source": { "source": "url", "url": "https://github.com/Postman-Devrel/postman-claude-code-plugin.git", - "sha": "b7b3c7a83486ee088844a96278411690523d389f" + "sha": "053a497279bf5195d61404eb685f66200f6b0dbd" }, "homepage": "https://learning.postman.com/docs/developer/postman-mcp-server/" }, @@ -2997,7 +2997,7 @@ "url": "https://github.com/SAP/open-ux-tools.git", "path": "packages/fiori-mcp-server", "ref": "main", - "sha": "a57c4b5496674f539ebc89e78a315166ee8f454b" + "sha": "85fde118d01675c9b5d68e612e7bb5ef46aacf91" }, "homepage": "https://github.com/SAP/open-ux-tools/tree/main/packages/fiori-mcp-server" }, @@ -3122,7 +3122,7 @@ "url": "https://github.com/ServiceNow/sdk.git", "path": "providers/claude/plugin", "ref": "master", - "sha": "d69bd6395d064c8f3d659f4dd373abf0f17a3b37" + "sha": "f3e0379242b29e0039e1625d637aa1c246acbe12" }, "homepage": "https://servicenow.github.io/sdk/" }, @@ -3464,7 +3464,7 @@ "url": "https://github.com/SAP/ui-theme-designer-plugins-for-coding-agents.git", "path": "plugins/ui-theme-designer", "ref": "main", - "sha": "9dc9e34bb8ac45ab597e8c1e4b54dc42dc0ecf26" + "sha": "7709e93fd6ebce5af7f2e729c357a3fae252c471" }, "homepage": "https://github.com/SAP/ui-theme-designer-plugins-for-coding-agents" }, @@ -3587,7 +3587,7 @@ "source": { "source": "url", "url": "https://github.com/vercel/vercel-plugin.git", - "sha": "de37d3199cd0f62cd7efdc4a9489e111e2deeedb" + "sha": "19606ac163fef2f8f967fa14ae13522d68efeccd" }, "homepage": "https://github.com/vercel/vercel-plugin" }, @@ -3615,7 +3615,7 @@ "source": { "source": "url", "url": "https://github.com/villagesql/villagesql-skills.git", - "sha": "d6c8a7395b857bc5d4bf6259979b72d76b84fc68" + "sha": "3f1703cfc911d66b2270f057df9559a9d8a8231d" }, "homepage": "https://villagesql.com" }, @@ -3640,7 +3640,7 @@ "source": { "source": "url", "url": "https://github.com/wix/skills.git", - "sha": "f84e879d31bbc465670e34a3fe72b7ee95c31003" + "sha": "3cff9cb02ca5bd0c562a425d8e8790a3c81129c2" }, "homepage": "https://dev.wix.com/docs/wix-cli/guides/development/about-wix-skills" }, diff --git a/content/github/skills/skills/claude-api/SKILL.md b/content/github/skills/skills/claude-api/SKILL.md index 9d857fcfd..6ddbf0b48 100644 --- a/content/github/skills/skills/claude-api/SKILL.md +++ b/content/github/skills/skills/claude-api/SKILL.md @@ -32,7 +32,7 @@ Never mix the two — don't reach for `requests`/`fetch` in a Python or TypeScri Unless the user requests otherwise: -For the Claude model version, please use Claude Opus 4.8, which you can access via the exact model string `claude-opus-4-8`. Please default to using adaptive thinking (`thinking: {type: "adaptive"}`) for anything remotely complicated. And finally, please default to streaming for any request that may involve long input, long output, or high `max_tokens` — it prevents hitting request timeouts. Use the SDK's `.get_final_message()` / `.finalMessage()` helper to get the complete response if you don't need to handle individual stream events +For the Claude model version, please use Claude Opus 5, which you can access via the exact model string `claude-opus-5`. Please default to using adaptive thinking (`thinking: {type: "adaptive"}`) for anything remotely complicated. And finally, please default to streaming for any request that may involve long input, long output, or high `max_tokens` — it prevents hitting request timeouts. Use the SDK's `.get_final_message()` / `.finalMessage()` helper to get the complete response if you don't need to handle individual stream events ## ⚠️ API Drift — Your Training Prior May Be Stale @@ -40,8 +40,8 @@ Several common Claude API shapes changed in 2025–2026. If you recall a pattern | Area | Stale prior | Current API | |---|---|---| -| Extended thinking | `thinking: {type: "enabled", budget_tokens: N}` | On Claude 4.6+ models: `thinking: {type: "adaptive"}`. `budget_tokens` is deprecated on Opus 4.6 / Sonnet 4.6 and **rejected with a 400** on Fable 5 / Sonnet 5 / Opus 4.8 / 4.7. Pre-4.6 models still use `budget_tokens`. | -| Web search / web fetch tool type | `web_search_20250305`, `web_fetch_20250910` | `web_search_20260209`, `web_fetch_20260209` (dynamic filtering) on Opus 4.8/4.7/4.6, Sonnet 5, and Sonnet 4.6. Older models keep the basic variants; on Vertex AI only basic `web_search_20250305` is available (web fetch is not on Vertex) — see the Server Tools QR below. | +| Extended thinking | `thinking: {type: "enabled", budget_tokens: N}` | On Claude 4.6+ models: `thinking: {type: "adaptive"}`. `budget_tokens` is deprecated on Opus 4.6 / Sonnet 4.6 and **rejected with a 400** on Fable 5 / Sonnet 5 / Opus 5 / 4.8 / 4.7. Pre-4.6 models still use `budget_tokens`. | +| Web search / web fetch tool type | `web_search_20250305`, `web_fetch_20250910` | `web_search_20260209`, `web_fetch_20260209` (dynamic filtering) on Opus 5/4.8/4.7/4.6, Sonnet 5, and Sonnet 4.6. Older models keep the basic variants; on Vertex AI only basic `web_search_20250305` is available (web fetch is not on Vertex) — see the Server Tools QR below. | | PHP parameter names | snake_case wire names as named args (`max_tokens`) | Top-level named args are camelCase (`maxTokens`). Nested array keys vary by feature (e.g. `'taskBudget'`, `'skillID'`, `'mcp_server_name'`) — copy the exact key from the documented example; do not bulk-convert. | | Managed Agents credentials | Keep secrets host-side via custom tools (the only option before vaults shipped) | Vault `environment_variable` credentials — stored by Anthropic, substituted at egress, never visible in the sandbox (`shared/managed-agents-tools.md` → Vaults). Host-side custom tools remain the fallback for self-hosted sandboxes. | @@ -174,7 +174,8 @@ Everything goes through `POST /v1/messages`. Tools and output constraints are fe | ----------------- | ------------------- | -------------- | ---------- | ----------- | | Claude Fable 5 | `claude-fable-5` | 1M | $10.00 | $50.00 | | Claude Mythos 5 (Project Glasswing only) | `claude-mythos-5` | 1M | $10.00 | $50.00 | -| Claude Opus 4.8 | `claude-opus-4-8` | 1M | $5.00 | $25.00 | +| Claude Opus 5 | `claude-opus-5` | 1M | $5.00 | $25.00 | +| Claude Opus 4.8 | `claude-opus-4-8` | 1M | $5.00 | $25.00 | | Claude Opus 4.7 | `claude-opus-4-7` | 1M | $5.00 | $25.00 | | Claude Opus 4.6 | `claude-opus-4-6` | 1M | $5.00 | $25.00 | | Claude Sonnet 5 | `claude-sonnet-5` | 1M | $3.00 ($2.00 intro through 2026-08-31) | $15.00 ($10.00 intro) | @@ -183,7 +184,7 @@ Everything goes through `POST /v1/messages`. Tools and output constraints are fe **Partner pricing:** The prices above are Anthropic first-party API rates — they also apply to Claude on Microsoft Foundry, which is billed through the Microsoft Marketplace at standard API rates. Claude on Amazon Bedrock and Vertex AI is partner-operated with separate pricing — see [Bedrock](https://aws.amazon.com/bedrock/pricing/) or [Vertex AI](https://cloud.google.com/vertex-ai/generative-ai/pricing#claude-models). For WebFetch, use the Pricing row in `shared/live-sources.md`. -**ALWAYS use `claude-opus-4-8` unless the user explicitly names a different model.** This is non-negotiable. Do not use `claude-sonnet-5`, `claude-sonnet-4-6`, or any other model unless the user literally says "use sonnet" or "use haiku". Never downgrade for cost — that's the user's decision, not yours. Use `claude-fable-5` only when the user explicitly asks for Claude Fable 5, "fable", or Anthropic's most capable model — it has different API behavior than the Opus family (see below) and pricing that exceeds Opus-tier. **Use only the exact model ID strings from the table — they are complete as-is; never append date suffixes** (`claude-sonnet-4-6`, never `claude-sonnet-4-6-20251114` or any other date-suffixed variant you might recall from training data). If the user requests an older model not in the table (e.g., "opus 4.5", "sonnet 3.7"), read `shared/models.md` for the exact ID — do not construct one yourself. +**ALWAYS use `claude-opus-5` unless the user explicitly names a different model.** This is non-negotiable. Do not use `claude-sonnet-5`, `claude-sonnet-4-6`, or any other model unless the user literally says "use sonnet" or "use haiku". Never downgrade for cost — that's the user's decision, not yours. Use `claude-fable-5` only when the user explicitly asks for Claude Fable 5, "fable", or Anthropic's most capable model — it has different API behavior than the Opus family (see below) and pricing that exceeds Opus-tier. **Use only the exact model ID strings from the table — they are complete as-is; never append date suffixes** (`claude-sonnet-4-6`, never `claude-sonnet-4-6-20251114` or any other date-suffixed variant you might recall from training data). If the user requests an older model not in the table (e.g., "opus 4.5", "sonnet 3.7"), read `shared/models.md` for the exact ID — do not construct one yourself. ### Claude Fable 5 (`claude-fable-5`) — most capable widely released model @@ -192,7 +193,7 @@ Claude Fable 5 is Anthropic's most capable widely released model, for the most d - **Thinking is always on** — omit the `thinking` parameter entirely (or send `{type: "adaptive"}`). Any other explicit configuration is rejected: `{type: "disabled"}` and `{type: "enabled", budget_tokens: N}` both return a 400. Control depth with `output_config.effort` (supports `low` through `xhigh` and `max`). - **The raw chain of thought is never returned** — responses carry regular `thinking` blocks (not `redacted_thinking`): `display: "summarized"` returns a readable summary, `"omitted"` (the default) leaves the `thinking` field as an empty string. Replay rules: pass thinking blocks back unchanged on the same model; other models drop them silently (unbilled — nothing to strip); details in `shared/model-migration.md`. - **Tokenizer** — same tokenizer as Opus 4.8 (introduced with Opus 4.7). Token counts are roughly unchanged when migrating from Opus 4.7/4.8; per-token pricing differs. Coming from Opus 4.6, Sonnet, Haiku, or older, re-baseline with `count_tokens` (the Opus 4.7 tokenizer uses ~1×–1.35× as many tokens). -- **`refusal` stop reason — handle it, and opt into fallbacks by default** — safety classifiers may decline a request (HTTP 200, `stop_reason: "refusal"`, with a `stop_details` category); always check `stop_reason` before reading `content`. **When you write `claude-fable-5` code, include the server-side `fallbacks` parameter by default** (`betas: ["server-side-fallback-2026-06-01"]` + `fallbacks: [{"model": "claude-opus-4-8"}]`; Claude API and Claude Platform on AWS — elsewhere, incl. Bedrock/Vertex/Foundry, use the SDKs' client-side `BetaRefusalFallbackMiddleware` + `BetaFallbackState`). Tell the user you've enabled it; drop it only if they decline. Full semantics (billing, mid-stream refusals, credit repricing) in `shared/model-migration.md` → refusal section; code examples in `{lang}/claude-api/README.md` § Refusal Fallbacks. +- **`refusal` stop reason — handle it, and opt into fallbacks by default** — safety classifiers may decline a request (HTTP 200, `stop_reason: "refusal"`, with a `stop_details` category); always check `stop_reason` before reading `content`. **When you write `claude-fable-5` or `claude-opus-5` code, include the server-side `fallbacks` parameter by default.** Simplest form: `betas: ["server-side-fallback-2026-07-01"]` + `fallbacks: "default"`, which routes by refusal category so you never maintain a model list. (The older array form — `betas: ["server-side-fallback-2026-06-01"]` + `fallbacks: [{"model": "claude-opus-4-8"}]` — still works; Claude API and Claude Platform on AWS — on Bedrock, Vertex and Foundry, use the SDKs' client-side `BetaRefusalFallbackMiddleware` + `BetaFallbackState` instead). Tell the user you've enabled it; drop it only if they decline. Full semantics (billing, mid-stream refusals, credit repricing) in `shared/model-migration.md` → refusal section. **Per-language code examples in `{lang}/claude-api/README.md` § Refusal Fallbacks cover the array form only** — for the `"default"` mode, follow the raw-HTTP shape in `shared/model-migration.md` → Migrating to Claude Opus 5 → New API features and swap `fallbacks: [{...}]` for `fallbacks: "default"` plus the `-2026-07-01` header; the rest of the request is unchanged. - **No assistant prefill** — same as the rest of the 4.6+ family. - **30-day data retention required** — Claude Fable 5 is not available under zero data retention; requests from an org whose retention configuration doesn't meet the requirement return `400 invalid_request_error`. - **Longer turns, different prompting** — single requests on hard tasks can run many minutes (plan timeouts/streaming/progress UX); effort sweeps should include low/medium for routine work; prompts written for prior models are often too prescriptive and reduce output quality. See `shared/model-migration.md` → Migrating to Claude Fable 5 → Behavioral shifts (prompt-tunable) for the recommended prompt snippets. @@ -225,6 +226,7 @@ Use adaptive thinking (`thinking: {type: "adaptive"}`) on every current model | Model | Thinking config | Omitting `thinking` | `budget_tokens` | Sampling (`temperature`/`top_p`/`top_k`) | Effort levels | |---|---|---|---|---|---| | Fable 5 | `{type: "adaptive"}` or omit; explicit `{type: "disabled"}` returns 400 — omit the param instead | Runs adaptive (thinking is always on) | Removed — `{type: "enabled", budget_tokens: N}` returns 400 | Removed — 400 | `low`/`medium`/`high`/`xhigh`/`max` | +| Claude Opus 5 | `{type: "adaptive"}` or omit; `{type: "disabled"}` accepted **only at effort `high` or below** — 400 at `xhigh`/`max`, and see the disabled-thinking pitfall below | Runs **adaptive** (thinking is on by default — unlike Opus 4.8/4.7) | Removed — 400 | Removed — 400 | `low`–`max` (all five) | | Opus 4.8 / 4.7 | `{type: "adaptive"}` is the only on-mode; `{type: "disabled"}` accepted | Runs **without** thinking — set `{type: "adaptive"}` explicitly | Removed — 400 | Removed — 400 | `low`/`medium`/`high`/`xhigh`/`max` | | Sonnet 5 | `{type: "adaptive"}` is the only on-mode; `{type: "disabled"}` accepted | Runs adaptive | Removed — 400 | Removed — 400 | `low`/`medium`/`high`/`xhigh`/`max` | | Opus 4.6 / Sonnet 4.6 | `{type: "adaptive"}` (recommended; auto-enables interleaved thinking, no beta header) | Set `{type: "adaptive"}` explicitly | Deprecated — do not use in new code; transitional escape hatch only (see below) | Allowed | `low`/`medium`/`high`/`max` (`xhigh` arrived with Opus 4.7) | @@ -233,14 +235,14 @@ Use adaptive thinking (`thinking: {type: "adaptive"}`) on every current model Opus 4.8 keeps the same request surface as 4.7 (no new breaking changes) — see `shared/model-migration.md` → Migrating to Opus 4.8 for the behavioral re-tuning, and → Migrating to Opus 4.7 for the full breaking-change list when coming from 4.6 or earlier. With `thinking` disabled, Opus 4.8 may write longer reasoning into the visible response — leave adaptive thinking on, or add a final-answer-only instruction (see the migration guide). - **Effort (GA, no beta header):** `output_config: {effort: "low"|"medium"|"high"|"xhigh"|"max"}` — inside `output_config`, not top-level; default `high` (equivalent to omitting it). Controls thinking depth and overall token spend; combine with adaptive thinking for the best cost-quality tradeoffs. `xhigh` (added on Opus 4.7, between `high` and `max`) is the best setting for most coding and agentic use cases on Fable 5 / Opus 4.7/4.8 / Sonnet 5, and the default in Claude Code; effort matters more on those models than on any prior model in their tier — re-tune it when migrating, and run long-horizon/agentic tasks at `high`/`xhigh` with the full task spec given up front. Use a minimum of `high` for intelligence-sensitive work, `max` when correctness matters more than cost, and `low` for subagents or simple tasks — lower effort means fewer and more-consolidated tool calls, less preamble, and terser confirmations (`high` is often the sweet spot balancing quality and token efficiency). -- **Thinking display — `"omitted"` by default on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 / Sonnet 5:** `display: "summarized"` returns a readable summary of the reasoning; `"omitted"` (the default on all five — a silent change from Opus 4.6 and Sonnet 4.6, where it was `"summarized"`) streams `thinking` blocks with empty text. `display` controls visibility only — thinking happens and is billed the same under every setting; the raw chain of thought is never exposed on any model. If you stream reasoning to users, the default looks like a long pause before output — set `thinking: {type: "adaptive", display: "summarized"}` explicitly. (Independent of display, echo thinking blocks back unchanged when continuing on the same model; other models silently ignore them — see the migration guide.) -- **When the user asks for "extended thinking", a "thinking budget", or `budget_tokens`:** always use Fable 5, Opus 4.8, 4.7, or 4.6 with `thinking: {type: "adaptive"}` — the fixed thinking-token-budget concept is deprecated and adaptive thinking replaces it. Do NOT use `budget_tokens` for new 4.6/4.7/4.8 code and do NOT switch to an older model just because the user mentions it. *Gradual-migration carve-out:* `budget_tokens` is still functional on Opus 4.6 and Sonnet 4.6 only, as a transitional escape hatch for existing code that needs a hard token ceiling before you've tuned `effort` — see `shared/model-migration.md` → Transitional escape hatch. It is fully removed on Fable 5, Opus 4.7/4.8, and Sonnet 5. +- **Thinking display — `"omitted"` by default on Fable 5 / Mythos 5 / Opus 5 / 4.8 / 4.7 / Sonnet 5:** `display: "summarized"` returns a readable summary of the reasoning; `"omitted"` (the default on all six — a silent change from Opus 4.6 and Sonnet 4.6, where it was `"summarized"`) streams `thinking` blocks with empty text. `display` controls visibility only — thinking happens and is billed the same under every setting; the raw chain of thought is never exposed on any model. If you stream reasoning to users, the default looks like a long pause before output — set `thinking: {type: "adaptive", display: "summarized"}` explicitly. (Independent of display, echo thinking blocks back unchanged when continuing on the same model; other models silently ignore them — see the migration guide.) +- **When the user asks for "extended thinking", a "thinking budget", or `budget_tokens`:** always use Fable 5, Opus 5, 4.8, 4.7, or 4.6 with `thinking: {type: "adaptive"}` — the fixed thinking-token-budget concept is deprecated and adaptive thinking replaces it. Do NOT use `budget_tokens` for new 4.6/4.7/4.8 code and do NOT switch to an older model just because the user mentions it. *Gradual-migration carve-out:* `budget_tokens` is still functional on Opus 4.6 and Sonnet 4.6 only, as a transitional escape hatch for existing code that needs a hard token ceiling before you've tuned `effort` — see `shared/model-migration.md` → Transitional escape hatch. It is fully removed on Fable 5, Opus 5/4.7/4.8, and Sonnet 5. --- ## Compaction (Quick Reference) -**Beta, Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 5, and Sonnet 4.6.** For long-running conversations that may exceed the 1M context window, enable server-side compaction. The API automatically summarizes earlier context when it approaches the trigger threshold (default: 150K tokens). Requires beta header `compact-2026-01-12`. +**Beta, Fable 5, Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, Sonnet 5, and Sonnet 4.6.** For long-running conversations that may exceed the 1M context window, enable server-side compaction. The API automatically summarizes earlier context when it approaches the trigger threshold (default: 150K tokens). Requires beta header `compact-2026-01-12`. **Critical:** Append `response.content` (not just the text) back to your messages on every turn. Compaction blocks in the response must be preserved — the API uses them to replace the compacted history on the next request. Extracting only the text string and appending that will silently lose the compaction state. @@ -252,7 +254,7 @@ See `{lang}/claude-api/README.md` (Compaction section) for code examples. Full d **Prefix match.** Any byte change anywhere in the prefix invalidates everything after it. Render order is `tools` → `system` → `messages`. Keep stable content first (frozen system prompt, deterministic tool list), put volatile content (timestamps, per-request IDs, varying questions) after the last `cache_control` breakpoint. -**Mid-conversation operator instructions** (Claude Opus 4.8 only; no beta header): append `{"role": "system", ...}` to `messages[]` instead of editing top-level `system`. Preserves the cached history prefix and is the prompt-injection-safe operator channel. See `shared/prompt-caching.md` § Mid-conversation system messages. +**Mid-conversation operator instructions** (Claude Opus 5, Claude Opus 4.8, Claude Fable 5, Claude Mythos 5; not Claude Sonnet 5; no beta header): append `{"role": "system", ...}` to `messages[]` instead of editing top-level `system`. Preserves the cached history prefix and is the prompt-injection-safe operator channel. See `shared/prompt-caching.md` § Mid-conversation system messages. **Top-level auto-caching** (`cache_control: {type: "ephemeral"}` on `messages.create()`) is the simplest option when you don't need fine-grained placement. Max 4 breakpoints per request. Minimum cacheable prefix is ~1024 tokens — shorter prefixes silently won't cache. @@ -264,11 +266,11 @@ For placement patterns, architectural guidance, and the silent-invalidator audit ## Fast Mode (Quick Reference) -**Research preview, Opus 4.8 / 4.7 only.** Opus 4.7 fast mode is deprecated — after removal, `speed: "fast"` on 4.7 returns an error. Opus 4.8 is the durable fast-capable tier. Fast mode runs the same model at up to 2.5x higher output tokens per second, at premium pricing. Three things are required on every request: use the **beta** messages endpoint (`client.beta.messages.…`), pass the beta flag `fast-mode-2026-02-01`, and set `speed: "fast"` as a top-level request parameter (not a header, not in `extra_body`). +**Research preview, Claude Opus 5 / Opus 4.8 only** — Claude API and Managed Agents, not Bedrock / Google Cloud / Foundry. Opus 4.7 fast mode has been removed: `speed: "fast"` on 4.7 returns an error. Fast mode on Claude Opus 5 is priced at $10 / $50 per MTok. Fast mode runs the same model at up to 2.5x higher output tokens per second, at premium pricing. Three things are required on every request: use the **beta** messages endpoint (`client.beta.messages.…`), pass the beta flag `fast-mode-2026-02-01`, and set `speed: "fast"` as a top-level request parameter (not a header, not in `extra_body`). ```python client.beta.messages.create( - model="claude-opus-4-8", max_tokens=4096, + model="claude-opus-5", max_tokens=4096, speed="fast", betas=["fast-mode-2026-02-01"], messages=[...], ) @@ -286,15 +288,17 @@ client.beta.messages.create( `response.usage.speed` reports which speed was used. Fast mode has its own rate limit separate from standard Opus; on 429, either retry after the `retry-after` delay or drop `speed` and fall back to standard (note: switching speed invalidates prompt cache). Not available with Batch API, Priority Tier, Claude Platform on AWS, or third-party platforms. +**Priority Tier does not cover Claude Opus 5.** It is supported on every other current model, including Claude Fable 5 and Opus 4.8, but Claude Opus 5, Claude Sonnet 5, Claude Mythos 5, and Mythos Preview are excluded — a Priority Tier request naming one of them fails validation. + --- ## Task Budgets (Quick Reference) -**Beta, Fable 5 / Sonnet 5 / Opus 4.8 / 4.7.** A task budget gives Claude a token ceiling for an agentic loop so it paces itself and finishes gracefully instead of being cut off — distinct from `max_tokens`, which is an enforced per-response ceiling the model is not aware of. Minimum `total`: 20,000. Set `task_budget` inside `output_config` on `client.beta.messages.stream(...)` with beta flag `task-budgets-2026-03-13` — use streaming so the large `max_tokens` doesn't hit HTTP timeouts (full details: `shared/model-migration.md` → Task Budgets): +**Beta, Claude Opus 5 / Fable 5 / Sonnet 5 / Opus 4.8 / 4.7.** A task budget gives Claude a token ceiling for an agentic loop so it paces itself and finishes gracefully instead of being cut off — distinct from `max_tokens`, which is an enforced per-response ceiling the model is not aware of. Minimum `total`: 20,000. Set `task_budget` inside `output_config` on `client.beta.messages.stream(...)` with beta flag `task-budgets-2026-03-13` — use streaming so the large `max_tokens` doesn't hit HTTP timeouts (full details: `shared/model-migration.md` → Task Budgets): ```python with client.beta.messages.stream( - model="claude-opus-4-8", max_tokens=128000, + model="claude-opus-5", max_tokens=128000, output_config={"effort": "high", "task_budget": {"type": "tokens", "total": 64000}}, betas=["task-budgets-2026-03-13"], messages=[...], tools=[...], @@ -314,7 +318,7 @@ When targeting Claude on a third-party platform, use that platform's dedicated c ### Amazon Bedrock -Use the **Mantle** client (Messages-API Bedrock endpoint). Bedrock model IDs take an `anthropic.` prefix (e.g. `"anthropic.claude-opus-4-8"`). Region is required. +Use the **Mantle** client (Messages-API Bedrock endpoint). Bedrock model IDs take an `anthropic.` prefix (e.g. `"anthropic.claude-opus-5"`). Region is required. | Language | Client | |---|---| @@ -342,7 +346,7 @@ The Go and Ruby SDKs do not currently support Foundry. For Ruby, use the standar ### Google Cloud Vertex AI -Two required constructor args: GCP `project_id` and `region`. Vertex model IDs take **no prefix** — current-generation models (Opus 4.8/4.7/4.6, Sonnet 5, Sonnet 4.6) use the bare first-party ID (e.g. `"claude-opus-4-8"`); dated-snapshot models use an `@` version separator (e.g. `claude-opus-4-5@20251101`, **not** `claude-opus-4-5-20251101`). Auth is GCP ADC (`gcloud auth application-default login`); no Anthropic API key. `region` can be `"global"` (recommended), a multi-region (`"us"`/`"eu"`), or a specific region. After construction, use the same `messages.create` / `.stream` surface. +Two required constructor args: GCP `project_id` and `region`. Vertex model IDs take **no prefix** — current-generation models (Opus 4.8/4.7/4.6, Sonnet 5, Sonnet 4.6) use the bare first-party ID (e.g. `"claude-opus-5"`); dated-snapshot models use an `@` version separator (e.g. `claude-opus-4-5@20251101`, **not** `claude-opus-4-5-20251101`). Auth is GCP ADC (`gcloud auth application-default login`); no Anthropic API key. `region` can be `"global"` (recommended), a multi-region (`"us"`/`"eu"`), or a specific region. After construction, use the same `messages.create` / `.stream` surface. | Language | Client | |---|---| @@ -362,7 +366,7 @@ Two required constructor args: GCP `project_id` and `region`. Vertex model IDs t ```python client.beta.messages.create( - model="claude-opus-4-8", max_tokens=4096, + model="claude-opus-5", max_tokens=4096, betas=["context-management-2025-06-27"], context_management={"edits": [{"type": "clear_tool_uses_20250919"}]}, tools=[...], messages=[...], @@ -375,7 +379,7 @@ Strategy types: `clear_tool_uses_20250919` (clears old tool results; optional `c ## Mid-Conversation System Messages (Quick Reference) -**Claude Opus 4.8 only; no beta header.** Append `{"role": "system", "content": "…"}` to the `messages` array (not the top-level `system` field) to add an operator instruction mid-conversation without invalidating the cached prefix. Use the regular `client.messages.create` — there is no beta. A mid-conversation system message must follow a `user` message (or an `assistant` message ending in server-tool use), and must be either the last entry in `messages` or be followed by an `assistant` turn — it cannot be `messages[0]`. Availability: `shared/platform-availability.md`. See `shared/prompt-caching.md` § Mid-conversation system messages. +**Claude Opus 5, Claude Opus 4.8, Claude Fable 5, and Claude Mythos 5; not Claude Sonnet 5; no beta header.** Append `{"role": "system", "content": "…"}` to the `messages` array (not the top-level `system` field) to add an operator instruction mid-conversation without invalidating the cached prefix. Use the regular `client.messages.create` — there is no beta. A mid-conversation system message must follow a `user` message (or an `assistant` message ending in server-tool use), and must be either the last entry in `messages` or be followed by an `assistant` turn — it cannot be `messages[0]`. Availability: `shared/platform-availability.md`. See `shared/prompt-caching.md` § Mid-conversation system messages. --- @@ -407,7 +411,7 @@ Availability: `shared/platform-availability.md`. For agents on Bedrock / Vertex ## Server Tools (Quick Reference) -Server-side tools run on Anthropic's infrastructure — no client-side execution loop. Declare in `tools`; results arrive as content blocks in the same response. **No beta header** unless noted. **Prefer the latest type variant your model supports.** The `_20260209` web search / web fetch variants below (dynamic filtering) require Opus 4.8/4.7/4.6, Sonnet 5, or Sonnet 4.6; the basic variants for older models are listed after the table. +Server-side tools run on Anthropic's infrastructure — no client-side execution loop. Declare in `tools`; results arrive as content blocks in the same response. **No beta header** unless noted. **Prefer the latest type variant your model supports.** The `_20260209` web search / web fetch variants below (dynamic filtering) require Opus 5/4.8/4.7/4.6, Sonnet 5, or Sonnet 4.6; the basic variants for older models are listed after the table. | Tool | `type` | `name` | Key optional params | Result block type | |---|---|---|---|---| @@ -441,7 +445,7 @@ Server-side tools run on Anthropic's infrastructure — no client-side execution **Message Batches (no beta; availability: `shared/platform-availability.md`):** `client.messages.batches.create(requests=[{custom_id, params}, ...])` → poll `client.messages.batches.retrieve(id).processing_status` until `"ended"` → stream `client.messages.batches.results(id)`. Each result has `.custom_id` + `.result.type` (`succeeded`/`errored`/`canceled`/`expired`); on success read `.result.message.content`. Python wraps requests as `Request(custom_id=..., params=MessageCreateParamsNonStreaming(...))`. Results arrive in **any order** — key by `custom_id`, never by position. -**Models API (no beta; availability: `shared/platform-availability.md`):** `client.models.list()` (auto-paginates) and `client.models.retrieve("claude-opus-4-8")`. Each model object has `id`, `display_name`, `created_at`, and — since Mar 2026 — `max_input_tokens` (the context window), `max_tokens` (the output cap), and `capabilities`. There is no `context_window` field. +**Models API (no beta; availability: `shared/platform-availability.md`):** `client.models.list()` (auto-paginates) and `client.models.retrieve("claude-opus-5")`. Each model object has `id`, `display_name`, `created_at`, and — since Mar 2026 — `max_input_tokens` (the context window), `max_tokens` (the output cap), and `capabilities`. There is no `context_window` field. **Stop details (GA, Opus 4.7+):** `response.stop_details` is populated **only when `stop_reason == "refusal"`** (fields: `type: "refusal"`, `category: "cyber"|"bio"|null`, `explanation`). It is `null` for every other `stop_reason` (`end_turn`, `max_tokens`, `tool_use`, `pause_turn`, …) — always guard before reading. @@ -471,7 +475,7 @@ The Quick Task Reference below uses the `{lang}/claude-api/FILE.md` path notatio **Long-running conversations (may exceed context window):** → Read `{lang}/claude-api/README.md` — see Compaction section -**Migrating to a newer model (Fable 5 / Opus 4.8 / Opus 4.7 / Opus 4.6 / Sonnet 5 / Sonnet 4.6), replacing a retired model, or translating `budget_tokens` / prefill patterns to the current API:** +**Migrating to a newer model (Fable 5 / Opus 5 / Opus 4.8 / Opus 4.7 / Opus 4.6 / Sonnet 5 / Sonnet 4.6), replacing a retired model, or translating `budget_tokens` / prefill patterns to the current API:** → Read `shared/model-migration.md` **Prompting or tuning Fable 5 (long turns, effort, verbosity, autonomous runs, sub-agents):** → Read `shared/model-migration.md` → Migrating to Fable 5 → Behavioral shifts (prompt-tunable) + Long-running agent recommendations @@ -516,11 +520,12 @@ Live documentation URLs are in `shared/live-sources.md`. ## Common Pitfalls - Don't truncate inputs when passing files or content to the API. If the content is too long to fit in the context window, notify the user and discuss options (chunking, summarization, etc.) rather than silently truncating. -- **Prefill removed (Fable 5 and the 4.6/4.7/4.8 family):** Assistant message prefills (last-assistant-turn prefills) return a 400 error on Fable 5, Opus 4.6, Opus 4.7, Opus 4.8, and Sonnet 4.6. Use structured outputs (`output_config.format`) or system prompt instructions to control response format instead. (One exception: the fallback-credit prefill claim — when redeeming a credit with `fallback_has_prefill_claim: true`, the server accepts the echoed assistant message; see the migration guide's refusal section.) +- **Prefill removed (Fable 5, Opus 5, and the 4.6/4.7/4.8 family):** Assistant message prefills (last-assistant-turn prefills) return a 400 error on Fable 5, Opus 5, Opus 4.6, Opus 4.7, Opus 4.8, and Sonnet 4.6. Use structured outputs (`output_config.format`) or system prompt instructions to control response format instead. (One exception: the fallback-credit prefill claim — when redeeming a credit with `fallback_has_prefill_claim: true`, the server accepts the echoed assistant message; see the migration guide's refusal section.) - **Confirm migration scope before editing:** When a user asks to migrate code to a newer Claude model without naming a specific file, directory, or file list, **ask which scope to apply first** — the entire working directory, a specific subdirectory, or a specific set of files. Do not start editing until the user confirms. Imperative phrasings like "migrate my codebase", "move my project to X", "upgrade to Sonnet 4.6", or bare "migrate to Opus 4.8" are **still ambiguous** — they tell you what to do but not where, so ask. Proceed without asking only when the prompt names an exact file, a specific directory, or an explicit file list ("migrate `app.py`", "migrate everything under `services/`", "update `a.py` and `b.py`"). See `shared/model-migration.md` Step 0. - **`max_tokens` defaults:** Don't lowball `max_tokens` — hitting the cap truncates output mid-thought and requires a retry. For non-streaming requests, default to `~16000` (keeps responses under SDK HTTP timeouts). For streaming requests, default to `~64000` (timeouts aren't a concern, so give the model room). Only go lower when you have a hard reason: classification (`~256`), cost caps, deliberately short outputs, or **`max_tokens: 0`** for cache pre-warming (see `shared/prompt-caching.md` → Pre-warming). -- **128K output tokens:** Fable 5, Opus 4.6, Opus 4.7, Opus 4.8, Sonnet 5, and Sonnet 4.6 support up to 128K `max_tokens`, but the SDKs require streaming for values that large to avoid HTTP timeouts. Use `.stream()` with `.get_final_message()` / `.finalMessage()`. -- **Tool call JSON parsing (Fable 5 and the 4.6/4.7/4.8 family):** Fable 5, Opus 4.6, Opus 4.7, Opus 4.8, and Sonnet 4.6 may produce different JSON string escaping in tool call `input` fields (e.g., Unicode or forward-slash escaping). Always parse tool inputs with `json.loads()` / `JSON.parse()` — never do raw string matching on the serialized input. +- **Disabling thinking on Claude Opus 5 has two failure modes — prefer low/medium effort instead.** Only affects code that explicitly opts out; thinking is on by default, so watch for a disabled-thinking setting carried forward from Opus 4.8. With `thinking: {type: "disabled"}`, the model occasionally writes a tool call into its **visible text** instead of a `tool_use` block: the turn succeeds, the call never runs, no error is raised, and in an agentic loop that text pollutes later turns. It can also leak `` tags into the response. Turning thinking on and lowering `effort` fixes both and still cuts cost. If a route must stay thinking-off: **delete** any don't-think/don't-reason rule (it makes tag leakage worse), don't name thinking tags, and add the combined instruction *"When you use a tool, you may say a brief sentence first. If no tool can express what the user asked for, say so instead of guessing. Do not include internal or system XML tags in your response."* Details: `shared/model-migration.md` → Two failure modes when thinking is disabled. +- **128K output tokens:** Fable 5, Opus 5, Opus 4.6, Opus 4.7, Opus 4.8, Sonnet 5, and Sonnet 4.6 support up to 128K `max_tokens`, but the SDKs require streaming for values that large to avoid HTTP timeouts. Use `.stream()` with `.get_final_message()` / `.finalMessage()`. +- **Tool call JSON parsing (Fable 5, Opus 5, and the 4.6/4.7/4.8 family):** Fable 5, Opus 5, Opus 4.6, Opus 4.7, Opus 4.8, and Sonnet 4.6 may produce different JSON string escaping in tool call `input` fields (e.g., Unicode or forward-slash escaping). Always parse tool inputs with `json.loads()` / `JSON.parse()` — never do raw string matching on the serialized input. - **Structured outputs (all models):** Use `output_config: {format: {...}}` instead of the deprecated `output_format` parameter on `messages.create()`. This is a general API change, not 4.6-specific. - **Don't reimplement SDK functionality:** The SDK provides high-level helpers — use them instead of building from scratch. Specifically: use `stream.finalMessage()` instead of wrapping `.on()` events in `new Promise()`; use typed exception classes (`Anthropic.RateLimitError`, etc.) instead of string-matching error messages; use SDK types (`Anthropic.MessageParam`, `Anthropic.Tool`, `Anthropic.Message`, etc.) instead of redefining equivalent interfaces. - **Error handling — catch a chain, not one broad class.** A single `except APIStatusError` / `catch (AnthropicServiceException)` / `rescue APIError` loses the distinction between retryable (429, ≥500, network) and non-retryable (400/404) failures. Write a most-specific-first chain — e.g. `NotFoundError` → `RateLimitError` → `APIStatusError` → `APIConnectionError` (or the Go equivalent: `errors.As` into `*anthropic.Error` then `switch apierr.StatusCode { case 404: …; case 429: …; default: … }`). Per-language class names and namespaces are in `shared/error-codes.md`. @@ -533,7 +538,7 @@ Live documentation URLs are in `shared/live-sources.md`. - **Fine-grained tool streaming is not a beta feature.** Set `eager_input_streaming: true` on the tool definition and call the regular `client.messages.stream(...)`. There is no beta header and no `client.beta.*` path. - **Cache diagnostics is beta.** Use `client.beta.messages.*` with beta `cache-diagnosis-2026-04-07`. Pass `diagnostics: {previous_message_id: null}` on the first turn and `diagnostics: {previous_message_id: }` on subsequent turns; the result is on `response.diagnostics`. Availability: `shared/platform-availability.md`. - **Memory tool type is `memory_20250818`.** Declare `{"type": "memory_20250818", "name": "memory"}`. Go uses the beta-namespace type `{OfMemoryTool20250818: &anthropic.BetaMemoryTool20250818Param{}}` on `client.Beta.Messages.New`; Python/TypeScript/Ruby/PHP/C# use the non-beta `client.messages.create`; Java has both a non-beta `MemoryTool20250818` and a beta tool-runner path. Python/TypeScript provide `BetaAbstractMemoryTool` / `betaMemoryTool` helpers for implementing the backend. -- **Use a model the feature actually supports.** Some features are restricted to specific model tiers — fast mode is Opus 4.8 / 4.7 only, task budgets are Fable 5 / Sonnet 5 / Opus 4.8 / 4.7 only, and the advisor tool requires a valid executor↔advisor pair. If the user's prompt names a model that the feature doesn't support, use a supported model instead and note the substitution in the output. +- **Use a model the feature actually supports.** Some features are restricted to specific model tiers — fast mode is Claude Opus 5 / Opus 4.8 only (and Claude API only), task budgets are Claude Opus 5 / Fable 5 / Sonnet 5 / Opus 4.8 / 4.7 only, and the advisor tool requires a valid executor↔advisor pair. If the user's prompt names a model that the feature doesn't support, use a supported model instead and note the substitution in the output. - **Don't define custom types for SDK data structures:** The SDK exports types for all API objects. Use `Anthropic.MessageParam` for messages, `Anthropic.Tool` for tool definitions, `Anthropic.ToolUseBlock` / `Anthropic.ToolResultBlockParam` for tool results, `Anthropic.Message` for responses. Defining your own `interface ChatMessage { role: string; content: unknown }` duplicates what the SDK already provides and loses type safety. - **Report and document output:** For tasks that produce reports, documents, or visualizations, the code execution sandbox has `python-docx`, `python-pptx`, `matplotlib`, `pillow`, and `pypdf` pre-installed. Claude can generate formatted files (DOCX, PDF, charts) and return them via the Files API — consider this for "report" or "document" type requests instead of plain stdout text. - **Server-tool errors don't raise.** Web search and web fetch errors return HTTP 200 with a `web_search_tool_result` / `web_fetch_tool_result` block whose `content` is a single error object (e.g. `{error_code: "max_uses_exceeded"}`) — not a raised exception. For web search, a success `content` is a *list*; an error `content` is an *object* — branch on that before indexing. diff --git a/content/github/skills/skills/claude-api/csharp/claude-api/README.md b/content/github/skills/skills/claude-api/csharp/claude-api/README.md index 5c40f001a..9891518ce 100644 --- a/content/github/skills/skills/claude-api/csharp/claude-api/README.md +++ b/content/github/skills/skills/claude-api/csharp/claude-api/README.md @@ -35,7 +35,7 @@ Write from this table instead of reflecting the SDK assembly. Endpoint column te | Programmatic tool calling | non-beta | `CodeExecutionTool20260120`, `ToolResultBlockParam`, `ContentBlockParam` | | Task budgets | beta | `BetaOutputConfig` with `TaskBudget = new BetaTokenTaskBudget { ... }` | | Tool search | non-beta | `new ToolUnion(new ToolSearchToolRegex20251119 { Type = ToolSearchToolRegex20251119Type.ToolSearchToolRegex20251119 })` — `Type` must be set explicitly. | -| Web search | non-beta | `new ToolUnion(new WebSearchTool20260209())` — the latest variant with dynamic filtering (Opus 4.8/4.7/4.6 + Sonnet 4.6). For older models or Vertex, use `WebSearchTool20250305()` | +| Web search | non-beta | `new ToolUnion(new WebSearchTool20260209())` — the latest variant with dynamic filtering (Claude Fable 5 + Claude Opus 5 + Opus 4.8/4.7/4.6 + Claude Sonnet 5 + Sonnet 4.6). For older models or Vertex, use `WebSearchTool20250305()` | ### Discovering type and member names @@ -58,7 +58,7 @@ AnthropicClient client = new(); var message = await client.Messages.Create(new MessageCreateParams { - Model = Model.ClaudeOpus4_8, + Model = "claude-opus-5", MaxTokens = 1024, Messages = [ new() { Role = Role.User, Content = "Hello, Claude" } ], }); @@ -77,7 +77,7 @@ AnthropicClient client = new(); var response = await client.Beta.Messages.Create(new MessageCreateParams { - Model = "claude-opus-4-8", + Model = "claude-opus-5", MaxTokens = 4096, Betas = [""], Messages = [ new() { Role = Role.User, Content = "…" } ], @@ -123,7 +123,7 @@ using Anthropic.Models.Messages; var parameters = new MessageCreateParams { - Model = Model.ClaudeOpus4_8, + Model = "claude-opus-5", MaxTokens = 16000, Messages = [new() { Role = Role.User, Content = "What is the capital of France?" }] }; @@ -144,7 +144,8 @@ foreach (var text in response.Content.Select(b => b.Value).OfType()) **Adaptive thinking is the recommended mode for Claude 4.6+ models.** Claude decides dynamically when and how much to think. -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (below). `new ThinkingConfigEnabled { BudgetTokens = N }` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (below). `new ThinkingConfigEnabled { BudgetTokens = N }` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `Thinking` runs adaptive (`ThinkingConfigAdaptive` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `ThinkingConfigDisabled` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400. > **Older models:** Use `new ThinkingConfigEnabled { BudgetTokens = N }` (budget must be < `MaxTokens`, min 1024). ```csharp @@ -152,11 +153,11 @@ using Anthropic.Models.Messages; var response = await client.Messages.Create(new MessageCreateParams { - Model = Model.ClaudeOpus4_8, + Model = "claude-opus-5", MaxTokens = 16000, // ThinkingConfigParam? implicitly converts from the concrete variant classes — // no wrapper needed. - // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 + // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7 Thinking = new ThinkingConfigAdaptive { Display = Display.Summarized }, Messages = [ @@ -200,7 +201,7 @@ using Anthropic.Models.Beta.Messages; var betaParams = new MessageCreateParams // no Beta prefix — see unprefixed list above { - Model = Model.ClaudeOpus4_8, + Model = "claude-opus-5", MaxTokens = 16000, Betas = ["compact-2026-01-12"], ContextManagement = new BetaContextManagementConfig @@ -289,7 +290,7 @@ Verify hits via `response.Usage.CacheCreationInputTokens` / `response.Usage.Cach ```csharp MessageTokensCount result = await client.Messages.CountTokens(new MessageCountTokensParams { - Model = Model.ClaudeOpus4_8, + Model = "claude-opus-5", Messages = [new() { Role = Role.User, Content = "Hello" }], }); long tokens = result.InputTokens; @@ -319,7 +320,7 @@ new MessageParam { ```csharp var response = await client.Beta.Messages.Create(new MessageCreateParams { - Model = "claude-opus-4-8", MaxTokens = 4096, + Model = "claude-opus-5", MaxTokens = 4096, Speed = Speed.Fast, Betas = ["fast-mode-2026-02-01"], Messages = [...], @@ -331,14 +332,14 @@ var response = await client.Beta.Messages.Create(new MessageCreateParams { ```csharp var page = await client.Models.List(); foreach (var m in page.Items) { Console.WriteLine(m.ID); } -var one = await client.Models.Retrieve("claude-opus-4-8"); +var one = await client.Models.Retrieve("claude-opus-5"); ``` ## Long Output (128k) + Prefill Set `MaxTokens = 128000` on `client.Messages` and use the streaming path (see `streaming.md`). On Claude 4+ models, 128k output is native — no `output-128k-*` beta header or beta namespace is needed. -**Prefilling the assistant message** (putting a trailing `Role.Assistant` message in the input) is **not supported** on Claude Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6 — requests return a 400. Use `OutputConfig.Format` (structured outputs) instead. +**Prefilling the assistant message** (putting a trailing `Role.Assistant` message in the input) is **not supported** on Claude Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6 — requests return a 400. Use `OutputConfig.Format` (structured outputs) instead. ## Stop Details diff --git a/content/github/skills/skills/claude-api/csharp/claude-api/batches.md b/content/github/skills/skills/claude-api/csharp/claude-api/batches.md index e025a49d0..c066bef6c 100644 --- a/content/github/skills/skills/claude-api/csharp/claude-api/batches.md +++ b/content/github/skills/skills/claude-api/csharp/claude-api/batches.md @@ -5,7 +5,7 @@ ```csharp var batch = await client.Messages.Batches.Create(new() { Requests = [ - new() { CustomID = "req-1", Params = new() { Model = "claude-opus-4-8", MaxTokens = 1024, Messages = [...] } }, + new() { CustomID = "req-1", Params = new() { Model = "claude-opus-5", MaxTokens = 1024, Messages = [...] } }, ], }); // Poll client.Messages.Batches.Retrieve(batch.ID) until ProcessingStatus == "ended", diff --git a/content/github/skills/skills/claude-api/curl/examples.md b/content/github/skills/skills/claude-api/curl/examples.md index 4625a7fa1..ba93ea217 100644 --- a/content/github/skills/skills/claude-api/curl/examples.md +++ b/content/github/skills/skills/claude-api/curl/examples.md @@ -18,7 +18,7 @@ curl https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ - "model": "claude-opus-4-8", + "model": "claude-opus-5", "max_tokens": 16000, "messages": [ {"role": "user", "content": "What is the capital of France?"} @@ -38,7 +38,7 @@ response=$(curl -s https://api.anthropic.com/v1/messages \ -H "Content-Type: application/json" \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ - -d '{"model":"claude-opus-4-8","max_tokens":16000,"messages":[{"role":"user","content":"Hello"}]}') + -d '{"model":"claude-opus-5","max_tokens":16000,"messages":[{"role":"user","content":"Hello"}]}') # Print the first text block (-r strips the JSON quotes) echo "$response" | jq -r '.content[0].text' @@ -65,7 +65,7 @@ curl https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ - "model": "claude-opus-4-8", + "model": "claude-opus-5", "max_tokens": 64000, "stream": true, "messages": [{"role": "user", "content": "Write a haiku"}] @@ -104,7 +104,7 @@ curl https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ - "model": "claude-opus-4-8", + "model": "claude-opus-5", "max_tokens": 16000, "tools": [{ "name": "get_weather", @@ -129,7 +129,7 @@ curl https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ - "model": "claude-opus-4-8", + "model": "claude-opus-5", "max_tokens": 16000, "tools": [{ "name": "get_weather", @@ -167,7 +167,7 @@ curl https://api.anthropic.com/v1/messages \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ - "model": "claude-opus-4-8", + "model": "claude-opus-5", "max_tokens": 16000, "system": [ {"type": "text", "text": "", "cache_control": {"type": "ephemeral"}} @@ -182,17 +182,18 @@ For 1-hour TTL: `"cache_control": {"type": "ephemeral", "ttl": "1h"}`. Top-level ## Extended Thinking -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `"thinking"` runs adaptive (`{"type": "adaptive"}` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `{"type": "disabled"}` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400. > **Older models:** Use `"type": "enabled"` with `"budget_tokens": N` (must be < `max_tokens`, min 1024). ```bash -# Fable 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended) +# Fable 5 / Claude Opus 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended) curl https://api.anthropic.com/v1/messages \ -H "Content-Type: application/json" \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -d '{ - "model": "claude-opus-4-8", + "model": "claude-opus-5", "max_tokens": 16000, "thinking": { "type": "adaptive", @@ -241,7 +242,7 @@ if [ "$(echo "$response" | jq -r '.stop_reason')" != "refusal" ] && \ fi ``` -The header must be exactly `server-side-fallback-2026-06-01`. The parameter is rejected on the Batches API and unavailable on Amazon Bedrock, Vertex AI, and Microsoft Foundry. Full semantics (sticky routing, billing, streaming, echoing fallback turns back): `shared/model-migration.md` → Migrating to Claude Fable 5 → `refusal` stop reason. +The header must be exactly `server-side-fallback-2026-06-01` **for this array form**; the newer `fallbacks: "default"` scalar form uses `server-side-fallback-2026-07-01` instead (see `shared/model-migration.md` → Migrating to Claude Opus 5 → New API features), and pairing either header with the other form returns a 400. The parameter is rejected on the Batches API and unavailable on Amazon Bedrock, Vertex AI, and Microsoft Foundry. Full semantics (sticky routing, billing, streaming, echoing fallback turns back): `shared/model-migration.md` → Migrating to Claude Fable 5 → `refusal` stop reason. --- diff --git a/content/github/skills/skills/claude-api/curl/managed-agents.md b/content/github/skills/skills/claude-api/curl/managed-agents.md index 62de232cb..72ee208da 100644 --- a/content/github/skills/skills/claude-api/curl/managed-agents.md +++ b/content/github/skills/skills/claude-api/curl/managed-agents.md @@ -65,7 +65,7 @@ curl -X POST https://api.anthropic.com/v1/agents \ "${HEADERS[@]}" \ -d '{ "name": "Coding Assistant", - "model": "claude-opus-4-8", + "model": "claude-opus-5", "tools": [{ "type": "agent_toolset_20260401" }] }' # → { "id": "agent_abc123", ... } @@ -89,7 +89,7 @@ curl -X POST https://api.anthropic.com/v1/agents \ "${HEADERS[@]}" \ -d '{ "name": "Code Reviewer", - "model": "claude-opus-4-8", + "model": "claude-opus-5", "system": "You are a senior code reviewer. Be thorough and constructive.", "tools": [ { "type": "agent_toolset_20260401" }, @@ -295,7 +295,7 @@ curl -X POST https://api.anthropic.com/v1/agents \ "${HEADERS[@]}" \ -d '{ "name": "MCP Agent", - "model": "claude-opus-4-8", + "model": "claude-opus-5", "mcp_servers": [ { "type": "url", "name": "my-tools", "url": "https://my-mcp-server.example.com/sse" } ], @@ -326,7 +326,7 @@ curl -X POST https://api.anthropic.com/v1/agents \ "${HEADERS[@]}" \ -d '{ "name": "Restricted Agent", - "model": "claude-opus-4-8", + "model": "claude-opus-5", "tools": [ { "type": "agent_toolset_20260401", diff --git a/content/github/skills/skills/claude-api/go/claude-api/README.md b/content/github/skills/skills/claude-api/go/claude-api/README.md index 5635e7e5c..958582c33 100644 --- a/content/github/skills/skills/claude-api/go/claude-api/README.md +++ b/content/github/skills/skills/claude-api/go/claude-api/README.md @@ -29,7 +29,9 @@ client := anthropic.NewClient( ## Model Constants -The Go SDK provides typed model constants: `anthropic.ModelClaudeFable5`, `anthropic.ModelClaudeOpus4_8`, `anthropic.ModelClaudeOpus4_7`, `anthropic.ModelClaudeSonnet4_6`, `anthropic.ModelClaudeHaiku4_5_20251001`. Use `ModelClaudeOpus4_8` unless the user specifies otherwise; if they ask for Fable or the most powerful model, use `anthropic.ModelClaudeFable5` (see `shared/models.md` for the full resolution table). +The Go SDK provides typed model constants: `anthropic.ModelClaudeFable5`, `anthropic.ModelClaudeOpus4_8`, `anthropic.ModelClaudeOpus4_7`, `anthropic.ModelClaudeSonnet4_6`, `anthropic.ModelClaudeHaiku4_5_20251001`. Default to Claude Opus 5 unless the user specifies otherwise; if they ask for Fable or the most powerful model, use `anthropic.ModelClaudeFable5` (see `shared/models.md` for the full resolution table). + +`anthropic.Model` is an alias for `string`, so a model with no typed constant yet — including Claude Opus 5 — is passed as the plain id: `Model: "claude-opus-5"`. Check the SDK release notes for a typed `Claude Opus 5` constant before assuming one exists. --- @@ -37,7 +39,7 @@ The Go SDK provides typed model constants: `anthropic.ModelClaudeFable5`, `anthr ```go response, err := client.Messages.New(context.Background(), anthropic.MessageNewParams{ - Model: anthropic.ModelClaudeOpus4_8, + Model: "claude-opus-5", MaxTokens: 16000, Messages: []anthropic.MessageParam{ anthropic.NewUserMessage(anthropic.NewTextBlock("What is the capital of France?")), @@ -93,10 +95,11 @@ for _, block := range resp.Content { } ``` -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (above). `ThinkingConfigParamOfEnabled(budgetTokens)` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (above). `ThinkingConfigParamOfEnabled(budgetTokens)` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — leaving `Thinking` unset runs adaptive (the adaptive union is equivalent), unlike Opus 4.8/4.7 where leaving it unset meant no thinking. > **Older models:** Use `anthropic.ThinkingConfigParamOfEnabled(N)` (budget must be < `MaxTokens`, min 1024). -To disable: `anthropic.ThinkingConfigParamUnion{OfDisabled: &anthropic.ThinkingConfigDisabledParam{}}`. +To disable: `anthropic.ThinkingConfigParamUnion{OfDisabled: &anthropic.ThinkingConfigDisabledParam{}}`. On Claude Opus 5 that is accepted only at effort `high` or lower — pairing it with `xhigh`/`max` returns a 400. --- @@ -155,7 +158,7 @@ Use `Beta.Messages.New` with `ContextManagement` on `BetaMessageNewParams`. Ther ```go params := anthropic.BetaMessageNewParams{ - Model: anthropic.ModelClaudeOpus4_8, // also supported: ModelClaudeSonnet4_6 + Model: "claude-opus-5", // also supported: ModelClaudeOpus4_8, ModelClaudeSonnet4_6 MaxTokens: 16000, Betas: []anthropic.AnthropicBeta{"compact-2026-01-12"}, ContextManagement: anthropic.BetaContextManagementConfigParam{ diff --git a/content/github/skills/skills/claude-api/go/managed-agents/README.md b/content/github/skills/skills/claude-api/go/managed-agents/README.md index 92abd2a49..d5cdc5e3e 100644 --- a/content/github/skills/skills/claude-api/go/managed-agents/README.md +++ b/content/github/skills/skills/claude-api/go/managed-agents/README.md @@ -65,7 +65,7 @@ fmt.Println(environment.ID) // env_... agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{ Name: "Coding Assistant", Model: anthropic.BetaManagedAgentsModelConfigParams{ - ID: "claude-opus-4-8", + ID: "claude-opus-5", Type: anthropic.BetaManagedAgentsModelConfigParamsTypeModelConfig, }, System: anthropic.String("You are a helpful coding assistant."), @@ -383,7 +383,7 @@ if err != nil { agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{ Name: "GitHub Assistant", Model: anthropic.BetaManagedAgentsModelConfigParams{ - ID: "claude-opus-4-8", + ID: "claude-opus-5", Type: anthropic.BetaManagedAgentsModelConfigParamsTypeModelConfig, }, MCPServers: []anthropic.BetaManagedAgentsURLMCPServerParams{{ diff --git a/content/github/skills/skills/claude-api/java/claude-api/README.md b/content/github/skills/skills/claude-api/java/claude-api/README.md index baf2eed87..57aeb67c6 100644 --- a/content/github/skills/skills/claude-api/java/claude-api/README.md +++ b/content/github/skills/skills/claude-api/java/claude-api/README.md @@ -33,7 +33,7 @@ Write from this table instead of `javap`/jar inspection. Endpoint column tells y | Strict tool use | non-beta | `Tool`, `Tool.InputSchema` | | Task budgets | beta | `.outputConfig(BetaOutputConfig.builder().taskBudget(BetaTokenTaskBudget.builder()...))` | | Tool search | non-beta | `.addTool(ToolSearchToolRegex20251119.builder()...)` from `com.anthropic.models.messages` | -| Web search | non-beta | `WebSearchTool20260209` from `com.anthropic.models.messages` — the latest variant with dynamic filtering (Opus 4.8/4.7/4.6 + Sonnet 4.6). For older models or Vertex, use `WebSearchTool20250305` | +| Web search | non-beta | `WebSearchTool20260209` from `com.anthropic.models.messages` — the latest variant with dynamic filtering (Claude Fable 5 + Claude Opus 5 + Opus 4.8/4.7/4.6 + Claude Sonnet 5 + Sonnet 4.6). For older models or Vertex, use `WebSearchTool20250305` | ### Discovering type and member names @@ -79,10 +79,9 @@ AnthropicClient client = AnthropicOkHttpClient.builder() ```java import com.anthropic.models.messages.MessageCreateParams; import com.anthropic.models.messages.Message; -import com.anthropic.models.messages.Model; MessageCreateParams params = MessageCreateParams.builder() - .model(Model.CLAUDE_OPUS_4_8) + .model("claude-opus-5") // .model(String) overload — use it for ids with no typed Model constant yet .maxTokens(16000L) .addUserMessage("What is the capital of France?") .build(); @@ -99,7 +98,8 @@ response.content().stream() **Adaptive thinking is the recommended mode for Claude 4.6+ models.** Claude decides dynamically when and how much to think. The builder has a direct `.thinking(ThinkingConfigAdaptive)` overload — no manual union wrapping. -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (below). `ThinkingConfigEnabled.builder().budgetTokens(N)` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (below). `ThinkingConfigEnabled.builder().budgetTokens(N)` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `.thinking(...)` runs adaptive (`ThinkingConfigAdaptive` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `ThinkingConfigDisabled` is accepted only at effort `HIGH` or lower; pairing it with `XHIGH`/`MAX` returns a 400. > **Older models:** Use `.thinking(ThinkingConfigEnabled.builder().budgetTokens(N).build())` (budget must be < `maxTokens`, min 1024). ```java @@ -133,7 +133,7 @@ Effort is nested inside `OutputConfig` — there is NO `.effort()` directly on ` import com.anthropic.models.messages.OutputConfig; .outputConfig(OutputConfig.builder() - .effort(OutputConfig.Effort.HIGH) // or LOW, MEDIUM, MAX + .effort(OutputConfig.Effort.HIGH) // or LOW, MEDIUM, XHIGH, MAX .build()) ``` diff --git a/content/github/skills/skills/claude-api/java/claude-api/tool-use.md b/content/github/skills/skills/claude-api/java/claude-api/tool-use.md index 2ab71c76c..caf45b58f 100644 --- a/content/github/skills/skills/claude-api/java/claude-api/tool-use.md +++ b/content/github/skills/skills/claude-api/java/claude-api/tool-use.md @@ -29,7 +29,7 @@ static class GetWeather implements Supplier { BetaToolRunner toolRunner = client.beta().messages().toolRunner( MessageCreateParams.builder() - .model("claude-opus-4-8") + .model("claude-opus-5") .maxTokens(16000L) .putAdditionalHeader("anthropic-beta", "structured-outputs-2025-11-13") .addTool(GetWeather.class) @@ -57,7 +57,7 @@ import com.anthropic.models.beta.messages.ToolRunnerCreateParams; BetaMemoryToolHandler memoryHandler = new FileSystemMemoryToolHandler(sandboxRoot); MessageCreateParams createParams = MessageCreateParams.builder() - .model("claude-opus-4-8") + .model("claude-opus-5") .maxTokens(4096L) .addTool(BetaMemoryTool20250818.builder().build()) .addUserMessage("Remember that my favorite color is blue") diff --git a/content/github/skills/skills/claude-api/java/managed-agents/README.md b/content/github/skills/skills/claude-api/java/managed-agents/README.md index 0bf2b6f87..56814c8cf 100644 --- a/content/github/skills/skills/claude-api/java/managed-agents/README.md +++ b/content/github/skills/skills/claude-api/java/managed-agents/README.md @@ -57,7 +57,7 @@ import com.anthropic.models.beta.sessions.SessionCreateParams; // 1. Create the agent (reusable, versioned) var agent = client.beta().agents().create(AgentCreateParams.builder() .name("Coding Assistant") - .model("claude-opus-4-8") + .model("claude-opus-5") .system("You are a helpful coding assistant.") .addTool(BetaManagedAgentsAgentToolset20260401Params.builder() .type(BetaManagedAgentsAgentToolset20260401Params.Type.AGENT_TOOLSET_20260401) @@ -296,7 +296,7 @@ import com.anthropic.models.beta.agents.BetaManagedAgentsUrlMcpServerParams; // Agent declares MCP server (no auth here — auth goes in a vault) var agent = client.beta().agents().create(AgentCreateParams.builder() .name("GitHub Assistant") - .model("claude-opus-4-8") + .model("claude-opus-5") .addMcpServer(BetaManagedAgentsUrlMcpServerParams.builder() .type(BetaManagedAgentsUrlMcpServerParams.Type.URL) .name("github") diff --git a/content/github/skills/skills/claude-api/php/claude-api/README.md b/content/github/skills/skills/claude-api/php/claude-api/README.md index 7b17651a4..41b3714b4 100644 --- a/content/github/skills/skills/claude-api/php/claude-api/README.md +++ b/content/github/skills/skills/claude-api/php/claude-api/README.md @@ -26,7 +26,7 @@ use Anthropic\Bedrock\MantleClient; $client = new MantleClient(awsRegion: 'us-east-1'); ``` -Model IDs on Bedrock take an `anthropic.` prefix — e.g. `model: 'anthropic.claude-opus-4-8'`. +Model IDs on Bedrock take an `anthropic.` prefix — e.g. `model: 'anthropic.claude-opus-5'`. ### Google Vertex AI @@ -58,7 +58,7 @@ $client = Foundry\Client::withCredentials( ```php $message = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, messages: [ ['role' => 'user', 'content' => 'What is the capital of France?'], @@ -97,9 +97,9 @@ foreach ($message->content as $block) { use Anthropic\Messages\ThinkingBlock; $message = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, - thinking: ['type' => 'adaptive', 'display' => 'summarized'], // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 + thinking: ['type' => 'adaptive', 'display' => 'summarized'], // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7 messages: [ ['role' => 'user', 'content' => 'Solve: 27 * 453'], ], @@ -117,7 +117,8 @@ foreach ($message->content as $block) { } ``` -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (above). `['type' => 'enabled', 'budgetTokens' => N]` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking (above). `['type' => 'enabled', 'budgetTokens' => N]` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `thinking:` runs adaptive (`['type' => 'adaptive']` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `['type' => 'disabled']` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400. > **Older models:** Use `thinking: ['type' => 'enabled', 'budgetTokens' => N]` (budget must be < `maxTokens`, min 1024). `$block->type === 'thinking'` also works for the check; `instanceof` narrows for PHPStan. @@ -130,7 +131,7 @@ foreach ($message->content as $block) { ```php $message = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, system: [ ['type' => 'text', 'text' => $longSystemPrompt, 'cacheControl' => ['type' => 'ephemeral']], diff --git a/content/github/skills/skills/claude-api/php/claude-api/batches.md b/content/github/skills/skills/claude-api/php/claude-api/batches.md index 7dc2067b8..7c0db9c0f 100644 --- a/content/github/skills/skills/claude-api/php/claude-api/batches.md +++ b/content/github/skills/skills/claude-api/php/claude-api/batches.md @@ -4,7 +4,7 @@ ```php $batch = $client->messages->batches->create(requests: [ - ['customId' => 'req-1', 'params' => ['model' => 'claude-opus-4-8', 'maxTokens' => 1024, 'messages' => [...]]], + ['customId' => 'req-1', 'params' => ['model' => 'claude-opus-5', 'maxTokens' => 1024, 'messages' => [...]]], ['customId' => 'req-2', 'params' => [...]], ]); // Poll $client->messages->batches->retrieve($batch->id) until processingStatus === 'ended', diff --git a/content/github/skills/skills/claude-api/php/claude-api/streaming.md b/content/github/skills/skills/claude-api/php/claude-api/streaming.md index 17fd9c392..0a90596b6 100644 --- a/content/github/skills/skills/claude-api/php/claude-api/streaming.md +++ b/content/github/skills/skills/claude-api/php/claude-api/streaming.md @@ -9,7 +9,7 @@ use Anthropic\Messages\RawContentBlockDeltaEvent; use Anthropic\Messages\TextDelta; $stream = $client->messages->createStream( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 64000, messages: [ ['role' => 'user', 'content' => 'Write a haiku'], diff --git a/content/github/skills/skills/claude-api/php/claude-api/tool-use.md b/content/github/skills/skills/claude-api/php/claude-api/tool-use.md index aa313d7fe..ffd66ca51 100644 --- a/content/github/skills/skills/claude-api/php/claude-api/tool-use.md +++ b/content/github/skills/skills/claude-api/php/claude-api/tool-use.md @@ -31,7 +31,7 @@ $weatherTool = new BetaRunnableTool( $runner = $client->beta->messages->toolRunner( maxTokens: 16000, messages: [['role' => 'user', 'content' => 'What is the weather in Paris?']], - model: 'claude-opus-4-8', + model: 'claude-opus-5', tools: [$weatherTool], ); @@ -68,7 +68,7 @@ $tools = [ $messages = [['role' => 'user', 'content' => 'What is the weather in SF?']]; $response = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, tools: $tools, messages: $messages, @@ -95,7 +95,7 @@ while ($response->stopReason === 'tool_use') { // camelCase property $messages[] = ['role' => 'user', 'content' => $toolResults]; $response = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, tools: $tools, messages: $messages, @@ -139,7 +139,7 @@ class Person implements StructuredOutputModel } $message = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, messages: [['role' => 'user', 'content' => 'Generate a profile for Alice, age 30']], outputConfig: ['format' => Person::class], @@ -155,7 +155,7 @@ Types are inferred from PHP type hints. Use `#[Constrained(description: '...')]` ```php $message = $client->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, messages: [['role' => 'user', 'content' => 'Extract: John (john@co.com), Enterprise plan']], outputConfig: [ @@ -194,7 +194,7 @@ foreach ($message->content as $block) { use Anthropic\Beta\Messages\BetaRequestMCPServerURLDefinition; $response = $client->beta->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, mcpServers: [ BetaRequestMCPServerURLDefinition::with( @@ -211,7 +211,7 @@ $response = $client->beta->messages->create( ```php $response = $client->beta->messages->create( - model: 'claude-opus-4-8', + model: 'claude-opus-5', maxTokens: 16000, outputConfig: ['taskBudget' => ['type' => 'tokens', 'total' => 64000]], tools: [...], @@ -226,7 +226,7 @@ Pass the previous response's `id` on the next request; print the `diagnostics` o ```php $r2 = $client->beta->messages->create( - model: 'claude-opus-4-8', maxTokens: 1024, + model: 'claude-opus-5', maxTokens: 1024, diagnostics: ['previousMessageId' => $r1->id], betas: ['cache-diagnosis-2026-04-07'], messages: [...], diff --git a/content/github/skills/skills/claude-api/php/managed-agents/README.md b/content/github/skills/skills/claude-api/php/managed-agents/README.md index 5913fbf53..fc63d9888 100644 --- a/content/github/skills/skills/claude-api/php/managed-agents/README.md +++ b/content/github/skills/skills/claude-api/php/managed-agents/README.md @@ -48,7 +48,7 @@ use Anthropic\Beta\Agents\BetaManagedAgentsAgentToolset20260401Params; // 1. Create the agent (reusable, versioned) $agent = $client->beta->agents->create( name: 'Coding Assistant', - model: 'claude-opus-4-8', + model: 'claude-opus-5', system: 'You are a helpful coding assistant.', tools: [ BetaManagedAgentsAgentToolset20260401Params::with( @@ -307,7 +307,7 @@ use Anthropic\Beta\Sessions\BetaManagedAgentsAgentParams; // Agent declares MCP server (no auth here — auth goes in a vault) $agent = $client->beta->agents->create( name: 'GitHub Assistant', - model: 'claude-opus-4-8', + model: 'claude-opus-5', mcpServers: [ BetaManagedAgentsURLMCPServerParams::with( type: 'url', diff --git a/content/github/skills/skills/claude-api/python/claude-api/README.md b/content/github/skills/skills/claude-api/python/claude-api/README.md index c65c10aec..06e8fba7e 100644 --- a/content/github/skills/skills/claude-api/python/claude-api/README.md +++ b/content/github/skills/skills/claude-api/python/claude-api/README.md @@ -33,7 +33,7 @@ Use `with_options()` to override client settings for a single call without mutat ```python client.with_options(timeout=5.0, max_retries=5).messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello"}], ) @@ -90,7 +90,7 @@ Set `ANTHROPIC_LOG=debug` (or `info`) to enable SDK logging via the standard `lo ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[ {"role": "user", "content": "What is the capital of France?"} @@ -109,7 +109,7 @@ for block in response.content: ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, system="You are a helpful coding assistant. Always provide examples in Python.", messages=[{"role": "user", "content": "How do I read a JSON file?"}] @@ -145,7 +145,7 @@ with open("image.png", "rb") as f: image_data = base64.standard_b64encode(f.read()).decode("utf-8") response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -168,7 +168,7 @@ response = client.messages.create( ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -198,7 +198,7 @@ Use top-level `cache_control` to automatically cache the last cacheable block in ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, cache_control={"type": "ephemeral"}, # auto-caches the last cacheable block system="You are an expert on this large document...", @@ -212,7 +212,7 @@ For fine-grained control, add `cache_control` to specific content blocks: ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, system=[{ "type": "text", @@ -224,7 +224,7 @@ response = client.messages.create( # With explicit TTL (time-to-live) response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, system=[{ "type": "text", @@ -249,16 +249,17 @@ If `cache_read_input_tokens` is zero across repeated identical-prefix requests, ## Extended Thinking -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `thinking` runs adaptive (`{"type": "adaptive"}` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `{"type": "disabled"}` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400. > **Older models:** Use `thinking: {type: "enabled", budget_tokens: N}` (must be < `max_tokens`, min 1024). ```python -# Fable 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended) +# Fable 5 / Claude Opus 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended) response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, - thinking={"type": "adaptive", "display": "summarized"}, # display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 - output_config={"effort": "high"}, # low | medium | high | max + thinking={"type": "adaptive", "display": "summarized"}, # display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7 + output_config={"effort": "high"}, # low | medium | high | xhigh | max messages=[{"role": "user", "content": "Solve this step by step..."}] ) @@ -316,7 +317,7 @@ To access raw headers or other response metadata, use `.with_raw_response`: ```python raw = client.messages.with_raw_response.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello"}], ) @@ -362,7 +363,7 @@ class ConversationManager: # Usage conversation = ConversationManager( client=anthropic.Anthropic(), - model="claude-opus-4-8", + model="claude-opus-5", system="You are a helpful assistant." ) @@ -380,7 +381,7 @@ response2 = conversation.send("What's my name?") # Claude remembers "Alice" ### Compaction (long conversations) -> **Beta, Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6.** When conversations approach the 200K context window, compaction automatically summarizes earlier context server-side. The API returns a `compaction` block; you must pass it back on subsequent requests — append `response.content`, not just the text. +> **Beta, Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6.** When conversations approach the 200K context window, compaction automatically summarizes earlier context server-side. The API returns a `compaction` block; you must pass it back on subsequent requests — append `response.content`, not just the text. ```python import anthropic @@ -393,7 +394,7 @@ def chat(user_message: str) -> str: response = client.beta.messages.create( betas=["compact-2026-01-12"], - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=messages, context_management={ @@ -464,7 +465,7 @@ if fallback_ran and response.stop_reason != "refusal": print(f"Served by {response.model}") ``` -A `stop_reason: "refusal"` on the final response means the whole chain refused. The header must be exactly `server-side-fallback-2026-06-01`; the parameter is rejected on the Batches API and unavailable on Amazon Bedrock, Vertex AI, and Microsoft Foundry — register the client-side `BetaRefusalFallbackMiddleware` on the client there instead. Full semantics (sticky routing, billing, streaming, echoing fallback turns back): `shared/model-migration.md` → Migrating to Claude Fable 5 → `refusal` stop reason. +A `stop_reason: "refusal"` on the final response means the whole chain refused. The header must be exactly `server-side-fallback-2026-06-01` **for this array form**; the newer `fallbacks: "default"` scalar form uses `server-side-fallback-2026-07-01` instead (see `shared/model-migration.md` → Migrating to Claude Opus 5 → New API features), and pairing either header with the other form returns a 400. The parameter is rejected on the Batches API and unavailable on Amazon Bedrock, Vertex AI, and Microsoft Foundry — register the client-side `BetaRefusalFallbackMiddleware` on the client there instead. Full semantics (sticky routing, billing, streaming, echoing fallback turns back): `shared/model-migration.md` → Migrating to Claude Fable 5 → `refusal` stop reason. --- @@ -475,7 +476,7 @@ A `stop_reason: "refusal"` on the final response means the whole chain refused. ```python # Automatic caching (simplest — caches the last cacheable block) response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, cache_control={"type": "ephemeral"}, system=large_document_text, # e.g., 50KB of context @@ -491,7 +492,7 @@ response = client.messages.create( ```python # Default to Opus for most tasks response = client.messages.create( - model="claude-opus-4-8", # $5.00/$25.00 per 1M tokens + model="claude-opus-5", # $5.00/$25.00 per 1M tokens max_tokens=16000, messages=[{"role": "user", "content": "Explain quantum computing"}] ) @@ -515,7 +516,7 @@ simple_response = client.messages.create( ```python count_response = client.messages.count_tokens( - model="claude-opus-4-8", + model="claude-opus-5", messages=messages, system=system ) diff --git a/content/github/skills/skills/claude-api/python/claude-api/batches.md b/content/github/skills/skills/claude-api/python/claude-api/batches.md index 2ca54ea5d..e917f57a4 100644 --- a/content/github/skills/skills/claude-api/python/claude-api/batches.md +++ b/content/github/skills/skills/claude-api/python/claude-api/batches.md @@ -26,7 +26,7 @@ message_batch = client.messages.batches.create( Request( custom_id="request-1", params=MessageCreateParamsNonStreaming( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Summarize climate change impacts"}] ) @@ -34,7 +34,7 @@ message_batch = client.messages.batches.create( Request( custom_id="request-2", params=MessageCreateParamsNonStreaming( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Explain quantum computing basics"}] ) @@ -130,7 +130,7 @@ message_batch = client.messages.batches.create( Request( custom_id=f"analysis-{i}", params=MessageCreateParamsNonStreaming( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, system=shared_system, messages=[{"role": "user", "content": question}] diff --git a/content/github/skills/skills/claude-api/python/claude-api/files-api.md b/content/github/skills/skills/claude-api/python/claude-api/files-api.md index 14f5bb146..05778ddb0 100644 --- a/content/github/skills/skills/claude-api/python/claude-api/files-api.md +++ b/content/github/skills/skills/claude-api/python/claude-api/files-api.md @@ -40,7 +40,7 @@ print(f"Size: {uploaded.size_bytes} bytes") ```python response = client.beta.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -69,7 +69,7 @@ image_file = client.beta.files.upload( ) response = client.beta.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -147,7 +147,7 @@ questions = [ for question in questions: response = client.beta.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", diff --git a/content/github/skills/skills/claude-api/python/claude-api/streaming.md b/content/github/skills/skills/claude-api/python/claude-api/streaming.md index 00649efdc..e0a88fd4c 100644 --- a/content/github/skills/skills/claude-api/python/claude-api/streaming.md +++ b/content/github/skills/skills/claude-api/python/claude-api/streaming.md @@ -4,7 +4,7 @@ ```python with client.messages.stream( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, messages=[{"role": "user", "content": "Write a story"}] ) as stream: @@ -16,7 +16,7 @@ with client.messages.stream( ```python async with async_client.messages.stream( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, messages=[{"role": "user", "content": "Write a story"}] ) as stream: @@ -30,7 +30,7 @@ async with async_client.messages.stream( ```python for event in client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, messages=[{"role": "user", "content": "Write a story"}], stream=True, @@ -46,13 +46,13 @@ No final-message accumulation is done for you in this form. Claude may return text, thinking blocks, or tool use. Handle each appropriately: -> **Fable 5 / Opus 4.8 / Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead. +> **Fable 5 / Claude Opus 5 / Opus 4.8 / Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On Claude Opus 5 adaptive is also what you get by omitting `thinking` entirely. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead. ```python with client.messages.stream( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, - thinking={"type": "adaptive", "display": "summarized"}, # display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 + thinking={"type": "adaptive", "display": "summarized"}, # display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7 messages=[{"role": "user", "content": "Analyze this problem"}] ) as stream: for event in stream: @@ -77,7 +77,7 @@ The Python tool runner supports streaming: pass `stream=True` to `client.beta.me ```python with client.messages.stream( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, tools=tools, messages=messages @@ -95,7 +95,7 @@ with client.messages.stream( ```python with client.messages.stream( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, messages=[{"role": "user", "content": "Hello"}] ) as stream: @@ -142,7 +142,7 @@ def stream_with_progress(client, **kwargs): ```python try: with client.messages.stream( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=64000, messages=[{"role": "user", "content": "Write a story"}] ) as stream: diff --git a/content/github/skills/skills/claude-api/python/claude-api/tool-use.md b/content/github/skills/skills/claude-api/python/claude-api/tool-use.md index 8fde8b1f1..ac467bfbd 100644 --- a/content/github/skills/skills/claude-api/python/claude-api/tool-use.md +++ b/content/github/skills/skills/claude-api/python/claude-api/tool-use.md @@ -27,7 +27,7 @@ def get_weather(location: str, unit: str = "celsius") -> str: # The tool runner handles the agentic loop automatically runner = client.beta.messages.tool_runner( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=[get_weather], messages=[{"role": "user", "content": "What's the weather in Paris?"}], @@ -60,7 +60,7 @@ max_restarts = 5 # cap pause_turn restarts, mirroring max_continuations advice restarts = 0 while True: runner = client.beta.messages.tool_runner( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=tools, # may mix @beta_tool functions and server-tool definitions messages=messages, @@ -109,7 +109,7 @@ async with stdio_client(StdioServerParameters(command="mcp-server")) as (read, w tools_result = await mcp_client.list_tools() # tool_runner is sync — returns the runner, not a coroutine runner = client.beta.messages.tool_runner( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Use the available tools"}], tools=[async_mcp_tool(t, mcp_client) for t in tools_result.tools], @@ -127,7 +127,7 @@ from anthropic.lib.tools.mcp import mcp_message prompt = await mcp_client.get_prompt(name="my-prompt") response = await client.beta.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[mcp_message(m) for m in prompt.messages], ) @@ -140,7 +140,7 @@ from anthropic.lib.tools.mcp import mcp_resource_to_content resource = await mcp_client.read_resource(uri="file:///path/to/doc.txt") response = await client.beta.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -181,7 +181,7 @@ messages = [{"role": "user", "content": user_input}] # Agentic loop: keep going until Claude stops calling tools while True: response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=tools, messages=messages @@ -228,7 +228,7 @@ final_text = next(b.text for b in response.content if b.type == "text") ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=tools, messages=[{"role": "user", "content": "What's the weather in Paris?"}] @@ -243,7 +243,7 @@ for block in response.content: result = execute_tool(tool_name, tool_input) followup = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=tools, messages=[ @@ -280,7 +280,7 @@ for block in response.content: # Send all results back at once if tool_results: followup = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=tools, messages=[ @@ -310,7 +310,7 @@ tool_result = { ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=tools, tool_choice={"type": "tool", "name": "get_weather"}, # Force specific tool @@ -330,7 +330,7 @@ import anthropic client = anthropic.Anthropic() response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -358,7 +358,7 @@ uploaded = client.beta.files.upload(file=open("sales_data.csv", "rb")) # 2. Pass to code execution via container_upload block # Code execution is GA; Files API is still beta (pass via extra_headers) response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, extra_headers={"anthropic-beta": "files-api-2025-04-14"}, messages=[{ @@ -403,7 +403,7 @@ for block in response.content: ```python # First request: set up environment response1 = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Install tabulate and create data.json with sample data"}], tools=[{"type": "code_execution_20260120", "name": "code_execution"}] @@ -415,7 +415,7 @@ container_id = response1.container.id # Second request: reuse the same container response2 = client.messages.create( container=container_id, - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Read data.json and display as a formatted table"}], tools=[{"type": "code_execution_20260120", "name": "code_execution"}] @@ -455,7 +455,7 @@ import anthropic client = anthropic.Anthropic() response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Remember that my preferred language is Python."}], tools=[{"type": "memory_20250818", "name": "memory"}], @@ -481,7 +481,7 @@ memory = MyMemoryTool() # Use with tool runner runner = client.beta.messages.tool_runner( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, tools=[memory], messages=[{"role": "user", "content": "Remember my preferences"}], @@ -516,7 +516,7 @@ class ContactInfo(BaseModel): client = anthropic.Anthropic() response = client.messages.parse( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -535,7 +535,7 @@ print(contact.interests) # ["API", "SDKs"] ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{ "role": "user", @@ -569,7 +569,7 @@ data = json.loads(text) ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Book a flight to Tokyo for 2 passengers on March 15"}], tools=[{ @@ -594,7 +594,7 @@ response = client.messages.create( ```python response = client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=16000, messages=[{"role": "user", "content": "Plan a trip to Paris next month"}], output_config={ diff --git a/content/github/skills/skills/claude-api/python/managed-agents/README.md b/content/github/skills/skills/claude-api/python/managed-agents/README.md index 5ffa8b37a..cb97bfa47 100644 --- a/content/github/skills/skills/claude-api/python/managed-agents/README.md +++ b/content/github/skills/skills/claude-api/python/managed-agents/README.md @@ -51,7 +51,7 @@ print(environment.id) # env_... # 1. Create the agent (reusable, versioned) agent = client.beta.agents.create( name="Coding Assistant", - model="claude-opus-4-8", + model="claude-opus-5", tools=[{"type": "agent_toolset_20260401", "default_config": {"enabled": True}}], ) @@ -71,7 +71,7 @@ import os agent = client.beta.agents.create( name="Code Reviewer", - model="claude-opus-4-8", + model="claude-opus-5", system="You are a senior code reviewer.", tools=[ {"type": "agent_toolset_20260401"}, @@ -314,7 +314,7 @@ client.beta.sessions.archive(session_id="sesn_011CZxAbc123Def456") # Agent declares MCP server (no auth here — auth goes in a vault) agent = client.beta.agents.create( name="MCP Agent", - model="claude-opus-4-8", + model="claude-opus-5", mcp_servers=[ {"type": "url", "name": "my-tools", "url": "https://my-mcp-server.example.com/sse"}, ], diff --git a/content/github/skills/skills/claude-api/ruby/claude-api/README.md b/content/github/skills/skills/claude-api/ruby/claude-api/README.md index 3648abb45..2a0466854 100644 --- a/content/github/skills/skills/claude-api/ruby/claude-api/README.md +++ b/content/github/skills/skills/claude-api/ruby/claude-api/README.md @@ -26,7 +26,7 @@ client = Anthropic::Client.new(api_key: "your-api-key") ```ruby message = client.messages.create( - model: :"claude-opus-4-8", + model: :"claude-opus-5", max_tokens: 16000, messages: [ { role: "user", content: "What is the capital of France?" } @@ -44,12 +44,13 @@ end ## Extended Thinking -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `thinking:` runs adaptive (`{ type: "adaptive" }` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `{ type: "disabled" }` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400. > **Older models:** Use `thinking: { type: "enabled", budget_tokens: N }` (must be < `max_tokens`, min 1024). ```ruby message = client.messages.create( - model: :"claude-opus-4-8", + model: :"claude-opus-5", max_tokens: 16000, thinking: { type: "adaptive" }, messages: [{ role: "user", content: "Solve: 27 * 453" }] @@ -71,7 +72,7 @@ end ```ruby message = client.messages.create( - model: :"claude-opus-4-8", + model: :"claude-opus-5", max_tokens: 16000, system_: [ { type: "text", text: long_system_prompt, cache_control: { type: "ephemeral" } } @@ -109,7 +110,7 @@ end ```ruby response = client.beta.messages.create( - model: :"claude-opus-4-8", + model: :"claude-opus-5", max_tokens: 16000, output_config: { task_budget: { type: :tokens, total: 64_000 } }, tools: [...], diff --git a/content/github/skills/skills/claude-api/ruby/claude-api/streaming.md b/content/github/skills/skills/claude-api/ruby/claude-api/streaming.md index d6a143d3d..2de9260aa 100644 --- a/content/github/skills/skills/claude-api/ruby/claude-api/streaming.md +++ b/content/github/skills/skills/claude-api/ruby/claude-api/streaming.md @@ -4,7 +4,7 @@ ```ruby stream = client.messages.stream( - model: :"claude-opus-4-8", + model: :"claude-opus-5", max_tokens: 64000, messages: [{ role: "user", content: "Write a haiku" }] ) diff --git a/content/github/skills/skills/claude-api/ruby/claude-api/tool-use.md b/content/github/skills/skills/claude-api/ruby/claude-api/tool-use.md index 7f0aa382c..70914b9ee 100644 --- a/content/github/skills/skills/claude-api/ruby/claude-api/tool-use.md +++ b/content/github/skills/skills/claude-api/ruby/claude-api/tool-use.md @@ -24,7 +24,7 @@ class GetWeather < Anthropic::BaseTool end client.beta.messages.tool_runner( - model: :"claude-opus-4-8", + model: :"claude-opus-5", max_tokens: 16000, tools: [GetWeather.new], messages: [{ role: "user", content: "What's the weather in San Francisco?" }] diff --git a/content/github/skills/skills/claude-api/ruby/managed-agents/README.md b/content/github/skills/skills/claude-api/ruby/managed-agents/README.md index 8e4392707..4b58dc96d 100644 --- a/content/github/skills/skills/claude-api/ruby/managed-agents/README.md +++ b/content/github/skills/skills/claude-api/ruby/managed-agents/README.md @@ -51,7 +51,7 @@ puts "Environment ID: #{environment.id}" # env_... # 1. Create the agent (reusable, versioned) agent = client.beta.agents.create( name: "Coding Assistant", - model: :"claude-opus-4-8", + model: :"claude-opus-5", system_: "You are a helpful coding assistant.", tools: [{type: "agent_toolset_20260401"}] ) @@ -265,7 +265,7 @@ client.beta.sessions.delete(session.id) # Agent declares MCP server (no auth here — auth goes in a vault) agent = client.beta.agents.create( name: "GitHub Assistant", - model: :"claude-opus-4-8", + model: :"claude-opus-5", mcp_servers: [ { type: "url", diff --git a/content/github/skills/skills/claude-api/shared/anthropic-cli.md b/content/github/skills/skills/claude-api/shared/anthropic-cli.md index 417622e79..7a47885f1 100644 --- a/content/github/skills/skills/claude-api/shared/anthropic-cli.md +++ b/content/github/skills/skills/claude-api/shared/anthropic-cli.md @@ -60,7 +60,7 @@ curl https://api.anthropic.com/v1/messages \ -H "anthropic-version: 2023-06-01" \ -H "anthropic-beta: oauth-2025-04-20" \ -H "content-type: application/json" \ - -d '{"model": "claude-opus-4-8", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}' + -d '{"model": "claude-opus-5", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}' # .env format — sets ANTHROPIC_AUTH_TOKEN (and ANTHROPIC_BASE_URL if the profile has one). # Output is bare KEY=value (no `export`), so use `set -a` to auto-export for child processes: @@ -82,7 +82,7 @@ Beta resources (agents, sessions, environments, deployments, skills, vaults, mem ```sh ant models list -ant messages create --model claude-opus-4-8 --max-tokens 1024 --message '{role: user, content: "Hello"}' +ant messages create --model claude-opus-5 --max-tokens 1024 --message '{role: user, content: "Hello"}' ant beta:agents retrieve --agent-id agent_01... ant beta:sessions:events list --session-id session_01... ``` @@ -123,7 +123,7 @@ AGENT_ID=$(ant beta:agents create --name "My Agent" --model '{id: claude-sonnet- ```sh ant beta:agents create \ --name "Research Agent" \ - --model '{id: claude-opus-4-8}' \ + --model '{id: claude-opus-5}' \ --tool '{type: agent_toolset_20260401}' \ --tool '{type: custom, name: search_docs, input_schema: {type: object, properties: {query: {type: string}}}}' ``` @@ -133,7 +133,7 @@ ant beta:agents create \ ```sh ant beta:agents create <<'YAML' name: Research Agent -model: claude-opus-4-8 +model: claude-opus-5 system: | You are a research assistant. Cite sources for every claim. tools: @@ -146,7 +146,7 @@ YAML ```sh ant beta:agents create --name "Researcher" --model '{id: claude-sonnet-5}' --system @./prompts/researcher.txt -ant messages create --model claude-opus-4-8 --max-tokens 1024 \ +ant messages create --model claude-opus-5 --max-tokens 1024 \ --message '{role: user, content: [ {type: document, source: {type: base64, media_type: application/pdf, data: "@./scan.pdf"}}, {type: text, text: "Extract the text from this scanned document."} diff --git a/content/github/skills/skills/claude-api/shared/claude-platform-on-aws.md b/content/github/skills/skills/claude-api/shared/claude-platform-on-aws.md index f5e99d6fd..098db27ab 100644 --- a/content/github/skills/skills/claude-api/shared/claude-platform-on-aws.md +++ b/content/github/skills/skills/claude-api/shared/claude-platform-on-aws.md @@ -1,6 +1,6 @@ # Claude Platform on AWS -**Anthropic-operated** access to the Claude Developer Platform through AWS infrastructure — SigV4 authentication, AWS IAM access control, and AWS Marketplace billing. Because Anthropic operates it, **the API surface matches first-party with same-day parity** — for per-feature exceptions, see `shared/platform-availability.md` (the single source of truth; do not rely on an inline exception list here). Model IDs are the bare first-party strings (`claude-opus-4-8`, `claude-sonnet-5`) — **no provider prefix**. +**Anthropic-operated** access to the Claude Developer Platform through AWS infrastructure — SigV4 authentication, AWS IAM access control, and AWS Marketplace billing. Because Anthropic operates it, **the API surface matches first-party with same-day parity** — for per-feature exceptions, see `shared/platform-availability.md` (the single source of truth; do not rely on an inline exception list here). Model IDs are the bare first-party strings (`claude-opus-5`, `claude-sonnet-5`) — **no provider prefix**. > **Not the same as Amazon Bedrock.** Bedrock is partner-operated (AWS runs the service; release schedules vary, feature subset, `anthropic.`-prefixed model IDs). Claude Platform on AWS and Bedrock coexist; pick by whether you need AWS-native IAM/billing with full Anthropic API parity (this page) vs. Bedrock's own ecosystem. @@ -25,7 +25,7 @@ from anthropic import AnthropicAWS client = AnthropicAWS() # region + workspace_id from env; see below client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=1024, messages=[{"role": "user", "content": "Hello"}], ) @@ -55,5 +55,5 @@ The client resolves AWS credentials via the standard precedence chain: explicit ## What to tell users - Treat it as first-party: every section of this skill applies unchanged. Do **not** apply Bedrock's feature-availability mask. -- Model IDs are bare (`claude-opus-4-8`). Do **not** add an `anthropic.` prefix. +- Model IDs are bare (`claude-opus-5`). Do **not** add an `anthropic.` prefix. - A missing region or `workspace_id` throws at client-construction time (no request is sent). A **403** means the request reached the server — check for a **wrong** `workspace_id` or a missing IAM action on the principal. See the IAM actions reference in `shared/live-sources.md`. diff --git a/content/github/skills/skills/claude-api/shared/error-codes.md b/content/github/skills/skills/claude-api/shared/error-codes.md index 770eac15c..56059ec37 100644 --- a/content/github/skills/skills/claude-api/shared/error-codes.md +++ b/content/github/skills/skills/claude-api/shared/error-codes.md @@ -82,7 +82,7 @@ This file documents HTTP error codes returned by the Claude API, their common ca - Using deprecated model ID - Invalid API endpoint -**Fix:** Use exact model IDs from the models documentation. You can use aliases (e.g., `claude-opus-4-8`). +**Fix:** Use exact model IDs from the models documentation. You can use aliases (e.g., `claude-opus-5`). --- @@ -107,11 +107,12 @@ Some 400 errors are specifically related to parameter validation: - `budget_tokens` >= `max_tokens` in extended thinking - Invalid tool definition schema -**Model-specific 400s on Fable 5 / Opus 4.8 / 4.7:** +**Model-specific 400s on Claude Opus 5 / Fable 5 / Opus 4.8 / 4.7:** - `temperature`, `top_p`, `top_k` are removed — sending any of them returns 400. Delete the parameter; see `shared/model-migration.md` → Per-SDK Syntax Reference. - `thinking: {type: "enabled", budget_tokens: N}` is removed — sending it returns 400. Use `thinking: {type: "adaptive"}` instead. -- **Fable 5 only:** an explicit `thinking: {type: "disabled"}` returns 400 (it is accepted on Opus 4.8/4.7). Omit the `thinking` param entirely instead. +- **Claude Opus 5:** `thinking: {type: "disabled"}` returns 400 when `effort` is `xhigh` or `max` — it is accepted at `high` or below. Thinking is on by default, so omitting the param runs adaptive rather than disabling it. +- **Fable 5 only:** an explicit `thinking: {type: "disabled"}` returns 400 at any effort (it is accepted on Opus 4.8/4.7). Omit the `thinking` param entirely instead. - **Fable 5 only:** if the organization is set to zero data retention (ZDR) — or any retention below the required 30 days — then **all** Fable 5 requests return `400 invalid_request_error`, even with a perfectly valid payload. Check the org's retention configuration before debugging the request body. **Common mistake with extended thinking on older models (Opus 4.6 and earlier):** @@ -170,12 +171,12 @@ thinking: budget_tokens=10000, max_tokens=16000 | Mistake | Error | Fix | | ------------------------------- | ---------------- | ------------------------------------------------------- | -| `temperature`/`top_p`/`top_k` on Fable 5 / Opus 4.8 / 4.7 | 400 | Remove the parameter (see `shared/model-migration.md`) | -| `budget_tokens` on Fable 5 / Opus 4.8 / 4.7 | 400 | Use `thinking: {type: "adaptive"}` | +| `temperature`/`top_p`/`top_k` on Claude Opus 5 / Fable 5 / Opus 4.8 / 4.7 | 400 | Remove the parameter (see `shared/model-migration.md`) | +| `budget_tokens` on Claude Opus 5 / Fable 5 / Opus 4.8 / 4.7 | 400 | Use `thinking: {type: "adaptive"}` | | `thinking: {type: "disabled"}` on Fable 5 | 400 | Omit the `thinking` param entirely (accepted on Opus 4.8/4.7) | | Org set to ZDR / retention below 30 days (Fable 5) | 400 on every request | Fix the org's data-retention configuration — the payload isn't the problem | | `budget_tokens` >= `max_tokens` (older models) | 400 | Ensure `budget_tokens` < `max_tokens` | -| Typo in model ID | 404 | Use valid model ID like `claude-opus-4-8` | +| Typo in model ID | 404 | Use valid model ID like `claude-opus-5` | | First message is `assistant` | 400 | First message must be `user` | | Consecutive same-role messages | 400 | Alternate `user` and `assistant` | | API key in code | 401 (leaked key) | Use environment variable | diff --git a/content/github/skills/skills/claude-api/shared/live-sources.md b/content/github/skills/skills/claude-api/shared/live-sources.md index a9e2e4e32..ccceae2f0 100644 --- a/content/github/skills/skills/claude-api/shared/live-sources.md +++ b/content/github/skills/skills/claude-api/shared/live-sources.md @@ -25,7 +25,7 @@ This file contains WebFetch URLs for fetching current information from platform. | Topic | URL | Extraction Prompt | | ----------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | | Extended Thinking | `https://platform.claude.com/docs/en/build-with-claude/extended-thinking.md` | "Extract extended thinking parameters, budget_tokens requirements, and usage examples" | -| Adaptive Thinking | `https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking.md` | "Extract adaptive thinking setup, effort levels, and Claude Opus 4.8 usage examples" | +| Adaptive Thinking | `https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking.md` | "Extract adaptive thinking setup, effort levels, and Claude Opus 5 usage examples" | | Effort Parameter | `https://platform.claude.com/docs/en/build-with-claude/effort.md` | "Extract effort levels, cost-quality tradeoffs, and interaction with thinking" | | Tool Use | `https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview.md` | "Extract tool definition schema, tool_choice options, and handling tool results" | | Streaming | `https://platform.claude.com/docs/en/build-with-claude/streaming.md` | "Extract streaming event types, SDK examples, and best practices" | diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-api-reference.md b/content/github/skills/skills/claude-api/shared/managed-agents-api-reference.md index 8f721b425..4c11f3f47 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-api-reference.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-api-reference.md @@ -44,7 +44,7 @@ All resources are under the `beta` namespace. Python and TypeScript share identi **Agent shorthand:** `agent` on session create accepts three forms — a bare string (`agent="agent_abc123"`, latest version), a pinned reference `{type: "agent", id, version}`, or `{type: "agent_with_overrides", id, version?, model?, system?, tools?, mcp_servers?, skills?}` to override those fields for this session only (see `shared/managed-agents-core.md` → Override agent configuration for a session). -**Model shorthand:** `model` on agent create accepts either a bare string (`model="claude-opus-4-8"` — uses `standard` speed) or the full config object, which takes `speed` and `effort` alongside `id`: `{id: "claude-opus-4-8", speed: "fast"}`, `{id: "claude-opus-4-8", effort: "high"}`. `effort` accepts a level string (`low`/`medium`/`high`/`xhigh`/`max`) or `{type: ""}`, and is **agent-configuration only** — an `effort` inside a per-session `model` override is ignored. See `shared/managed-agents-core.md` → Effort on the agent model. Note: `speed: "fast"` is supported only on Opus 4.8 and Opus 4.7. Opus 4.7 fast mode is deprecated; after removal, `speed: "fast"` on Opus 4.7 returns an error. Opus 4.8 is the durable fast-capable tier. +**Model shorthand:** `model` on agent create accepts either a bare string (`model="claude-opus-5"` — uses `standard` speed) or the full config object, which takes `speed` and `effort` alongside `id`: `{id: "claude-opus-5", speed: "fast"}`, `{id: "claude-opus-5", effort: "high"}`. `effort` accepts a level string (`low`/`medium`/`high`/`xhigh`/`max`) or `{type: ""}`, and is **agent-configuration only** — an `effort` inside a per-session `model` override is ignored. See `shared/managed-agents-core.md` → Effort on the agent model. Note: `speed: "fast"` is supported on Claude Opus 5 and Opus 4.8 — on the Claude API only, which includes Managed Agents but not Amazon Bedrock, Google Cloud, or Microsoft Foundry. Opus 4.7 fast mode has been removed; `speed: "fast"` on Opus 4.7 returns an error. --- @@ -184,7 +184,7 @@ Individual text documents inside a store (≤ 100KB each). `create` creates at a | Method | Path | Operation | Description | | -------- | ----------------------------------------------------------------- | -------------- | ---------------------------------------- | -| `GET` | `/v1/memory_stores/{memory_store_id}/memories` | ListMemories | Returns `Memory \| MemoryPrefix`; filter by `path_prefix`, `depth`, `order_by`/`order` | +| `GET` | `/v1/memory_stores/{memory_store_id}/memories` | ListMemories | Returns `Memory \| MemoryPrefix`; filter by `path_prefix`, `depth` | | `POST` | `/v1/memory_stores/{memory_store_id}/memories` | CreateMemory | Create at `path` (SDK: `memories.create`); `409 memory_path_conflict_error` if occupied | | `GET` | `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` | GetMemory | Read one memory (defaults to `view="full"`) | | `PATCH` | `/v1/memory_stores/{memory_store_id}/memories/{memory_id}` | UpdateMemory | Change `content`, `path`, or both by ID; optional `precondition` | @@ -234,7 +234,7 @@ Immutable per-mutation snapshots (`memver_...`) — the audit and rollback surfa ```json { "name": "string (required, 1-256 chars)", - "model": "claude-opus-4-8 (required — bare string, or {id, speed?, effort?} object)", + "model": "claude-opus-5 (required — bare string, or {id, speed?, effort?} object)", "description": "string (optional, up to 2048 chars)", "system": "string (optional, up to 100,000 chars)", "tools": [ @@ -354,7 +354,7 @@ Immutable per-mutation snapshots (`memver_...`) — the audit and rollback surfa } ``` -> `system.message` events (append system-level context for this turn and later ones) use the same envelope with `type: "system.message"` — supported on Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, and Claude Mythos 5, checked against the agent's *primary* model only; see `shared/managed-agents-events.md` § Adding system context mid-session. +> `system.message` events (append system-level context for this turn and later ones) use the same envelope with `type: "system.message"` — supported on Claude Opus 5, Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, and Claude Mythos 5, checked against the agent's *primary* model only; see `shared/managed-agents-events.md` § Adding system context mid-session. ### Define Outcome Event diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-core.md b/content/github/skills/skills/claude-api/shared/managed-agents-core.md index 9787de403..12a1b8699 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-core.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-core.md @@ -108,7 +108,7 @@ Key fields returned by the API: const agent = await client.beta.agents.create( { name: "Coding Assistant", - model: "claude-opus-4-8", + model: "claude-opus-5", system: "You are a helpful coding agent.", tools: [{ type: "agent_toolset_20260401"}], }, @@ -214,11 +214,11 @@ The agent is a **persistent resource**, not a per-run parameter. The intended pa ### Effort on the agent model -Pass `model` as an object to set the effort level: `{"id": "claude-opus-4-8", "effort": "high"}`. `effort` accepts a level string (`low`, `medium`, `high`, `xhigh`, `max`) or an object such as `{"type": "high"}`. The create/update response echoes it in object form and fills in omitted `model` fields with their defaults. +Pass `model` as an object to set the effort level: `{"id": "claude-opus-5", "effort": "high"}`. `effort` accepts a level string (`low`, `medium`, `high`, `xhigh`, `max`) or an object such as `{"type": "high"}`. The create/update response echoes it in object form and fills in omitted `model` fields with their defaults. > ⚠️ **Effort is agent configuration only.** An `effort` set inside a per-session `model` override is **not applied** — the session runs at the agent's effort. To change effort you must update the agent (or point the session at a different agent). This is the one field where the override form silently does nothing rather than erroring. -The same object form carries `speed` for fast mode: `{"id": "claude-opus-4-8", "speed": "fast"}`. +The same object form carries `speed` for fast mode: `{"id": "claude-opus-5", "speed": "fast"}`. ### Versioning @@ -283,7 +283,7 @@ session = client.beta.sessions.create( agent={ "type": "agent_with_overrides", "id": agent.id, - "model": "claude-opus-4-8", # replace the agent's model for this session + "model": "claude-opus-5", # replace the agent's model for this session "system": None, # clear the system prompt for this session }, environment_id=environment_id, diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-environments.md b/content/github/skills/skills/claude-api/shared/managed-agents-environments.md index f44f76bd5..d528f57d6 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-environments.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-environments.md @@ -143,7 +143,7 @@ Repositories are attached for the lifetime of the session — to change which re const agent = await client.beta.agents.create( { name: 'GitHub Agent', - model: 'claude-opus-4-8', + model: 'claude-opus-5', mcp_servers: [ { type: 'url', name: 'github', url: 'https://api.githubcopilot.com/mcp/' }, ], @@ -177,7 +177,7 @@ import os agent = client.beta.agents.create( name="GitHub Agent", - model="claude-opus-4-8", + model="claude-opus-5", mcp_servers=[{ "type": "url", "name": "github", diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-events.md b/content/github/skills/skills/claude-api/shared/managed-agents-events.md index a4d9f736e..e22f71843 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-events.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-events.md @@ -35,7 +35,7 @@ client.beta.sessions.events.send( Constraints: -- **Model-gated: Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, and Claude Mythos 5.** Only the agent's **primary** model is checked — `system.message` lands on the primary thread only, so subagent models are not considered. On an unsupported primary model the event is rejected with a `model_does_not_support_mid_conversation_system` validation error. +- **Model-gated: Claude Opus 5, Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, and Claude Mythos 5.** Only the agent's **primary** model is checked — `system.message` lands on the primary thread only, so subagent models are not considered. On an unsupported primary model the event is rejected with a `model_does_not_support_mid_conversation_system` validation error. - **While the session is idle with `stop_reason: requires_action`** (blocked on `user.custom_tool_result` / `user.tool_confirmation`), a `system.message` is accepted **only when it trails a tool result event in the same request**. Sent on its own — or alongside a `user.message` — it is rejected until the pending tool events are resolved. - `content` accepts 1–1000 text items. @@ -51,7 +51,7 @@ All **persisted** events carry `id`, `type`, and `processed_at` (ISO 8601), set > ⚠️ **Robust polling (raw HTTP).** If you bypass the SDK and roll your own poll loop, don't rely on `requests` or `httpx` timeouts as wall-clock caps — they're **per-chunk** read timeouts, reset every time a byte arrives. A trickling response (heartbeats, a wedged chunked-encoding body, a misbehaving proxy) can keep the call blocked indefinitely even with `timeout=(5, 60)` or `httpx.Timeout(120)`. Neither library has a "total wall-clock" timeout built in. For a hard deadline: track `time.monotonic()` at the loop level and break/cancel if a single request exceeds your budget (e.g. via a watchdog thread, or `asyncio.wait_for()` around async httpx). **Prefer the SDK** — `client.beta.sessions.events.stream()` and `client.beta.sessions.events.list()` handle timeout + retry sanely. > -> If `GET /v1/sessions/{id}/events` (paginated) ever hangs after headers, you've likely hit `GET /v1/sessions/{id}/events` by mistake or a server-side stall — report it; don't treat it as a client-config problem. +> If `GET /v1/sessions/{id}/events` (paginated) ever hangs after headers, you've likely hit `GET /v1/sessions/{id}/events/stream` by mistake or a server-side stall — report it; don't treat it as a client-config problem. ### Event Types (Received) diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-memory.md b/content/github/skills/skills/claude-api/shared/managed-agents-memory.md index 3c01d1fe3..1b59052ec 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-memory.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-memory.md @@ -84,7 +84,7 @@ Use these for review workflows, correcting bad memories, or seeding stores out-o ### List -Returns `Memory | MemoryPrefix` entries — a `MemoryPrefix` (`type: "memory_prefix"`, just a `path`) is a directory-like node when listing hierarchically. Use `path_prefix` to scope (include a trailing slash: `"/notes/"` matches `/notes/a.md` but not `/notes_backup/old.md`) and `depth` to bound the tree walk. `order_by` / `order` sort the result. Pass `view="full"` to include `content` in each item; the default `"basic"` returns metadata only. +Returns `Memory | MemoryPrefix` entries — a `MemoryPrefix` (`type: "memory_prefix"`, just a `path`) is a directory-like node when listing hierarchically. Use `path_prefix` to scope (include a trailing slash: `"/notes/"` matches `/notes/a.md` but not `/notes_backup/old.md`) and `depth` to bound the tree walk. Pass `view="full"` to include `content` in each item; the default `"basic"` returns metadata only. ```python for m in client.beta.memory_stores.memories.list(store.id, path_prefix="/"): diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-multiagent.md b/content/github/skills/skills/claude-api/shared/managed-agents-multiagent.md index 50a4a2099..3b7419947 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-multiagent.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-multiagent.md @@ -13,7 +13,7 @@ The SDK sets the `managed-agents-2026-04-01` beta header automatically on all `c ```python orchestrator = client.beta.agents.create( name="Engineering Lead", - model="claude-opus-4-8", + model="claude-opus-5", system="You coordinate engineering work. Delegate code review to the reviewer and test writing to the test agent.", tools=[{"type": "agent_toolset_20260401"}], multiagent={ diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-onboarding.md b/content/github/skills/skills/claude-api/shared/managed-agents-onboarding.md index fab80ac76..2fab24752 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-onboarding.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-onboarding.md @@ -24,7 +24,7 @@ Their description does the interview's work. Draft the agent config from it and - **Skills** — **suggest** prebuilt `xlsx`/`docx`/`pptx`/`pdf` when the job produces those artifacts; custom by `skill_id` (max 20 total per agent, prebuilt + custom combined). - **Outcome** — if the description implies checkable "done" criteria (or you can elicit them in the follow-up: not "a good report" but "a CSV with a numeric `price` column per SKU"), **suggest an Outcome kickoff** — the harness grades and iterates against a rubric (`shared/managed-agents-outcomes.md`). - **On-hand resources** — repos on disk (`github_repository`: URL, optional `mount_path`/`checkout`; token comes in §4), files to seed (Files API upload → `{type: "file", file_id, mount_path}`; read-only), if the job references them. -- **Model** — default `claude-opus-4-8`; `claude-fable-5` for the hardest long-horizon work (`shared/model-migration.md` → Migrating to Claude Fable 5). +- **Model** — default `claude-opus-5`; `claude-fable-5` for the hardest long-horizon work (`shared/model-migration.md` → Migrating to Claude Fable 5). > ‼️ **PR creation needs the GitHub MCP server too** — a `github_repository` mount is filesystem-only. Edit in the mount → push branch via `bash` → open the PR via the MCP `create_pull_request` tool. diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-overview.md b/content/github/skills/skills/claude-api/shared/managed-agents-overview.md index 9b4c6a6ea..a2a88c054 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-overview.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-overview.md @@ -65,7 +65,7 @@ Managed Agents is in beta. The SDK sets required beta headers automatically: - **Reconcile resources before the first run** — a session with a clear ask but a missing tool, credential, data mount, or context will discover the gap mid-run, then flail and give up. Before creating the session, check that every action in the task maps to a configured tool/MCP server, every MCP server has a vault credential, and every referenced file/host is mounted/reachable. When helping a user set one up, run the reconciliation in `shared/managed-agents-onboarding.md` → §3 Pre-flight viability check. - **Stream to get events** — `GET /v1/sessions/{id}/events/stream` is the primary way to receive agent output in real-time. - **SSE stream has no replay — reconnect with consolidation** — if the stream drops while a `agent.tool_use`, `agent.mcp_tool_use`, or `agent.custom_tool_use` is pending resolution (`user.tool_confirmation` for the first two, `user.custom_tool_result` for the last one), the session deadlocks (client disconnects → session idles → reconnect happens → no client resolution happens). On every (re)connect: open stream with `GET /v1/sessions/{id}/events/stream` , fetch `GET /v1/sessions/{id}/events`, dedupe by event ID, then proceed. See `shared/managed-agents-events.md` → Reconnecting after a dropped stream. -- **Don't trust HTTP-library timeouts as wall-clock caps** — `requests` `timeout=(c, r)` and `httpx.Timeout(n)` are *per-chunk* read timeouts; they reset every byte, so a trickling connection can block indefinitely. For a hard deadline on raw-HTTP polling, track `time.monotonic()` at the loop level and bail explicitly. Prefer the SDK's `sessions.events.stream()` / `session.events.list()` over hand-rolled HTTP. See `shared/managed-agents-events.md` → Receiving Events. +- **Don't trust HTTP-library timeouts as wall-clock caps** — `requests` `timeout=(c, r)` and `httpx.Timeout(n)` are *per-chunk* read timeouts; they reset every byte, so a trickling connection can block indefinitely. For a hard deadline on raw-HTTP polling, track `time.monotonic()` at the loop level and bail explicitly. Prefer the SDK's `sessions.events.stream()` / `sessions.events.list()` over hand-rolled HTTP. See `shared/managed-agents-events.md` → Receiving Events. - **Messages queue** — you can send events while the session is `running` or `idle`; they're processed in order. No need to wait for a response before sending the next message. - **Environment `config.type` is `"cloud"` or `"self_hosted"`** — `cloud` runs the container on Anthropic's infrastructure; `self_hosted` moves tool execution to your own (see `shared/managed-agents-self-hosted-sandboxes.md`). - **Archive is permanent on every resource** — archiving an agent, environment, session, vault, credential, or memory store makes it read-only with no unarchive. For agents, environments, and memory stores specifically, archived resources cannot be referenced by new sessions (existing sessions continue). Do not call `.archive()` on a production agent, environment, or memory store as cleanup — **always confirm with the user before archiving**. diff --git a/content/github/skills/skills/claude-api/shared/managed-agents-tools.md b/content/github/skills/skills/claude-api/shared/managed-agents-tools.md index efcdb13e4..fb1ef9717 100644 --- a/content/github/skills/skills/claude-api/shared/managed-agents-tools.md +++ b/content/github/skills/skills/claude-api/shared/managed-agents-tools.md @@ -322,7 +322,7 @@ Skills are attached to the **agent** definition via `agents.create()`: const agent = await client.beta.agents.create( { name: "Financial Agent", - model: "claude-opus-4-8", + model: "claude-opus-5", system: "You are a financial analysis agent.", skills: [ { type: "anthropic", skill_id: "xlsx" }, @@ -337,7 +337,7 @@ Python: ```python agent = client.beta.agents.create( name="Financial Agent", - model="claude-opus-4-8", + model="claude-opus-5", system="You are a financial analysis agent.", skills=[ {"type": "anthropic", "skill_id": "xlsx"}, diff --git a/content/github/skills/skills/claude-api/shared/model-migration.md b/content/github/skills/skills/claude-api/shared/model-migration.md index 2efa623af..07a871da2 100644 --- a/content/github/skills/skills/claude-api/shared/model-migration.md +++ b/content/github/skills/skills/claude-api/shared/model-migration.md @@ -19,6 +19,8 @@ For the latest, authoritative version (with code samples in every supported lang | Opus 4.7 Migration Checklist | The required vs optional items for 4.7, tagged `[BLOCKS]` / `[TUNE]` | | Migrating to Opus 4.8 | Migrating to Opus 4.8 (no new breaking changes; mid-session system prompts; behavioral re-tuning) | | Opus 4.8 Migration Checklist | The required vs optional items for 4.8, tagged `[BLOCKS]` / `[TUNE]` | +| Migrating to Claude Opus 5 | Migrating Opus 4.8 → Claude Opus 5 (thinking-disabled effort-gated; mid-conversation tool changes; per-turn effort and task budget; verbosity, over-verification, and scope re-tuning) | +| Claude Opus 5 Migration Checklist | The required vs optional items for Claude Opus 5, tagged `[BLOCKS]` / `[TUNE]` | | Migrating to Claude Sonnet 5 | Migrating Sonnet 4.6 → Claude Sonnet 5 (adaptive thinking on by default; non-default sampling params 400; new tokenizer; `xhigh` effort for coding/agentic; high-res vision; behavioral re-tuning) | | Claude Sonnet 5 Migration Checklist | The required vs optional items, tagged `[BLOCKS]` / `[TUNE]` | | Migrating to Claude Fable 5 | Migrating to Claude Fable 5 or Claude Mythos 5 (always-on thinking, raw chain of thought never returned, refusal handling, data retention, behavioral shifts + prompting guidance) | @@ -183,9 +185,10 @@ If you're applying several prompt-tuning edits at once, offer them as a short li | If you're on… | Migrate to | Why | | ------------------------------------- | ------------------ | ------------------------------------------------- | | Claude Mythos Preview (`claude-mythos-preview`) | `claude-mythos-5` (Project Glasswing successor) or `claude-fable-5` (GA) | Same tokenizer family — mostly a model-ID swap; remove `thinking` config and prefill; see Migrating to Claude Fable 5 | -| Opus 4.7 | `claude-opus-4-8` | Most capable Opus-tier model; same API surface as 4.7 (no new breaking changes) — mostly prompt re-tuning; see Migrating to Opus 4.8 | -| Opus 4.6 | `claude-opus-4-8` | Apply the Opus 4.7 breaking changes, then the 4.8 re-tuning | -| Opus 4.0 / 4.1 / 4.5 / Opus 3 | `claude-opus-4-8` | Apply 4.6 → 4.7 → 4.8 in order (adaptive thinking, drop sampling params, then re-tune) | +| Opus 4.8 | `claude-opus-5` | The current Opus. Two breaking changes (thinking on by default; disabling thinking capped at `high` effort) plus prompt re-tuning — see Migrating to Claude Opus 5 | +| Opus 4.7 | `claude-opus-5` | Apply the Opus 4.8 section (prompt re-tuning, no new breaking changes), then the Claude Opus 5 section | +| Opus 4.6 | `claude-opus-5` | Apply the Opus 4.7 breaking changes, then 4.8 re-tuning, then the Claude Opus 5 section | +| Opus 4.0 / 4.1 / 4.5 / Opus 3 | `claude-opus-5` | Apply 4.6 → 4.7 → 4.8 → Claude Opus 5 in order (adaptive thinking, drop sampling params, then re-tune) | | Sonnet 4.6 | `claude-sonnet-5` | Near-Opus quality on agentic and coding work at Sonnet cost; adaptive thinking on by default; see Migrating to Claude Sonnet 5 | | Sonnet 4.0 / 4.5 / 3.7 / 3.5 | `claude-sonnet-5` | Apply the Sonnet 4.6 changes first, then the Claude Sonnet 5 section | | Haiku 3 / 3.5 | `claude-haiku-4-5` | Fastest and most cost-effective | @@ -482,11 +485,12 @@ If the model is now overtriggering a tool or skill, the fix is almost always to | Old string (migration source) | New string | | ------------------------------ | ------------------ | -| `claude-opus-4-7` | `claude-opus-4-8` | -| `claude-opus-4-6` | `claude-opus-4-8` | -| `claude-opus-4-5` | `claude-opus-4-8` | -| `claude-opus-4-1` | `claude-opus-4-8` | -| `claude-opus-4-0` | `claude-opus-4-8` | +| `claude-opus-4-8` | `claude-opus-5` | +| `claude-opus-4-7` | `claude-opus-5` | +| `claude-opus-4-6` | `claude-opus-5` | +| `claude-opus-4-5` | `claude-opus-5` | +| `claude-opus-4-1` | `claude-opus-5` | +| `claude-opus-4-0` | `claude-opus-5` | | `claude-mythos-preview` | `claude-mythos-5` (Project Glasswing) or `claude-fable-5` | | `claude-sonnet-4-6` | `claude-sonnet-5`| | `claude-sonnet-4-5` | `claude-sonnet-5`| @@ -501,6 +505,7 @@ If the code uses the `AnthropicBedrockMantle` client (Python `anthropic[bedrock] | First-party ID | Bedrock ID | |---|---| | `claude-opus-4-8` | `anthropic.claude-opus-4-8` | +| `claude-opus-5` | `anthropic.claude-opus-5` | | `claude-opus-4-7` | `anthropic.claude-opus-4-7` | | `claude-sonnet-5` | `anthropic.claude-sonnet-5` | | `claude-haiku-4-5` | `anthropic.claude-haiku-4-5` | @@ -686,22 +691,22 @@ Beyond resolution, Opus 4.7 also improves on low-level perception (pointing, mea Requests that involve prohibited or high-risk topics may lead to refusals. -### Fast Mode: Opus 4.8 / 4.7 only +### Fast Mode: Claude Opus 5 / Opus 4.8 only -Fast mode is available on Opus 4.8 and Opus 4.7. Only surface this if the caller's code actually uses fast mode (e.g. `model="claude-opus-4-6-fast"`, or `speed="fast"` on an unsupported model); if the word "fast" does not appear in the code, say nothing about Fast Mode. +Fast mode is available on Claude Opus 5 and Opus 4.8. Only surface this if the caller's code actually uses fast mode (e.g. `model="claude-opus-4-6-fast"`, or `speed="fast"` on an unsupported model); if the word "fast" does not appear in the code, say nothing about Fast Mode. -When you see `model="claude-opus-4-6-fast"` (or any retired `-fast` model string), **the migration edit is** to move the fast-mode traffic onto Opus 4.8, the durable fast-capable tier: +When you see `model="claude-opus-4-6-fast"` (or any retired `-fast` model string), **the migration edit is** to move the fast-mode traffic onto Claude Opus 5, the current fast-capable default (Opus 4.8 also works if the caller is staying on that tier): ```python -# Request fast mode on Opus 4.8. +# Request fast mode on Claude Opus 5. client.beta.messages.create( - model="claude-opus-4-8", max_tokens=4096, + model="claude-opus-5", max_tokens=4096, speed="fast", betas=["fast-mode-2026-02-01"], messages=[...], ) ``` -That is: switch the model to Opus 4.8 and request fast mode the supported way, using the beta `client.beta.messages.…` endpoint, the `fast-mode-2026-02-01` beta flag, and `speed="fast"` as a top-level request parameter (per-language form in SKILL.md § Fast Mode). Opus 4.7 also supports fast mode today, but it is itself being sunset (fast mode removed by default around Jul 25, 2026), so target Opus 4.8 as the durable choice rather than landing on a tier that is about to lose fast mode. Do **not** leave the code on a retired `-fast` model string — the failure mode differs by version: `claude-opus-4-6-fast` is already retired and the API **silently falls back** to standard Opus 4.6 (no error — the caller loses fast-mode speed without noticing); `claude-opus-4-7-fast`, once removed, will instead return an **API error** (hard failure — requests break outright rather than degrading). Either way, migrate to Opus 4.8 fast mode now. +That is: switch the model to Claude Opus 5 (or Opus 4.8) and request fast mode the supported way, using the beta `client.beta.messages.…` endpoint, the `fast-mode-2026-02-01` beta flag, and `speed="fast"` as a top-level request parameter (per-language form in SKILL.md § Fast Mode). Opus 4.7 fast mode has also been removed, so do not land on Opus 4.7 either. Do **not** leave the code on a retired `-fast` model string — the failure mode differs by version: `claude-opus-4-6-fast` is retired and the API **silently falls back** to standard Opus 4.6 (no error — the caller loses fast-mode speed without noticing); `claude-opus-4-7-fast` and `speed="fast"` on Opus 4.7 instead return an **API error** (hard failure — requests break outright rather than degrading). Either way, migrate to Opus 4.8 fast mode now. ### Behavioral shifts (prompt-tunable) @@ -895,6 +900,248 @@ For a caller **already on Opus 4.7**, only the first item is required; everythin --- +## Migrating to Claude Opus 5 + +> **Model ID `claude-opus-5` is authoritative as written here.** When the user asks to migrate to Claude Opus 5, write `model="claude-opus-5"` exactly. Do **not** WebFetch to verify — this guide is the source of truth for migration target IDs. The corresponding entry exists in `shared/models.md`. + +Claude Opus 5 is the successor to Claude Opus 4.8 in the Opus line, and is strongest on long-horizon agentic work and coding. It is layered on top of the Opus 4.8 migration above; if the caller is coming from Opus 4.7 or older, apply those sections first. Like Claude Fable 5, it ships with **elevated cybersecurity safeguards, and its safety classifiers can decline a request**: you get a normal HTTP 200 with `stop_reason: "refusal"` and a `stop_details` category, not an error. Benign security and life-sciences work occasionally trips them, so **check `stop_reason` before reading `response.content`** — code that indexes `content[0]` unconditionally breaks on a refusal. Cyber-category refusals route to Opus 4.8 as the recommended fallback, so a fallback strategy genuinely recovers the request rather than just relabelling the failure. The full refusal semantics (pre-output vs mid-stream billing, retry strategies, fallback credit) are in the Claude Fable 5 section below and apply here unchanged. + +Existing prompts and evals should carry over with strong out-of-the-box performance. **It is a drop-in upgrade at Opus 4.8's pricing** — $5 per million input tokens, $25 per million output — with the same feature set: 1M context (default, no beta header), 128K max output, adaptive thinking, prompt caching, batch processing, the Files API, PDF support, vision, and the full server-side and client-side tool set. `claude-opus-5` is a fixed ID with no date suffix, same scheme as `claude-opus-4-8`. + +The migration is **the model-ID swap plus prompt re-tuning**, with two breaking changes covered below. + +**Availability at launch:** Claude API (`claude-opus-5`), Amazon Bedrock (`anthropic.claude-opus-5`), Google Cloud (`claude-opus-5`), and Microsoft Foundry. Opus 4.8 stays available on all four. + +**Rate limits are a separate bucket.** Opus 4.8/4.7/4.6/4.5 share one combined Opus limit; Claude Opus 5 does **not** draw from it. Shifting traffic over neither frees headroom on the old bucket nor inherits it — check your tier's Claude Opus 5 limits before moving volume. + +**TL;DR for someone already on Claude Opus 4.8:** swap the model ID. Then re-tune: Claude Opus 5 writes longer user-facing responses and longer files on disk (add explicit conciseness and deliverable-length instructions — `effort` does not reliably shorten visible output), verifies its own work without being told (**delete** your verification instructions and harness verification steps), and can expand task scope (add a scope-discipline instruction). Run a fresh effort sweep — `low` and `medium` are unusually strong here and are the primary cost/latency lever. + +### Breaking change 1: thinking is on by default + +A request that omits the `thinking` parameter **thinks** on Claude Opus 5, unlike Claude Opus 4.8 and Opus 4.7 where omitting it meant no thinking. `thinking: {type: "adaptive"}` remains valid and is equivalent to the default — the wire value didn't change, the default did. + +This is a silent cost and truncation change, not just a behavior one: **`max_tokens` is a hard cap on thinking *plus* response text.** A workload that ran without thinking on Opus 4.8 and sized `max_tokens` tightly around its answer can now truncate mid-response. Revisit `max_tokens` on every route that never set `thinking`. To keep the old behavior, pass `thinking: {type: "disabled"}` — subject to the effort cap below. + +Raw thinking tokens are **never returned** on Claude Opus 5; `display` defaults to `"omitted"`, and `display: "summarized"` gets you a summary. This also means a fallback model cannot read Claude Opus 5's thinking. + +### Breaking change 2: disabling thinking is capped at `high` effort + +Disabling thinking is available only at effort **`high` or lower**; `thinking: {type: "disabled"}` combined with `xhigh` or `max` returns a 400. Opus 4.8 accepts that combination, so audit any route that disables thinking before migrating. + +**The check is per request.** Effort and thinking are validated independently on every call, so a later request that raises effort to `xhigh` while thinking is still disabled is rejected even though earlier requests in the same conversation succeeded. + +```python +# 400 on Claude Opus 5 — disabled thinking above `high` +client.messages.create( + model="claude-opus-5", + max_tokens=4096, + thinking={"type": "disabled"}, + output_config={"effort": "xhigh"}, + messages=[...], +) +``` + +**Migrating:** either enable thinking at `xhigh`/`max`, or lower effort to `high` or below. Given how well Claude Opus 5 performs at `low` and `medium`, a latency-sensitive route that previously ran `xhigh` + disabled thinking is usually better served by `medium` with thinking on than by keeping the disabled path. + +Everything else from the Opus 4.7/4.8 request surface is unchanged: `budget_tokens` still 400s (use `output_config.effort`), sampling parameters (`temperature`, `top_p`, `top_k`) are still rejected, last-assistant-turn prefills still 400, and `thinking.display` still defaults to `"omitted"`. + +### Two failure modes when thinking is disabled + +**Are you affected?** Only if you explicitly set `thinking: {type: "disabled"}`. Thinking is on by default on Claude Opus 5 (see Breaking change 1 above), so an unmodified request never hits either of these — but code carrying a disabled-thinking setting forward from Opus 4.8, where it was the default behaviour, does. + +Both are specific to `thinking: {type: "disabled"}` on Claude Opus 5, and for both the **primary recommendation is the same: turn thinking back on and use a lower `effort` to control cost and verbosity instead.** Disabling thinking is the more expensive lever in every sense — it is what triggers these, and `low`/`medium` effort already gets you most of the token and latency saving (see § Effort below). + +**1. Tool calls can arrive as plain text.** The model occasionally writes a tool call into its user-facing text rather than emitting a structured `tool_use` block. **The turn completes normally and the call never runs** — there is no error and no `tool_use` block to catch, so a harness sees a successful turn that silently did nothing. Worse in an agentic loop: the bogus text stays in conversation history and skews later turns. Most common on tool-heavy workloads such as search. + +**2. `` tags can leak into the visible response.** The model may emit `` or other internal XML in its user-facing output. + +If you cannot enable thinking, one instruction covers both failure modes — give the model explicit permission to talk before a tool call (the tool-as-text failure appears to come from suppressing the preamble it wants to write), and forbid internal tags generically: + +> *"When you use a tool, you may say a brief sentence first. If no tool can express what the user asked for, say so instead of guessing. Do not include internal or system XML tags in your response."* + +Two counterintuitive rules for that instruction: + +- **Delete any instruction telling the model not to think or not to reason.** That kind of rule *increases* tag leakage rather than suppressing it. +- **Do not name thinking tags in the prompt.** Calling out `` by name is measurably less effective than the generic "internal or system XML tags" wording above. + +### New API features + +Two additions, each behind its own beta header. Both are optional — a migrated request works without them. + +**1. `fallbacks: "default"` — recommended for every caller.** Claude Opus 5's safety classifiers can decline a request; the `fallbacks` parameter re-runs a declined request on another model server-side instead of returning the refusal to you. Previously you named the substitute yourself (`"fallbacks": [{"model": "claude-opus-4-8"}]`). The new `"default"` mode picks Anthropic's recommended fallback automatically, routed **by refusal category** — cyber-category refusals go to Claude Opus 4.8. + +```http +POST /v1/messages +anthropic-beta: server-side-fallback-2026-07-01 + +{"model": "claude-opus-5", "fallbacks": "default", "max_tokens": 1024, + "messages": [{"role": "user", "content": "Say OK."}]} +``` + +**Prefer `"default"` over pinning a model.** Different fallback models carry different classifiers, so the right substitute depends on *why* the request was declined — and `"default"` removes the migration you would otherwise owe when a pinned fallback model is deprecated. Note the header is `server-side-fallback-2026-07-01`, distinct from the `-2026-06-01` header that gates the array form; the array form's semantics (content blocks, `usage.iterations`, sticky routing) are unchanged and documented in the Claude Fable 5 refusal section below. + +**2. Mid-conversation tool changes (beta `mid-conversation-tool-changes-2026-07-01`).** Change a conversation's tool set between turns without invalidating the prompt cache. Previously `tools` was fixed for the conversation's lifetime and any edit re-billed the whole prefix. Append a `{"role": "system", "content": [...]}` message carrying a `tool_addition` or `tool_removal` block: + +```python +messages = [ + {"role": "user", "content": "What tools do you have for weather in Paris?"}, + {"role": "system", "content": [ + {"type": "tool_addition", "tool": {"type": "tool_reference", "name": "get_forecast"}}, + ]}, +] +``` + +The added tool must already be declared in `tools[]` with `"defer_loading": True` — declared up front, but not loaded into context until a `tool_addition` surfaces it. A `tool_removal` block must sit either immediately before an assistant message or at the end of `messages`. To *change* a tool's definition, remove the old one on one request, then send the updated entry in `tools[]` on the next. See `shared/tool-use-concepts.md` § Mid-conversation tool changes. + +> ⚠️ Earlier previews of this feature used a different beta header and different block shapes. Both are deprecated — if the code you're migrating carries anything other than `mid-conversation-tool-changes-2026-07-01` with `tool_addition` / `tool_removal` / `tool_reference`, update the header and the shapes together. + + +> **SDK typings lag these blocks.** Pass them as plain dicts in Python (the SDK forwards unknown keys unchanged) or add a `@ts-expect-error` in TypeScript until the types catch up. `extra_body` / `extra_headers` work on `.stream()` exactly as on `.create()`. + +### Capability improvements + +**Agentic coding.** Claude Opus 5 is a workhorse for agentic coding and is strongest on *difficult* tasks — multi-file features, larger refactors, end-to-end feature work. It completes tasks rather than leaving stubs or placeholders. The gap over prior models is smaller on easy single-turn edits, so evaluate it on the hard end of your workload. To get the most out of it, give the complete task specification up front and let it run; longer autonomous sessions with more parallel agents show the strongest results, short interactive edits the least. + +**Code review and bug-finding.** High precision *and* high recall — a high rate of real bugs per pass, with the extra findings mostly real rather than false positives. It stays accurate at lower effort, which makes a cheap fast pass at review time plus a thorough pass later a practical pattern. + +**Effort: the full ladder, and where to start.** Claude Opus 5 supports all five levels — `low`, `medium`, `high`, `xhigh`, `max` — with no beta header. The API default is `high`. + +- **Start at `high` (the API default), then sweep down.** `low` and `medium` are unusually effective on this model — strong quality at a fraction of the tokens and latency on many workloads — so treat them as the primary cost/latency lever and reserve `high` and above for tasks where your evals show a quality difference. Effort defaults carried over from a prior model are usually not the right setting here; run a fresh sweep. +- **`xhigh` and `max` are for measured wins, not a starting point.** `max` is the top tier for the deepest reasoning and worth testing where capability matters more than spend, but it can show diminishing returns and overthink simpler tasks. + +At `xhigh` or `max`, **set a large `max_tokens`** so the model has room to think and act across tool calls and subagents. Start at 64K and tune. + +**Lower prompt-cache minimum.** The minimum cacheable prompt is **512 tokens** on Claude Opus 5, down from 1024 on Opus 4.8. Prompts previously too short to cache now create entries with no code change — worth re-checking any prompt you'd written off as uncacheable. See `shared/prompt-caching.md`. + +**Fast mode.** `speed: "fast"` (beta header `fast-mode-2026-02-01`) is supported on Claude Opus 5, priced at $10 / $50 per MTok. It is a research preview on the **Claude API only** — including Managed Agents — and is **not** available on Amazon Bedrock, Google Cloud, or Microsoft Foundry. Fast mode draws on dedicated rate limits separate from the standard Opus pools. + +**Vision — give it tools, not more thinking.** Stronger on chart, document, and diagram understanding, and on UI and frontend visual replication. The highest-leverage change is **giving it tools to iteratively analyze, crop, and visually verify its own work**: on this model tool use is a markedly more cost-effective lever than raising thinking alone. Claude Opus 5 sits in the high-resolution tier alongside Opus 4.8 — 2576 px on the long edge, up to 4784 visual tokens per image — so coordinates map 1:1 to pixels and no scale-factor math is needed. Any prompt-side workaround you added for a prior model's vision limitations should be re-validated; several are now counterproductive. + +**Long context.** 1M-token context window as both the default *and* the maximum. Instruction following, tool calling, and reasoning stay strong across the full window. + +**Office and document tasks.** Generates and edits complex multi-sheet Excel files with non-trivial formulas, and visually strong PowerPoint decks that follow slide-design best practices. It can be prompted to adhere to a specific style or template when one is required. + +**Multi-agent coordination.** Coordinates teams of subagents well — few cases of agents overwriting each other's work, and effective use of writer-verifier patterns. Workloads that benefit from multi-agent patterns are good fits. **Cost-sensitive workloads should cap multi-agent usage** — see the delegation section below, because this model reaches for subagents more readily than its predecessors. + +### Behavioral shifts (prompt-tunable) + +**Longer user-facing responses.** Default response text is longer than on prior models. **`effort` is not the lever here** — changing it may move thinking volume without reliably changing visible output length. Prompting is: in testing, a short conciseness instruction cut user-facing response length by ~20%. + +> *"Keep responses focused, brief, and concise to avoid overwhelming the person. Disclaimers and caveats are brief, with most of the response on the main answer; when asked to explain something, give a high-level summary unless an in-depth one is specifically requested."* + +For a long system prompt, pair that with a one-line reminder near the end: + +> ``` +> +> Keep outputs reasonably concise. +> +> ``` + +**More narration in agentic sessions** (the lever runs both ways — the same explicit-description technique tunes narration *up* or restyles it, if your product wants more). Claude Opus 5 narrates what it is about to do, and its per-message output in agentic sessions is longer than prior models'. It responds well to explicit guidance on *how* to communicate during a task rather than just *how much*. For coding agents, this block calibrates it: + +> ``` +> # Communicating with the user +> Your text output is what the user reads between tool calls; they usually can't see your thinking or the raw tool results. Write it for a teammate who stepped away and is catching up, not for a log file: they don't know the codenames or shorthand you created along the way, and they didn't watch your process unfold. Before your first tool call, say in a sentence what you're about to do; while working, give brief updates when you find something load-bearing or change direction. +> +> Lead with the outcome. Your first sentence after finishing should answer "what happened" or "what did you find" — the thing the user would ask for if they said "just give me the TLDR." Supporting detail and reasoning should come after, for readers who want them. +> +> Being readable and being concise are different things, and readable matters more. If the user has to reread your summary or ask you to explain, any time saved by brevity is gone. The way to keep output short is to be selective about what you include (drop details that don't change what the reader would do next), not to compress the writing into fragments, abbreviations, arrow chains like `A → B → fails`, or jargon. What you do include, write in complete sentences with the technical terms spelled out. Don't make the reader cross-reference labels or numbering you invented earlier; say what you mean in place. +> +> Match the response to the question: a simple question should be answered with a direct answer in prose, not headers and sections. Use tables only for short enumerable facts, with explanations in the surrounding prose rather than the cells. Calibrate to the user — a bit tighter for an expert, more explanatory for someone newer. +> +> Write code that reads like the surrounding code: match its comment density, naming, and idiom. +> +> Only write a code comment to state a constraint the code itself can't show — never to say where it came from, what the next line does, or why your change is correct; that's you talking to the reviewer, not the next reader, and it's noise the moment the PR merges. +> ``` + +**Longer written deliverables.** Separate from conversational verbosity: files Claude Opus 5 writes to disk — reports, Markdown documents, summaries — are often longer than on prior models. If your product ships Claude-authored documents, calibrate length explicitly: + +> *"Match the length of written deliverables (especially Markdown files) to what the task needs: cover the substance, but do not pad documents with filler sections, redundant summaries, or boilerplate."* + +**Self-check instructions are the same trap.** Beyond harness scaffolding, per-prompt re-check phrasing — *"double-check your answer"*, *"re-verify before responding"* — triggers the same extra work. Note this **inverts a standard prompting best practice**: "ask Claude to self-check" is generally sound advice and is wrong here, so a prompt library that applies it uniformly needs a carve-out for this model rather than a global rule. + +**Over-verification — delete your verification scaffolding.** Claude Opus 5 verifies its own work without being asked. Instructions that *tell* it to verify ("include a final verification step for virtually any non-trivial task", "use a subagent to verify") now cause over-verification. **Removing them reduces over-verification with no capability regression** — this is a delete, not a rewrite. The same applies to harness-level scaffolding: separate verification steps carried over from prior models are likely redundant now. + +**Task scope expansion.** It can add steps the user didn't request, or apply its own judgment about what the task should be without making that clear. In testing, this instruction reduced scope changes to nearly zero without producing excessive clarifying questions: + +> *"Deliver what the user asked for, at the scope they intended. Interpret ambiguity the way a careful colleague would: make routine judgment calls yourself, and check in only when different readings would lead to materially different work. If you conclude the ask is mistaken or a better approach exists, say so in a sentence and keep going with the task as asked — don't quietly narrow, widen, or transform it. Finish the whole task, not just the easy part of it - only report completion when it's fully done. If you genuinely can't complete something, do the rest and state plainly what's missing and why. Stop short of actions or changes that are clearly beyond what the user's ask implies."* + +The revised wording adds a **finish-the-whole-task** clause — report completion only when the work is actually done, and if something genuinely can't be finished, do the rest and say plainly what is missing. That covers premature "done" claims, which scope-discipline wording alone did not. + +**Delegates to subagents more readily — the opposite of Opus 4.8.** This is a direction change worth flagging: Opus 4.8 *under*-reached for subagents and needed prompting to delegate. Claude Opus 5 reaches for them freely, which multiplies cost and latency — each subagent re-establishes context, re-explores, reports back, and then the coordinator re-reads the report. If your harness supports subagents, **any "delegate more" guidance you added for Opus 4.8 should come out**, and you likely want an explicit cap. A deterministic ceiling on spawn count is the reliable lever; this block reduces delegation and token spend: + +> ``` +> ## Delegating to subagents +> Subagents multiply cost and time: each one re-establishes context, re-explores, and reports back, and you then re-read its report. Delegate rarely and only when the payoff clearly exceeds that overhead. +> +> Do use subagents for: +> - Large tasks that are genuinely independent and parallelizable. For example, wide multi-file investigations. +> +> Do NOT use subagents for: +> - Work you could finish yourself in a handful of tool calls. For example: a few file reads, a handful of edits, a simple search task, relatively simple verification. +> - Review, verification, or to double check your work. Verification belongs in your main agent loop. +> +> Use of parallel or multiple subagents: +> - Do not use multiple subagents on a single small task. Parallel subagents are for genuinely independent, sizeable tracks (unrelated modules, a wide multi-file investigation), not for splitting one modest job into pieces. +> - If the task can be completed with one subagent, choose one subagent over multiple subagents. Keep spawn counts low. +> - Never use more than 20 parallel agents unless the user explicitly requests it. +> +> When delegating to subagents: +> - Brief the subagent precisely the first time. Avoid launching, waiting, and re-briefing. +> - If you delegate, commit to the delegation. Never redo the subagent's work and do not re-derive its findings once it reports back. +> - If you launch multiple agents for independent work, send them in a single message with multiple tool uses so they run concurrently. +> ``` + +Note the interaction with over-verification below: "do not use subagents to verify" and "delete your verification scaffolding" are the same underlying fix seen from two angles. + +**Narrates self-corrections more than prior models.** It flags and explains its own earlier mistakes at length, which reads as thrash in a user-facing product. Scope corrections to the ones that actually change the user's outcome: + +> ``` +> # Corrections +> Avoid unnecessary or excessive self-correction. Only correct an earlier statement in your user-facing text when the error would change the user's code, conclusions, or decisions. State corrections plainly and concisely, and continue the task; combine multiple corrections rather than enumerating them all. For slips that change nothing for the user, simply make the correction and move on - no need to note it explicitly. Don't add apologies or preambles, don't be overly self-critical, and don't ruminate or give a detailed account of the mistake or tally past errors. Sometimes, other agents will report incorrect or misleading results - don't always take them at face value immediately. If other agents correct your statements and they are right, then simply update your approach without narrating too much about the correction to the user. This instruction does not apply to thinking blocks. +> +> A follow-up question about your earlier work is not, by itself, a signal that you got something wrong — answer what was asked. A statement that was accurate needs no correction: don't re-audit how you phrased it, how you verified it, or limits you already stated. When the user does point to a real error, correct it plainly as above. +> ``` + +The second paragraph matters as much as the first: a plain follow-up question can otherwise trigger a re-audit of work that was correct. + +**Time to first token (TTFT).** Claude Opus 5 sometimes thinks before its first visible block, which raises TTFT — a problem for user-facing chat and voice, where the pause reads as latency. This one-line instruction reduces pre-first-block thinking significantly: + +> *"Latency-sensitive; begin your visible answer immediately."* + +Apply it only where first-token latency is user-visible; on background and agentic routes the pre-answer thinking is usually worth keeping. + +**Severity filters still depress measured recall.** Unchanged from 4.7/4.8: if a review harness says "only report high-severity issues" or "be conservative", Claude Opus 5 follows it literally. Ask it to report everything with confidence and severity, and filter in a separate pass — see the **Code review** guidance in the Opus 4.7 section for the recommended prompt. + +### Claude Opus 5 Migration Checklist + +**`[BLOCKS]`** items cause a 400 error if missed; **`[TUNE]`** items are quality/cost adjustments — surface them to the user as recommendations. + +- [ ] **[BLOCKS]** Update the `model=` string to `claude-opus-5` +- [ ] **[BLOCKS]** Any route combining `thinking: {type: "disabled"}` with `effort` of `xhigh` or `max`: enable thinking, or lower effort to `high` or below. Validated per request, so audit every call site, not just the first +- [ ] **[BLOCKS]** Every route that never set `thinking`: it now thinks, and `max_tokens` caps thinking + response text together. Raise `max_tokens` or pass `thinking: {type: "disabled"}` at effort `high` or below — otherwise responses truncate mid-answer +- [ ] **[BLOCKS]** *(only if coming from Opus 4.7 or earlier)* Apply the **Migrating to Opus 4.7** breaking changes first — `budget_tokens` → adaptive thinking, strip `temperature`/`top_p`/`top_k`, remove last-assistant-turn prefills +- [ ] **[TUNE]** Effort: start at `high` (the API default) and sweep down — `low`/`medium` are unusually strong on this model and are the primary cost/latency lever; reserve `xhigh`/`max` for tasks where you've measured a quality difference. Prior-model defaults rarely transfer. At `xhigh`/`max`, set `max_tokens` to at least 64K +- [ ] **[TUNE]** Re-check prompts you'd written off as uncacheable — the minimum drops to 512 tokens (from 1024 on Opus 4.8) +- [ ] **[TUNE]** Rate limits: Claude Opus 5 is a separate bucket from the combined Opus 4.x pool — confirm your tier's limits before shifting volume +- [ ] **[TUNE]** Fast mode (`speed: "fast"`, `fast-mode-2026-02-01`, $10/$50) is Claude-API-only — drop it on Bedrock, Google Cloud, and Foundry routes +- [ ] **[TUNE]** Verbosity: add a conciseness instruction (and a `` tag for long system prompts). Do **not** try to shorten output by lowering `effort` — it doesn't reliably work +- [ ] **[TUNE]** Agentic sessions: add a "Communicating with the user" block to calibrate inter-tool-call narration +- [ ] **[TUNE]** Claude-authored files: add a deliverable-length instruction +- [ ] **[TUNE]** **Delete** verification instructions from prompts and verification steps from the harness — including per-prompt *"double-check your answer"* phrasing, which inverts the usual self-check best practice on this model +- [ ] **[TUNE]** Add the scope-discipline instruction if the model expands task scope +- [ ] **[TUNE]** Vision pipelines: re-validate prompt-side workarounds written for a prior model's vision limitations +- [ ] **[TUNE]** Consider mid-conversation tool changes (`mid-conversation-tool-changes-2026-07-01`) — changes the tool set between turns without invalidating the prompt cache. Note per-turn `effort` / `task_budget` are **not** in this launch; both stay request-level +- [ ] **[TUNE]** Subagent-capable harnesses: this model delegates *more* readily than Opus 4.8 — remove any "delegate more" guidance you added for 4.8 and add an explicit cap +- [ ] **[TUNE]** User-facing products: add the corrections instruction if self-correction narration reads as thrash +- [ ] **[TUNE]** TTFT-sensitive routes (chat, voice): add *"Latency-sensitive; begin your visible answer immediately"* to reduce pre-first-block thinking; skip on background/agentic routes +- [ ] **[TUNE]** Any route running `thinking: {type: "disabled"}`: prefer turning thinking on at `low`/`medium` effort. Disabled thinking can emit tool calls as plain text (the call silently never runs) and leak `` tags into output. If you must stay thinking-off, delete any don't-think/don't-reason rule and add the combined *"When you use a tool, you may say a brief sentence first. If no tool can express what the user asked for, say so instead of guessing. Do not include internal or system XML tags in your response"* — do not name `` tags in the prompt +- [ ] **[TUNE]** Vision pipelines: give it crop/analyze/verify tools — cheaper and more effective than raising thinking +- [ ] **[TUNE]** Handle `stop_reason: "refusal"` before reading `content`, and opt into `fallbacks: "default"` (`server-side-fallback-2026-07-01`) rather than pinning a model — cyber-category refusals route to Claude Opus 4.8 +- [ ] **[TUNE]** Long-horizon / agentic work: give the complete task spec up front in one turn rather than building it up across interactive turns + +--- + ## Migrating to Claude Sonnet 5 > **Model ID `claude-sonnet-5` is authoritative as written here.** When the user asks to migrate to Claude Sonnet 5, write `model="claude-sonnet-5"` exactly. Do **not** WebFetch to verify — this guide is the source of truth for migration target IDs. The corresponding entry exists in `shared/models.md`. @@ -1052,7 +1299,7 @@ Every item is tagged: **`[BLOCKS]`** items cause a 400 error or truncated output Claude Fable 5 is Anthropic's most capable widely released model — for the most demanding reasoning and long-horizon agentic work. **Claude Mythos 5** (`claude-mythos-5`) offers the same capabilities, pricing, and API behavior through Project Glasswing (participation is the only way to access it), and succeeds the invitation-only **Claude Mythos Preview** (`claude-mythos-preview`). Everything in this section applies to both models — only the ID differs. Mythos Preview migrators in Project Glasswing target `claude-mythos-5`; everyone else targets `claude-fable-5`. 1M token context window by default (the maximum is also the default), up to 128K output tokens per request. -**Migrate to Claude Fable 5 only when the user explicitly chose it.** It is not the default Opus upgrade path — pricing is above Opus-tier. For "upgrade to the latest model" requests, the target remains `claude-opus-4-8`. +**Migrate to Claude Fable 5 only when the user explicitly chose it.** It is not the default Opus upgrade path — pricing is above Opus-tier. For "upgrade to the latest model" requests, the target remains `claude-opus-5`. ### Breaking changes (vs Opus-tier and Mythos Preview) @@ -1116,7 +1363,7 @@ else: Three ways to retry a refused request on another model, in order of preference: -**1. Server-side `fallbacks` parameter (beta: Claude API and Claude Platform on AWS) — preferred.** One round trip, a plain client, no client-side logic. Name substitute models (the only supported fallback target at launch is `claude-opus-4-8`, expansion expected); on a policy decline the API runs the next model on the same request and returns its answer, with credit-style repricing applied automatically. A `stop_reason: "refusal"` on the final response means the whole chain refused. +**1. Server-side `fallbacks` parameter (beta; Claude API and Claude Platform on AWS) — preferred.** One round trip, a plain client, no client-side logic. Name substitute models (the only supported fallback target at launch is `claude-opus-4-8`, expansion expected); on a policy decline the API runs the next model on the same request and returns its answer, with credit-style repricing applied automatically. A `stop_reason: "refusal"` on the final response means the whole chain refused. ```python response = client.beta.messages.create( @@ -1144,7 +1391,7 @@ if fallback_ran and response.stop_reason != "refusal": Key semantics: -- **Header must be exactly `server-side-fallback-2026-06-01`** — other `server-side-fallback-*` values reject the `fallbacks` param with a 400. The current header carries the *earliest* date of the series (`-2026-06-09` and `-2026-06-02` were earlier previews) — do not "correct" it to a newer-looking date. Rejected on the Batches API; not available on Amazon Bedrock, Vertex AI, or Microsoft Foundry (use pattern 2 there — the SDK middleware). Entries may override `max_tokens` per hop (bounding that attempt's own output independently of the top-level `max_tokens`); `thinking`, `output_config`, and `speed` overrides are rolling out (`speed` additionally requires its beta) — until your requests accept them, include only `model` and `max_tokens` in each entry. Entries must be distinct and must be in the requested model's `allowed_fallback_models` (published on `/v1/models` when the `server-side-fallback-2026-06-01` beta header is set — not yet visible under the `fallback-credit-*` header alone, and not exposed on Amazon Bedrock, Vertex AI, or Microsoft Foundry). The request *with an entry's overrides merged in* must be valid as a direct request to that entry's model. +- **Header depends on the form you use.** The **array** form (`fallbacks: [{...}]`) requires exactly `server-side-fallback-2026-06-01` — other `server-side-fallback-*` values reject it with a 400, and that header carries the *earliest* date of the series (`-2026-06-09` and `-2026-06-02` were earlier previews), so do not "correct" it to a newer-looking date. The **`"default"` scalar** form uses `server-side-fallback-2026-07-01` instead — see § New API features under Migrating to Claude Opus 5. Pairing either header with the other form 400s. Rejected on the Batches API; available on the Claude API and Claude Platform on AWS; not on Amazon Bedrock, Vertex AI, or Microsoft Foundry (use pattern 2 there — the SDK middleware). Entries may override `max_tokens` per hop (bounding that attempt's own output independently of the top-level `max_tokens`); `thinking`, `output_config`, and `speed` overrides are rolling out (`speed` additionally requires its beta) — until your requests accept them, include only `model` and `max_tokens` in each entry. Entries must be distinct and must be in the requested model's `allowed_fallback_models` (published on `/v1/models` when the `server-side-fallback-2026-06-01` beta header is set — not yet visible under the `fallback-credit-*` header alone, and not exposed on Amazon Bedrock, Vertex AI, or Microsoft Foundry). The request *with an entry's overrides merged in* must be valid as a direct request to that entry's model. - **Triggers on policy declines only** — rate limits, overloads, and server errors on the requested model are returned as-is, never falling back. - **Reading the response:** a `fallback` content block (`{"type": "fallback", "from": {"model": ...}, "to": {"model": ...}}`) marks each switch point in `content`; the served-by signal is a `fallback_message` entry in `usage.iterations` (don't rely on the block — sticky-served turns have none). Top-level `model` names the model that produced the message. - **Billing:** `usage.iterations` is the per-attempt source of truth; top-level `usage` covers only the attempt that produced the returned message. Declined-before-output attempts are reported but not billed; fallback attempts bill at the fallback model's rates. Each attempt claims the rate limits of the model that ran it — if the fallback model is rate-limited or overloaded, the fallback attempt is not made and the preceding refusal is returned instead with `stop_details.recommended_model` naming a model to retry directly (the recommendation is a hint, not a guarantee, and is `null` when no recommendation is available) — size fallback-model limits for expected refusal volume. @@ -1176,7 +1423,7 @@ For languages not listed (Java, Ruby, PHP) — or for a full runnable program in | v1 marker (replace) | v2 | |---|---| -| `server-side-fallback-2026-06-09` / `-2026-06-02` header | `server-side-fallback-2026-06-01` | +| `server-side-fallback-2026-06-09` / `-2026-06-02` header | `server-side-fallback-2026-06-01` (array form; the `"default"` scalar form uses `-2026-07-01`) | | `fallback: {model, on_partial}` single object | `fallbacks: [{model, ...}]` array (1–3); `on_partial` no longer exists — partial-output behavior is fixed (streams keep the partial; non-streaming omits it). Unknown keys in an entry are a 400 | | Top-level `response.fallback` object (`from_model`, `reason`) | Never emitted — read `fallback` content blocks (switch points, no `reason` field) and `usage.iterations` (served-by) | | `event: fallback` SSE with discard indices | No dedicated event; streamed content is never invalidated — the switch arrives as an ordinary `content_block_start`/`stop` pair of type `fallback` | @@ -1272,7 +1519,7 @@ For agents that only narrate routine progress, the model's default progress narr - [ ] **[BLOCKS]** Remove all other `thinking` configuration (`{type: "enabled", budget_tokens: N}` returns a 400, same as on Opus 4.7/4.8); control depth with `output_config.effort` instead - [ ] **[BLOCKS]** If thinking content is surfaced to users or stored in logs: add `thinking: {type: "adaptive", display: "summarized"}` (the default is `"omitted"` — otherwise the rendered text is empty) - [ ] **[TUNE]** Re-baseline cost and latency on your own workloads — token counts are roughly unchanged from Opus 4.7/4.8 and Mythos Preview (same tokenizer); per-token pricing differs. Coming from Opus 4.6, Sonnet, Haiku, or older, token counts differ — use `count_tokens` with each model to compare -- [ ] **[TUNE]** Add `stop_reason == "refusal"` handling before reading `response.content` (pre-output: empty + unbilled; mid-stream: partial output billed — discard); opt into a fallback by default — server-side `fallbacks` (`server-side-fallback-2026-06-01`, Claude API and Claude Platform on AWS) where available, otherwise the SDK middleware or fallback credit (`fallback-credit-2026-06-01`, exact body); a bare client-side replay (history as-is; other models drop Fable's thinking blocks) is the floor, not the recommendation +- [ ] **[TUNE]** Add `stop_reason == "refusal"` handling before reading `response.content` (pre-output: empty + unbilled; mid-stream: partial output billed — discard); opt into a fallback by default — server-side `fallbacks` (Claude API and Claude Platform on AWS: `fallbacks: "default"` with `server-side-fallback-2026-07-01`, or the array form with `server-side-fallback-2026-06-01`) where available, otherwise the SDK middleware or fallback credit (`fallback-credit-2026-06-01`, exact body); a bare client-side replay (history as-is; other models drop Fable's thinking blocks) is the floor, not the recommendation - [ ] **[TUNE]** If you surfaced thinking text to users, plan for the thinking output change — the raw chain of thought is never returned; render the `display: "summarized"` summary (per the [BLOCKS] item above); pass blocks back unchanged on the same model; other models drop them from the prompt (unbilled) - [ ] **[TUNE]** Plan for minutes-long turns: timeouts, streaming, async check-ins, progress UX (see Behavior changes above) - [ ] **[TUNE]** Run an effort sweep including low/medium for routine workloads; add the no-tidying instruction if higher effort produces unrequested refactors @@ -1282,10 +1529,10 @@ For agents that only narrate routine progress, the model's default progress narr ## Verify the Migration -After updating, spot-check that the new model is actually being used. Replace `YOUR_TARGET_MODEL` with the model string you migrated to (e.g. `claude-fable-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-sonnet-5`, `claude-sonnet-4-6`, `claude-haiku-4-5`) and keep the assertion prefix in sync: +After updating, spot-check that the new model is actually being used. Replace `YOUR_TARGET_MODEL` with the model string you migrated to (e.g. `claude-fable-5`, `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-sonnet-5`, `claude-sonnet-4-6`, `claude-haiku-4-5`) and keep the assertion prefix in sync: ```python -YOUR_TARGET_MODEL = "claude-opus-4-8" # or "claude-opus-4-7", "claude-sonnet-5", "claude-sonnet-4-6", "claude-haiku-4-5" +YOUR_TARGET_MODEL = "claude-opus-5" # or "claude-opus-4-7", "claude-sonnet-5", "claude-sonnet-4-6", "claude-haiku-4-5" response = client.messages.create(model=YOUR_TARGET_MODEL, max_tokens=64, messages=[...]) assert response.model.startswith(YOUR_TARGET_MODEL), response.model ``` diff --git a/content/github/skills/skills/claude-api/shared/models.md b/content/github/skills/skills/claude-api/shared/models.md index aaa4c6d94..97727f79b 100644 --- a/content/github/skills/skills/claude-api/shared/models.md +++ b/content/github/skills/skills/claude-api/shared/models.md @@ -59,6 +59,7 @@ curl https://api.anthropic.com/v1/models/claude-opus-4-8 \ |-------------------|---------------------|-------------------------------|----------------|------------|--------| | Claude Fable 5 | `claude-fable-5` | — | 1M | 128K | Active | | Claude Mythos 5 | `claude-mythos-5` | — | 1M | 128K | Active (Project Glasswing only) | +| Claude Opus 5 | `claude-opus-5` | — | 1M | 128K | Active | | Claude Opus 4.8 | `claude-opus-4-8` | — | 1M | 128K | Active | | Claude Opus 4.7 | `claude-opus-4-7` | — | 1M | 128K | Active | | Claude Opus 4.6 | `claude-opus-4-6` | — | 1M | 128K | Active | @@ -69,7 +70,8 @@ curl https://api.anthropic.com/v1/models/claude-opus-4-8 \ ### Model Descriptions - **Claude Fable 5** — Anthropic's most capable widely released model, for the most demanding reasoning and long-horizon agentic work. Same API surface as Opus 4.7/4.8 with one new breaking change: an explicit `thinking: {type: "disabled"}` returns a 400 — omit the `thinking` parameter instead (thinking is always on; the raw chain of thought is never returned — summaries via `display: "summarized"`). Same tokenizer as Opus 4.8 (token counts roughly unchanged vs Opus 4.7/4.8). Safety classifiers may return `stop_reason: "refusal"`. No assistant prefill. Requires 30-day data retention (not available under ZDR). $10/$50 per MTok; 1M context window (default), 128K max output. See `shared/model-migration.md` → Migrating to Claude Fable 5. - **Claude Mythos 5** — Same capabilities, pricing, limits, and API behavior as Claude Fable 5; only the model ID differs. Available exclusively through Project Glasswing, where it joins (and succeeds) the invitation-only Claude Mythos Preview (`claude-mythos-preview`). Use it only when the org participates in Project Glasswing; otherwise use claude-fable-5. -- **Claude Opus 4.8** — The most capable Opus-tier model — highly autonomous, state-of-the-art on long-horizon agentic work, knowledge work, and memory; clearer, warmer writing. Same API surface as Opus 4.7 (adaptive thinking only; sampling parameters and `budget_tokens` removed). 1M context window at standard API pricing (no long-context premium). See `shared/model-migration.md` → Migrating to Opus 4.8 — a 4.7 → 4.8 move is a model-ID swap plus prompt re-tuning, no new breaking changes. +- **Claude Opus 5** — For complex agentic coding and enterprise work; a step-change over Claude Opus 4.8, strongest on deep reasoning, agentic and long-horizon work, and test-time compute scaling, at half the cost of Claude Fable 5 (Claude Fable 5 remains the highest-capability tier). Safety classifiers can return `stop_reason: "refusal"` — handle it before reading `content`. A drop-in upgrade at Opus 4.8's pricing ($5/$25 per MTok) with the same feature set. Thinking is on by default (omitting `thinking` runs adaptive; `{type: "adaptive"}` is equivalent), and `thinking: {type: "disabled"}` is available only at effort `high` or lower — pairing it with `xhigh`/`max` returns a 400. Raw thinking tokens are never returned. Full effort ladder through `max`; 512-token prompt-cache minimum (down from 1024 on Opus 4.8); fast mode on the Claude API only. Elevated cybersecurity safeguards. Separate rate-limit bucket from the combined Opus 4.x pool. 1M context window (default and maximum), 128K max output. See `shared/model-migration.md` → Migrating to Claude Opus 5. +- **Claude Opus 4.8** — The most capable model in the Opus 4 series — highly autonomous, state-of-the-art on long-horizon agentic work, knowledge work, and memory; clearer, warmer writing. Same API surface as Opus 4.7 (adaptive thinking only; sampling parameters and `budget_tokens` removed). 1M context window at standard API pricing (no long-context premium). See `shared/model-migration.md` → Migrating to Opus 4.8 — a 4.7 → 4.8 move is a model-ID swap plus prompt re-tuning, no new breaking changes. - **Claude Opus 4.7** — Previous-generation Opus. Highly autonomous; strong on long-horizon agentic work, knowledge work, vision, and memory. Adaptive thinking only; sampling parameters and `budget_tokens` removed. 1M context window. See `shared/model-migration.md` → Migrating to Opus 4.7. - **Claude Opus 4.6** — Older Opus. Supports adaptive thinking (recommended), 128K max output tokens (requires streaming for large outputs). 1M context window. - **Claude Sonnet 5** — The best combination of speed and intelligence in the Sonnet tier; near-Opus quality on coding and agentic work. Adaptive thinking on by default (omitting `thinking` runs adaptive); manual `budget_tokens` removed; non-default sampling parameters rejected. `effort` supports `low`/`medium`/`high`/`xhigh`/`max`. New tokenizer (~30% more tokens for the same text vs Sonnet 4.6). High-resolution vision (2576px). 1M context window, 128K max output. See `shared/model-migration.md` → Migrating to Claude Sonnet 5. @@ -81,7 +83,7 @@ curl https://api.anthropic.com/v1/models/claude-opus-4-8 \ | Friendly Name | Alias (use this) | Full ID | Status | |-------------------|---------------------|-------------------------------|--------| | Claude Opus 4.5 | `claude-opus-4-5` | `claude-opus-4-5-20251101` | Active | -| Claude Opus 4.1 | `claude-opus-4-1` | `claude-opus-4-1-20250805` | Deprecated (retires 2026-08-05 — migrate to `claude-opus-4-8`) | +| Claude Opus 4.1 | `claude-opus-4-1` | `claude-opus-4-1-20250805` | Deprecated (retires 2026-08-05 — migrate to `claude-opus-5`) | | Claude Sonnet 4.5 | `claude-sonnet-4-5` | `claude-sonnet-4-5-20250929` | Active | ## Deprecated Models (retiring soon) @@ -115,13 +117,14 @@ When a user asks for a model by name, use this table to find the correct model I | "most powerful" | `claude-fable-5` | | "mythos", "mythos 5" | `claude-mythos-5` (Project Glasswing participants only; otherwise use `claude-fable-5`) | | "mythos preview" | `claude-mythos-5` (successor to `claude-mythos-preview` — see migration guide) | -| "opus" | `claude-opus-4-8` | +| "opus" | `claude-opus-5` | +| "opus 5" | `claude-opus-5` | | "opus 4.8" | `claude-opus-4-8` | | "opus 4.7" | `claude-opus-4-7` | | "opus 4.6" | `claude-opus-4-6` | | "opus 4.5" | `claude-opus-4-5` | -| "opus 4.1" | `claude-opus-4-1` (deprecated, retires 2026-08-05 — suggest `claude-opus-4-8`) | -| "opus 4", "opus 4.0" | `claude-opus-4-0` (deprecated — suggest `claude-opus-4-8`) | +| "opus 4.1" | `claude-opus-4-1` (deprecated, retires 2026-08-05 — suggest `claude-opus-5`) | +| "opus 4", "opus 4.0" | `claude-opus-4-0` (deprecated — suggest `claude-opus-5`) | | "sonnet", "balanced" | `claude-sonnet-5` | | "sonnet 5" | `claude-sonnet-5` | | "sonnet 4.6" | `claude-sonnet-4-6` | diff --git a/content/github/skills/skills/claude-api/shared/platform-availability.md b/content/github/skills/skills/claude-api/shared/platform-availability.md index f68ddf894..4f50a4419 100644 --- a/content/github/skills/skills/claude-api/shared/platform-availability.md +++ b/content/github/skills/skills/claude-api/shared/platform-availability.md @@ -41,7 +41,8 @@ Columns: **1P** = first-party Claude API, **P-AWS** = Claude Platform on AWS (An |   Files API | β | β | ❌ | ❌ | β | | |   Models API | ✅ | ✅ | ❌ | ❌ | ❌ | | | **Other** | | | | | | | -|   Mid-conversation system messages | ✅ | ✅ | ❌ | ❌ | ❌ | Claude Opus 4.8 only | +|   Mid-conversation system messages | ✅ | ✅ | ❌ | ❌ | ❌ | Claude Opus 5, Claude Opus 4.8, Claude Fable 5, Claude Mythos 5; not Claude Sonnet 5 | +|   Server-side `fallbacks` | β | β | ❌ | ❌ | ❌ | `"default"` → beta `server-side-fallback-2026-07-01`; array form → beta `server-side-fallback-2026-06-01` | |   Fast mode | β | ❌ | ❌ | ❌ | ❌ | Research preview, beta `fast-mode-2026-02-01`, first-party API only | |   Cache diagnostics | β | ❌ | ❌ | ❌ | ❌ | First-party API only | |   Task budgets | β | β | ❌ | ❌ | ❌ | Beta header `task-budgets-2026-03-13`; 3P availability not documented — assume unsupported | diff --git a/content/github/skills/skills/claude-api/shared/prompt-caching.md b/content/github/skills/skills/claude-api/shared/prompt-caching.md index a904fb2cc..a2289ea42 100644 --- a/content/github/skills/skills/claude-api/shared/prompt-caching.md +++ b/content/github/skills/skills/claude-api/shared/prompt-caching.md @@ -64,7 +64,7 @@ Many requests share a large fixed preamble (few-shot examples, retrieved docs, i ### Mid-conversation system messages -**Claude Opus 4.8 only; no beta header.** When an operator instruction arrives mid-conversation — a mode switch, updated context, dynamically injected state — send it as `{"role": "system", "content": "..."}` appended to `messages[]`, rather than editing top-level `system`. Editing top-level `system` changes the prefix ahead of the entire conversation history, so every cached turn is re-processed uncached; a `role: "system"` message sits after the history and leaves the cached prefix intact. +**Claude Opus 5, Claude Opus 4.8, Claude Fable 5, and Claude Mythos 5; no beta header. Not available on Claude Sonnet 5** — use top-level `system` there. (Sources conflict on Claude Sonnet 5: the model config marks it supported, but every canonical docs page omits it. Treat it as unsupported and catch the 400.) When an operator instruction arrives mid-conversation — a mode switch, updated context, dynamically injected state — send it as `{"role": "system", "content": "..."}` appended to `messages[]`, rather than editing top-level `system`. Editing top-level `system` changes the prefix ahead of the entire conversation history, so every cached turn is re-processed uncached; a `role: "system"` message sits after the history and leaves the cached prefix intact. ```json // Top-level system stays byte-identical; new instruction goes after the cached history @@ -78,7 +78,7 @@ Many requests share a large fixed preamble (few-shot examples, retrieved docs, i This is also the prompt-injection-safe replacement for embedding operator instructions as text inside a user turn (the `` pattern): both have the same caching profile, but `role: "system"` is the non-spoofable operator channel, whereas text inside user/tool content can be forged by anything that writes to user-visible input. -Available on Claude Opus 4.8; no beta header is required. Must follow a `role: "user"` message (or an `assistant` message ending in server-tool use), and must be either the last entry in `messages` or be followed by an `assistant` turn; cannot be `messages[0]` — use top-level `system` for the initial prompt. Content is text-only. Unsupported models return a 400 (`BadRequestError`: `role 'system' is not supported on this model`); catch that error and fall back to putting the instruction in a user-turn `` block. +Must follow a `role: "user"` message (or an `assistant` message ending in server-tool use), and must be either the last entry in `messages` or be followed by an `assistant` turn; cannot be `messages[0]` — use top-level `system` for the initial prompt. Content is text-only. Unsupported models return a 400 (`BadRequestError`: `role 'system' is not supported on this model`); catch that error and fall back to putting the instruction in a user-turn `` block. ### Prompts that change from the beginning every time @@ -129,11 +129,14 @@ Fix by moving the dynamic piece after the last breakpoint, making it determinist | Model | Minimum | |---|---:| -| Opus 4.8, Opus 4.7, Opus 4.6, Opus 4.5, Haiku 4.5 | 4096 tokens | -| Fable 5, Sonnet 4.6, Haiku 3.5, Haiku 3 | 2048 tokens | -| Sonnet 4.5, Sonnet 4.1, Sonnet 4, Sonnet 3.7 | 1024 tokens | +| Claude Opus 5, Claude Fable 5, Claude Mythos 5 | 512 tokens | +| Opus 4.8, Claude Sonnet 5, Sonnet 4.6, Sonnet 4.5, Opus 4.1, Opus 4, Sonnet 4 | 1024 tokens | +| Opus 4.7, Mythos Preview, Haiku 3.5 | 2048 tokens | +| Opus 4.6, Opus 4.5, Haiku 4.5 | 4096 tokens | -A 3K-token prompt caches on Sonnet 4.5 and Fable 5 but silently won't on Opus 4.8. +**The minimum is not monotonic across generations** — 512 on the newest models, but 4096 on Opus 4.6/4.5 and Haiku 4.5. A 3K-token prompt caches on Claude Opus 5, Opus 4.8, and Sonnet 4.5, and silently won't on Opus 4.6 or Haiku 4.5. Claude Opus 5 halves the Opus 4.8 minimum (1024 → 512), so prompts previously too short to cache now create entries with no code change. + +These minimums apply on **every** platform where the model is available — the old Amazon Bedrock override for Claude Fable 5 was removed, and no per-platform exception remains. **Economics:** Cache reads cost ~0.1× base input price. Cache writes cost **1.25× for 5-minute TTL, 2× for 1-hour TTL**. Break-even depends on TTL: with 5-minute TTL, two requests break even (1.25× + 0.1× = 1.35× vs 2× uncached); with 1-hour TTL, you need at least three requests (2× + 0.2× = 2.2× vs 3× uncached). The 1-hour TTL keeps entries alive across gaps in bursty traffic, but the doubled write cost means it needs more reads to pay off. @@ -172,6 +175,15 @@ Not every parameter change invalidates everything. The API has three cache tiers Implication: you can change `tool_choice` per-request or toggle `thinking` without losing the tools+system cache. Don't over-worry about these — only tool-definition and model changes force a full rebuild. +**Two of these rows have a cache-preserving escape hatch**, each by moving the change out of the top-level request and into a system message inside `messages[]`, after the cached prefix. **Availability differs per row** — the two are not gated together: + +| Top-level change that invalidates | Cache-preserving form | Available on | +|---|---|---| +| Tool definitions (add/remove) | `tool_addition` / `tool_removal` blocks — see `shared/tool-use-concepts.md` § Mid-conversation tool changes | Claude Opus 5 onward, behind `mid-conversation-tool-changes-2026-07-01` | +| System prompt content | A `{"role": "system", "content": "…"}` message — see § Mid-conversation system messages above | Claude Opus 5, Claude Opus 4.8, Claude Fable 5, Claude Mythos 5 — **already available today**, no beta header | + +Model switch has no escape hatch: caches are model-scoped. Keep the main loop on one model and spawn a subagent for cheaper sub-tasks (see `agent-design.md` § Caching for Agents). + --- ## 20-block lookback window @@ -205,7 +217,7 @@ To eliminate the cache-miss latency on the *first* real request, send a **`max_t ```python client.messages.create( - model="claude-opus-4-8", + model="claude-opus-5", max_tokens=0, system=[{ "type": "text", diff --git a/content/github/skills/skills/claude-api/shared/token-counting.md b/content/github/skills/skills/claude-api/shared/token-counting.md index 15a101ea6..237372d5e 100644 --- a/content/github/skills/skills/claude-api/shared/token-counting.md +++ b/content/github/skills/skills/claude-api/shared/token-counting.md @@ -16,7 +16,7 @@ from anthropic import Anthropic client = Anthropic() resp = client.messages.count_tokens( - model="claude-opus-4-8", + model="claude-opus-5", messages=[{"role": "user", "content": open("CLAUDE.md").read()}], ) print(resp.input_tokens) @@ -28,7 +28,7 @@ TypeScript: `await client.messages.countTokens({model, messages})` → ## CLI ```sh -ant messages count-tokens --model claude-opus-4-8 \ +ant messages count-tokens --model claude-opus-5 \ --message '{role: user, content: "@./CLAUDE.md"}' \ --transform input_tokens -r ``` @@ -44,7 +44,7 @@ import subprocess client = Anthropic() def count(text: str) -> int: return client.messages.count_tokens( - model="claude-opus-4-8", + model="claude-opus-5", messages=[{"role": "user", "content": text}], ).input_tokens diff --git a/content/github/skills/skills/claude-api/shared/tool-use-concepts.md b/content/github/skills/skills/claude-api/shared/tool-use-concepts.md index 616f69f19..23a58777c 100644 --- a/content/github/skills/skills/claude-api/shared/tool-use-concepts.md +++ b/content/github/skills/skills/claude-api/shared/tool-use-concepts.md @@ -90,7 +90,7 @@ if response.stop_reason == "pause_turn": ] # Make another API request — server resumes automatically response = client.messages.create( - model="claude-opus-4-8", messages=messages, tools=tools + model="claude-opus-5", messages=messages, tools=tools ) ``` @@ -189,7 +189,7 @@ Web search and web fetch let Claude search the web and retrieve page content. Th ] ``` -### Dynamic Filtering (Fable 5 / Opus 4.8 / Opus 4.7 / Opus 4.6 / Sonnet 4.6) +### Dynamic Filtering (Claude Opus 5 / Fable 5 / Opus 4.8 / Opus 4.7 / Opus 4.6 / Sonnet 5 / Sonnet 4.6) The `web_search_20260209` and `web_fetch_20260209` versions support **dynamic filtering** — Claude writes and executes code to filter search results before they reach the context window, improving accuracy and token efficiency. Dynamic filtering is built into these tool versions and activates automatically; you do not need to separately declare the `code_execution` tool or pass any beta header. @@ -230,6 +230,46 @@ For full documentation, use WebFetch: --- +## Mid-conversation tool changes (Beta) + +**Beta header `mid-conversation-tool-changes-2026-07-01`; Claude Opus 5 onward.** Normally `tools` is fixed for a conversation's lifetime — editing it changes the very front of the prompt prefix and invalidates the entire cache (see `prompt-caching.md` § Invalidation hierarchy). This feature lets you add and remove tools between turns while the cached prefix survives. + +Both operations are content blocks on a `{"role": "system", ...}` message appended to `messages[]`, and both reference a tool by name via a `tool_reference`: + +```python +# Removal — must sit immediately before an assistant message, or last in messages. +{"role": "system", "content": [ + {"type": "tool_removal", "tool": {"type": "tool_reference", "name": "get_weather"}}, +]} + +# Addition — surfaces a tool declared up front with defer_loading. +{"role": "system", "content": [ + {"type": "tool_addition", "tool": {"type": "tool_reference", "name": "get_forecast"}}, +]} +``` + +**A tool you plan to add must already be declared in `tools[]` with `"defer_loading": True`.** Deferred tools are known to the request but not loaded into the model's context until a `tool_addition` surfaces them: + +```python +tools = [ + {"name": "get_weather", "description": "Get weather", + "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}}}, + {"name": "get_forecast", "description": "Get 5-day forecast", + "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}}, + "defer_loading": True}, +] +``` + +**To change a tool's definition**, do it across two requests: send a `tool_removal` for the old definition on the first, then carry the conversation forward with the updated entry in `tools[]` on the next. + +> ⚠️ Earlier previews used a different beta header and different block shapes; both are deprecated. Use `mid-conversation-tool-changes-2026-07-01` with `tool_addition` / `tool_removal` / `tool_reference`. + +SDK typings lag these blocks — pass them as plain dicts in Python, or add a `@ts-expect-error` in TypeScript. + +**Choosing between this and tool search:** tool search is for *discovery* — Claude finds what it needs from a large library on its own. Mid-conversation tool changes are for *control* — your application decides the tool set has changed (a mode switch, a resource that became available, a capability you want to revoke) and says so explicitly. + +--- + ## Agent Skills (Messages API) Agent Skills package task-specific instructions and files that Claude loads when relevant (e.g., the Anthropic pre-built `pptx`, `xlsx`, `pdf`, `docx` skills). On the **Messages API**, skills are enabled via the `container` parameter alongside the code-execution tool — this is **not** the Managed Agents surface and does **not** use `client.beta.agents` / `sessions` / `environments`. Availability: see `shared/platform-availability.md`. @@ -242,7 +282,7 @@ Required on each request: ```python response = client.beta.messages.create( - model="claude-opus-4-8", max_tokens=16000, + model="claude-opus-5", max_tokens=16000, betas=["code-execution-2025-08-25", "skills-2025-10-02"], container={"skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]}, tools=[{"type": "code_execution_20260521", "name": "code_execution"}], @@ -269,7 +309,7 @@ The `mcp_server_name` in the toolset must match a `name` in `mcp_servers`. Omitt ```python client.beta.messages.create( - model="claude-opus-4-8", max_tokens=1024, + model="claude-opus-5", max_tokens=1024, betas=["mcp-client-2025-11-20"], mcp_servers=[{"type": "url", "url": "https://example/sse", "name": "example-mcp"}], tools=[{"type": "mcp_toolset", "mcp_server_name": "example-mcp"}], @@ -333,8 +373,20 @@ The advisor tool pairs a faster, lower-cost **executor** model (the top-level `m | Executor (request `model`) | Valid advisor (tool `model`) | |---|---| -| `claude-haiku-4-5` / `claude-sonnet-4-6` / `claude-sonnet-5` / `claude-opus-4-6` / `claude-opus-4-7` | `claude-opus-4-8` or `claude-opus-4-7` | -| `claude-opus-4-8` | `claude-opus-4-8` only | +| `claude-haiku-4-5` / `claude-sonnet-4-6` / `claude-sonnet-5` / `claude-opus-4-6` / `claude-opus-4-7` | `claude-opus-5`, `claude-fable-5`, `claude-mythos-5`, `claude-opus-4-8`, or `claude-opus-4-7` | +| `claude-opus-4-8` | `claude-opus-5`, `claude-fable-5`, `claude-mythos-5`, or `claude-opus-4-8` | +| `claude-opus-5` | `claude-opus-5`, `claude-fable-5`, or `claude-mythos-5` | +| `claude-fable-5` | `claude-fable-5` or `claude-opus-5` | +| `claude-mythos-5` | `claude-mythos-5` or `claude-opus-5` | + +> ⚠️ **The advisor's payload shape differs by advisor model.** The response block is always `advisor_tool_result`; what varies is its **`content`**, a discriminated union: +> +> | `content` type | Fields | When | +> |---|---|---| +> | `advisor_result` | `text`, `stop_reason` | Advisor returns plaintext (e.g. Opus 4.8) | +> | `advisor_redacted_result` | `encrypted_content`, `stop_reason` | Advisor returns encrypted output — Claude Opus 5, Claude Fable 5, Claude Mythos 5 | +> +> So switch on `advisor_tool_result.content` type, not on the block type. Code that reads `.text` unconditionally gets nothing back from an Claude Opus 5 advisor, because the payload is under `encrypted_content` instead — and you cannot read it, only replay it. Call via `client.beta.messages.create(...)` with `betas=["advisor-tool-2026-03-01"]` (or the `anthropic-beta: advisor-tool-2026-03-01` header). In multi-turn conversations, append the full `response.content` — including any `advisor_tool_result` blocks — back to `messages` on the next turn. If you remove the advisor tool from `tools` on a later turn while the history still contains `advisor_tool_result` blocks, the API returns a 400. @@ -415,7 +467,7 @@ Two features are available: - **JSON outputs** (`output_config.format`): Control Claude's response format - **Strict tool use** (`strict: true`): Guarantee valid tool parameter schemas -**Supported models:** Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5, and Claude Haiku 4.5. Legacy models (Claude Opus 4.5, Claude Opus 4.1) also support structured outputs. +**Supported models:** Claude Fable 5, Claude Opus 5, Claude Opus 4.8, Claude Sonnet 5, and Claude Haiku 4.5. Legacy models (Claude Opus 4.5, Claude Opus 4.1) also support structured outputs. > **Recommended:** Use `client.messages.parse()` which automatically validates responses against your schema. When using `messages.create()` directly, use `output_config: {format: {...}}`. The `output_format` convenience parameter is also accepted by some SDK methods (e.g., `.parse()`), but `output_config.format` is the canonical API-level parameter. diff --git a/content/github/skills/skills/claude-api/typescript/claude-api/README.md b/content/github/skills/skills/claude-api/typescript/claude-api/README.md index 7e47ad688..115d20d7a 100644 --- a/content/github/skills/skills/claude-api/typescript/claude-api/README.md +++ b/content/github/skills/skills/claude-api/typescript/claude-api/README.md @@ -32,7 +32,7 @@ const client = new Anthropic({ apiKey: "your-api-key" }); ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [{ role: "user", content: "What is the capital of France?" }], }); @@ -51,7 +51,7 @@ for (const block of response.content) { ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, system: "You are a helpful coding assistant. Always provide examples in Python.", @@ -87,7 +87,7 @@ const response = await client.messages.create({ ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -112,7 +112,7 @@ import fs from "fs"; const imageData = fs.readFileSync("image.png").toString("base64"); const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -141,7 +141,7 @@ Use top-level `cache_control` to automatically cache the last cacheable block in ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, cache_control: { type: "ephemeral" }, // auto-caches the last cacheable block system: "You are an expert on this large document...", @@ -155,7 +155,7 @@ For fine-grained control, add `cache_control` to specific content blocks: ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, system: [ { @@ -169,7 +169,7 @@ const response = await client.messages.create({ // With explicit TTL (time-to-live) const response2 = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, system: [ { @@ -196,16 +196,17 @@ If `cache_read_input_tokens` is zero across repeated identical-prefix requests, ## Extended Thinking -> **Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6:** Use adaptive thinking. `budget_tokens` is removed on Fable 5, Claude Opus 5, Opus 4.8, and 4.7 (400 if sent); deprecated on Opus 4.6 and Sonnet 4.6. +> **Claude Opus 5:** thinking is on by default — omitting `thinking` runs adaptive (`{ type: "adaptive" }` is equivalent), unlike Opus 4.8/4.7 where omitting it meant no thinking. `{ type: "disabled" }` is accepted only at effort `high` or lower; pairing it with `xhigh`/`max` returns a 400. > **Older models:** Use `thinking: {type: "enabled", budget_tokens: N}` (must be < `max_tokens`, min 1024). ```typescript -// Fable 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended) +// Fable 5 / Claude Opus 5 / Opus 4.8 / 4.7 / 4.6: adaptive thinking (recommended) const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, - thinking: { type: "adaptive", display: "summarized" }, // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 - output_config: { effort: "high" }, // low | medium | high | max + thinking: { type: "adaptive", display: "summarized" }, // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7 + output_config: { effort: "high" }, // low | medium | high | xhigh | max messages: [ { role: "user", content: "Solve this math problem step by step..." }, ], @@ -260,7 +261,7 @@ const messages: Anthropic.MessageParam[] = [ ]; const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: messages, }); @@ -276,7 +277,7 @@ const response = await client.messages.create({ ### Compaction (long conversations) -> **Beta, Fable 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6.** When conversations approach the 200K context window, compaction automatically summarizes earlier context server-side. The API returns a `compaction` block; you must pass it back on subsequent requests — append `response.content`, not just the text. +> **Beta, Fable 5, Claude Opus 5, Opus 4.8, Opus 4.7, Opus 4.6, and Sonnet 4.6.** When conversations approach the 200K context window, compaction automatically summarizes earlier context server-side. The API returns a `compaction` block; you must pass it back on subsequent requests — append `response.content`, not just the text. ```typescript import Anthropic from "@anthropic-ai/sdk"; @@ -289,7 +290,7 @@ async function chat(userMessage: string): Promise { const response = await client.beta.messages.create({ betas: ["compact-2026-01-12"], - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages, context_management: { @@ -368,7 +369,7 @@ if (fallbackRan && response.stop_reason !== "refusal") { } ``` -A `stop_reason: "refusal"` on the final response means the whole chain refused. The header must be exactly `server-side-fallback-2026-06-01`; the parameter is rejected on the Batches API and unavailable on Amazon Bedrock, Vertex AI, and Microsoft Foundry — register the client-side `betaRefusalFallbackMiddleware` on the client there instead. Full semantics (sticky routing, billing, streaming, echoing fallback turns back): `shared/model-migration.md` → Migrating to Claude Fable 5 → `refusal` stop reason. +A `stop_reason: "refusal"` on the final response means the whole chain refused. The header must be exactly `server-side-fallback-2026-06-01` **for this array form**; the newer `fallbacks: "default"` scalar form uses `server-side-fallback-2026-07-01` instead (see `shared/model-migration.md` → Migrating to Claude Opus 5 → New API features), and pairing either header with the other form returns a 400. The parameter is rejected on the Batches API and unavailable on Amazon Bedrock, Vertex AI, and Microsoft Foundry — register the client-side `betaRefusalFallbackMiddleware` on the client there instead. Full semantics (sticky routing, billing, streaming, echoing fallback turns back): `shared/model-migration.md` → Migrating to Claude Fable 5 → `refusal` stop reason. --- @@ -379,7 +380,7 @@ A `stop_reason: "refusal"` on the final response means the whole chain refused. ```typescript // Automatic caching (simplest — caches the last cacheable block) const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, cache_control: { type: "ephemeral" }, system: largeDocumentText, // e.g., 50KB of context @@ -394,7 +395,7 @@ const response = await client.messages.create({ ```typescript const countResponse = await client.messages.countTokens({ - model: "claude-opus-4-8", + model: "claude-opus-5", messages: messages, system: system, }); diff --git a/content/github/skills/skills/claude-api/typescript/claude-api/batches.md b/content/github/skills/skills/claude-api/typescript/claude-api/batches.md index d37ef0da2..71155c7e5 100644 --- a/content/github/skills/skills/claude-api/typescript/claude-api/batches.md +++ b/content/github/skills/skills/claude-api/typescript/claude-api/batches.md @@ -24,7 +24,7 @@ const messageBatch = await client.messages.batches.create({ { custom_id: "request-1", params: { - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { role: "user", content: "Summarize climate change impacts" }, @@ -34,7 +34,7 @@ const messageBatch = await client.messages.batches.create({ { custom_id: "request-2", params: { - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { role: "user", content: "Explain quantum computing basics" }, diff --git a/content/github/skills/skills/claude-api/typescript/claude-api/files-api.md b/content/github/skills/skills/claude-api/typescript/claude-api/files-api.md index e8ffd3387..11a8f8df8 100644 --- a/content/github/skills/skills/claude-api/typescript/claude-api/files-api.md +++ b/content/github/skills/skills/claude-api/typescript/claude-api/files-api.md @@ -41,7 +41,7 @@ console.log(`Size: ${uploaded.size_bytes} bytes`); ```typescript const response = await client.beta.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { diff --git a/content/github/skills/skills/claude-api/typescript/claude-api/streaming.md b/content/github/skills/skills/claude-api/typescript/claude-api/streaming.md index 9403f4c82..096099ee3 100644 --- a/content/github/skills/skills/claude-api/typescript/claude-api/streaming.md +++ b/content/github/skills/skills/claude-api/typescript/claude-api/streaming.md @@ -4,7 +4,7 @@ ```typescript const stream = client.messages.stream({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 64000, messages: [{ role: "user", content: "Write a story" }], }); @@ -23,13 +23,13 @@ for await (const event of stream) { ## Handling Different Content Types -> **Fable 5 / Opus 4.8 / Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead. +> **Fable 5 / Claude Opus 5 / Opus 4.8 / Opus 4.7 / Opus 4.6:** Use `thinking: {type: "adaptive"}`. On Claude Opus 5 adaptive is also what you get by omitting `thinking` entirely. On older models, use `thinking: {type: "enabled", budget_tokens: N}` instead. ```typescript const stream = client.messages.stream({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 64000, - thinking: { type: "adaptive", display: "summarized" }, // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Opus 4.8 / 4.7 + thinking: { type: "adaptive", display: "summarized" }, // display opt-in: default is omitted (empty thinking text) on Fable 5 / Mythos 5 / Claude Opus 5 / Opus 4.8 / 4.7 messages: [{ role: "user", content: "Analyze this problem" }], }); @@ -82,7 +82,7 @@ const getWeather = betaZodTool({ }); const runner = client.beta.messages.toolRunner({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 64000, tools: [getWeather], messages: [ @@ -117,7 +117,7 @@ for await (const messageStream of runner) { ```typescript const stream = client.messages.stream({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 64000, messages: [{ role: "user", content: "Hello" }], }); diff --git a/content/github/skills/skills/claude-api/typescript/claude-api/tool-use.md b/content/github/skills/skills/claude-api/typescript/claude-api/tool-use.md index e16ced15a..dc34f3d8b 100644 --- a/content/github/skills/skills/claude-api/typescript/claude-api/tool-use.md +++ b/content/github/skills/skills/claude-api/typescript/claude-api/tool-use.md @@ -30,7 +30,7 @@ const getWeather = betaZodTool({ // The tool runner handles the agentic loop and returns the final message const finalMessage = await client.beta.messages.toolRunner({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: [getWeather], messages: [{ role: "user", content: "What's the weather in Paris?" }], @@ -56,7 +56,7 @@ The runner's `tools` array accepts raw server-tool definitions (`web_search_2026 ```typescript const params = { - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: [getWeather, { type: "web_search_20260209", name: "web_search", max_uses: 5 }], messages: [{ role: "user", content: "Compare this week's forecasts for Paris across two sources" }], @@ -102,7 +102,7 @@ let messages: Anthropic.MessageParam[] = [{ role: "user", content: userInput }]; while (true) { const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: tools, messages: messages, @@ -149,7 +149,7 @@ let messages: Anthropic.MessageParam[] = [{ role: "user", content: userInput }]; while (true) { const stream = client.messages.stream({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 64000, tools, messages, @@ -204,7 +204,7 @@ while (true) { ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: tools, messages: [{ role: "user", content: "What's the weather in Paris?" }], @@ -215,7 +215,7 @@ for (const block of response.content) { const result = await executeTool(block.name, block.input); const followup = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: tools, messages: [ @@ -239,7 +239,7 @@ for (const block of response.content) { ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: tools, tool_choice: { type: "tool", name: "get_weather" }, @@ -258,7 +258,7 @@ Version-suffixed `type` literals; `name` is fixed per interface. Web search and ```typescript // ✓ let inference work — no annotation const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: [ { type: "text_editor_20250728", name: "str_replace_based_edit_tool" }, @@ -298,7 +298,7 @@ import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic(); const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -346,7 +346,7 @@ const uploaded = await client.beta.files.upload({ // Code execution is GA; Files API is still beta (pass via RequestOptions) const response = await client.messages.create( { - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -406,7 +406,7 @@ for (const block of response.content) { ```typescript // First request: set up environment const response1 = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -423,7 +423,7 @@ const containerId = response1.container!.id; const response2 = await client.messages.create({ container: containerId, - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -443,7 +443,7 @@ const response2 = await client.messages.create({ ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -477,7 +477,7 @@ const handlers: MemoryToolHandlers = { const memory = betaMemoryTool(handlers); const runner = client.beta.messages.toolRunner({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, tools: [memory], messages: [{ role: "user", content: "Remember my preferences" }], @@ -514,7 +514,7 @@ const ContactInfoSchema = z.object({ const client = new Anthropic(); const response = await client.messages.parse({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -536,7 +536,7 @@ console.log(response.parsed_output!.name); // "Jane Doe" ```typescript const response = await client.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, messages: [ { @@ -575,7 +575,7 @@ Enable an Anthropic-managed skill (e.g., `pptx`) via `container.skills` + the `c ```typescript const response = await client.beta.messages.create({ - model: "claude-opus-4-8", + model: "claude-opus-5", max_tokens: 16000, container: { skills: [{ type: "anthropic", skill_id: "pptx", version: "latest" }], diff --git a/content/github/skills/skills/claude-api/typescript/managed-agents/README.md b/content/github/skills/skills/claude-api/typescript/managed-agents/README.md index 6d81141bc..23439d103 100644 --- a/content/github/skills/skills/claude-api/typescript/managed-agents/README.md +++ b/content/github/skills/skills/claude-api/typescript/managed-agents/README.md @@ -54,7 +54,7 @@ console.log(environment.id); // env_... const agent = await client.beta.agents.create( { name: "Coding Assistant", - model: "claude-opus-4-8", + model: "claude-opus-5", tools: [{ type: "agent_toolset_20260401", default_config: { enabled: true } }], }, ); @@ -76,7 +76,7 @@ console.log(`Trace: https://platform.claude.com/workspaces/default/sessions/${se const agent = await client.beta.agents.create( { name: "Code Reviewer", - model: "claude-opus-4-8", + model: "claude-opus-5", system: "You are a senior code reviewer.", tools: [ { type: "agent_toolset_20260401", default_config: { enabled: true } }, @@ -337,7 +337,7 @@ await client.beta.sessions.archive("sesn_011CZxAbc123Def456"); // Agent declares MCP server (no auth here — auth goes in a vault) const agent = await client.beta.agents.create({ name: "MCP Agent", - model: "claude-opus-4-8", + model: "claude-opus-5", mcp_servers: [ { type: "url", name: "my-tools", url: "https://my-mcp-server.example.com/sse" }, ], diff --git a/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md b/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md index 689ec9d9d..10302e581 100644 --- a/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md +++ b/content/support/10310342-how-do-i-log-out-of-all-active-sessions.md @@ -38,7 +38,7 @@ To regain access to your account on any device, you'll need to authenticate agai If you used your Claude account to authenticate into Claude Code, you can manage your authorization tokens by navigating to [Settings > Claude Code](http://claude.ai/settings/claude-code). To remove a token and log out of Claude Code, click the trash can icon. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1608263923/b4fa7d6f6f08f2adffb4ea63bc58/image+%287%29.png?expires=1784915100&signature=94076238cfa9a89ce7c617d34e9046eae6cde04c8636324c39d9815722ee63b8&req=dSYnHst4nohdWvMW1HO4zVuHihj012K6AQofdwM8qVfhZtTmuGhWVD3spOpp%0AisRdokmZ8bvIN14K%2B5E%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1608263923/b4fa7d6f6f08f2adffb4ea63bc58/image+%287%29.png?expires=1784953800&signature=133b2b79c1cd2fd033ec7680cadbba2612ed17dc183e86e175d0d19e69c56d14&req=dSYnHst4nohdWvMW1HO4zVuHihj002SzAQofdwM8qVf42oW1LN4Ixwdn8BYW%0AvsGkvqK7gJONfzJhYlM%3D%0A) ## Unable to access your account? diff --git a/content/support/10366376-how-can-i-delete-my-claude-console-account.md b/content/support/10366376-how-can-i-delete-my-claude-console-account.md index 5c4065d46..7fef3ef46 100644 --- a/content/support/10366376-how-can-i-delete-my-claude-console-account.md +++ b/content/support/10366376-how-can-i-delete-my-claude-console-account.md @@ -36,7 +36,7 @@ If you followed the steps above to delete your Console organization but want to If you have an outstanding balance, you will see a message during the deletion flow that prompts you to pay the balance first by routing you to [Settings > Billing](https://platform.claude.com/settings/billing). -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1973957766/5c2dd87c0818a0400099a833c9b3/4cc3130a-f696-4967-9fe3-e5623c6f02bd?expires=1784915100&signature=a5c45f3adb71c5ccc7e797d0b6c7776457b6d5b307ab6141230edb2ac88be4d6&req=dSkgFcB7moZZX%2FMW1HO4zbYXUBNrXeEaFZRyvJPpBZ%2F27uH9gEiWQiLPywVT%0AJJRutccS65U%2B99ZlaZk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1973957766/5c2dd87c0818a0400099a833c9b3/4cc3130a-f696-4967-9fe3-e5623c6f02bd?expires=1784953800&signature=2fc153776b5125fb9a90db23f39126b911099f09f9c22362dc94ef0f3e39e824&req=dSkgFcB7moZZX%2FMW1HO4zbYXUBNrWecTFZRyvJPpBZ8No0Rvi10upQsNfY%2B8%0AwfPRT4u0f%2FCufT8qFWw%3D%0A) You must pay this outstanding balance before you’re able to move forward with the deletion process. @@ -44,6 +44,6 @@ You must pay this outstanding balance before you’re able to move forward with There are some scenarios where you will need to contact our team to delete your account. If this is the case, it will be noted when you try to delete your organization: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1973957765/19dda72a40db95d78c00c27a1a1c/6ce89be6-93ce-409c-bbea-d34be09db348?expires=1784915100&signature=7771719792535b130073c8de6507aa59371c472702e38949e5a180b43702c5bf&req=dSkgFcB7moZZXPMW1HO4zRW12%2BHEeaH4ZxDZGlqR6GjHax1cDnmqFYrMZhAg%0A%2Bf%2BBE0UHSoVYWVgWlU0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1973957765/19dda72a40db95d78c00c27a1a1c/6ce89be6-93ce-409c-bbea-d34be09db348?expires=1784953800&signature=ef59c1ebedb51a3612c1d3cf6d8b62027bbf739a4886ebc36fdf9ad3d995acc0&req=dSkgFcB7moZZXPMW1HO4zRW12%2BHEfafxZxDZGlqR6GjmlV96jENM%2Bjoa4Ii2%0Aa3Zd9T%2Bq84KKaTiA4Oo%3D%0A) If you are seeing this message, this indicates that your Console organization cannot be deleted via the self-service pathway. \ No newline at end of file diff --git a/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md b/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md index adeb003f8..8e888844e 100644 --- a/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md +++ b/content/support/10504844-manage-user-feedback-settings-on-team-and-enterprise-plans.md @@ -6,6 +6,6 @@ As a Primary Owner or Owner of a Team or Enterprise plan, you can manage the abi 2. Use the toggle to change the **Rate chats** setting for your organization: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2058292603/75752add0bed6a9f3ab217f01708/CleanShot%2B2026-02-12%2Bat%2B08_55_14-402x.png?expires=1784915100&signature=a11dd3c392bc18b9df2bedbfb5b8d6e284c0e669e83d374e66e68d9c25a2e1cc&req=diAiHst3n4dfWvMW1HO4zYGm8iMVEa3N085gFtEpvcQk3SDqJHV7DuRcrqGg%0AI04l28HCgLYEHJ5gGjc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2058292603/75752add0bed6a9f3ab217f01708/CleanShot%2B2026-02-12%2Bat%2B08_55_14-402x.png?expires=1784953800&signature=45b4706f5081b0177f93d064e4640bb102058e3ae04afaaa72a4e43acdc4255a&req=diAiHst3n4dfWvMW1HO4zYGm8iMVFavE085gFtEpvcScQrSnS4hPReuyIvna%0AmYnO4SsZONDz%2F2HajTo%3D%0A) More information on how Anthropic collects, uses, and stores feedback data can be found in our Privacy Center: **[How long do you store my organization’s data?](https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data)** \ No newline at end of file diff --git a/content/support/10504853-manage-user-feedback-settings-on-claude-console.md b/content/support/10504853-manage-user-feedback-settings-on-claude-console.md index b1025f927..b3a6d6c0f 100644 --- a/content/support/10504853-manage-user-feedback-settings-on-claude-console.md +++ b/content/support/10504853-manage-user-feedback-settings-on-claude-console.md @@ -8,6 +8,6 @@ To manage feedback for your Console organization: 2. Toggle the feedback switch on or off. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1729186182/ebf4032a12a8c56959ca927726ce/Screenshot+2025-09-16+at+12_32_31%E2%80%AFPM.png?expires=1784915100&signature=ecc8755d8a8b46feb09cc2b00641ae9c823a909460b47e1763a0103fe2af6fda&req=dSclH8h2m4BXW%2FMW1HO4zVpN5HMUWG1EJ%2FadMup7FQf30krRR7klsOhuwGtT%0ArWcvvBI4EfLo1mmN3Xk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1729186182/ebf4032a12a8c56959ca927726ce/Screenshot+2025-09-16+at+12_32_31%E2%80%AFPM.png?expires=1784953800&signature=ba15734a241b8293edd54ca51a1f8c714d42a4c3b92766e9df47dc32dfb6dec2&req=dSclH8h2m4BXW%2FMW1HO4zVpN5HMUXGtNJ%2FadMup7FQd9uqC8N%2B%2ByDy8RwPzk%0AUQ5CVXhrahjMLz9Y4p4%3D%0A) More information on how Anthropic collects, uses, and stores feedback data can be found in our Privacy Center: [How long do you store my organization’s data?](https://privacy.claude.com/en/articles/7996866-how-long-do-you-store-my-organization-s-data) \ No newline at end of file diff --git a/content/support/10593882-share-and-unshare-chats.md b/content/support/10593882-share-and-unshare-chats.md index b847b32c7..5d0910a2d 100644 --- a/content/support/10593882-share-and-unshare-chats.md +++ b/content/support/10593882-share-and-unshare-chats.md @@ -38,12 +38,12 @@ To unshare a chat: Users on free, Pro, or Max plans can review a log of shared chats by navigating to **[Settings > Privacy](https://claude.ai/settings/data-privacy-controls)**. Find the **Privacy settings** section and click “Manage” next to **Shared chats:** -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1921669913/7cc7be48cfc7a18f9f469d6cd83c/CleanShot+2026-01-08+at+10_20_43%402x.png?expires=1784915100&signature=224dcc2b13f4a0d869927096eb3fb312c3ea478b3402ac888e38121718d3eab4&req=dSklF894lIheWvMW1HO4zWn5HzcUY0Bqc9cNIYuX0GGInA8k6riPrZc0I6o4%0AaCdhfKpJVS0p3GBCIZo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1921669913/7cc7be48cfc7a18f9f469d6cd83c/CleanShot+2026-01-08+at+10_20_43%402x.png?expires=1784953800&signature=59b1bfa2d3bdf883d1829ac6835981e5896ff1807b0d7b41c3b9151c2574f719&req=dSklF894lIheWvMW1HO4zWn5HzcUZ0Zjc9cNIYuX0GES5nWARXAruKU8npJJ%0A09d8Bd193e6VsoTgP64%3D%0A) This will open a **Shared chats** modal listing the title, date shared, and link to each chat, allowing you to easily review and access all your previously-shared content. From here, you also have the option to click “Unshare” next to each listed chat to revoke access to the last snapshot you shared: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243810/e6fe1d262597446c7fe21dff9f10/AD_4nXdW-GhByF8uKV7fCq9lTbkVB91FglSL6TSyXAOUk_MLcTV9YsEMBMkm9rgm1oXqv0k3sJh1JhlzZP6tHVkKbDJJ71pDRRtM3aVNG64MDuKDIzgmknh-XDZdNa7biTsTdwGoPr5GRg?expires=1784915100&signature=db5f79aff28d4700cb09d98be10abf4b8578951dee5bd3bcc7e1dcfe70ef457d&req=dSYlEst6noleWfMW1HO4ze44eCNolRc%2FguvTv9woD7bMnRLzrgg3IZCBYvM1%0A1wuDRE9Sxxjwciv9LL8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243810/e6fe1d262597446c7fe21dff9f10/AD_4nXdW-GhByF8uKV7fCq9lTbkVB91FglSL6TSyXAOUk_MLcTV9YsEMBMkm9rgm1oXqv0k3sJh1JhlzZP6tHVkKbDJJ71pDRRtM3aVNG64MDuKDIzgmknh-XDZdNa7biTsTdwGoPr5GRg?expires=1784953800&signature=f6eeb85508d05cc31c2220c0b38516b4eb2aa8f30dbb60324a2bbbbb2853df8d&req=dSYlEst6noleWfMW1HO4ze44eCNokRE2guvTv9woD7YeN9hKBBIW1TnAxTBy%0A1%2FxX7sDY0%2FG6MkEqqjY%3D%0A) If you don’t have any shared chat snapshots, the **Shared chats** modal will show “No shared content found”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243808/b025db8e598f0c88fb16d83d48d5/AD_4nXeUwCKnmFzzrjMHhfr5By4zk5pJlkEn3wbJ8-aNfu13Yl99IjBywpqPx9G07QRzpH1EwRY7uG7Q9m9fib98Gql1cIV7XwUCTzEgBNu79Ey8tCOS5CEVmwveIcEOxJ4fonBhe3g9MA?expires=1784915100&signature=c64f68165310daaf07646155cbff95d2fbeebee61c1c7989908d4a9092edb9d8&req=dSYlEst6nolfUfMW1HO4zdaFncF9gIywDeZsm0Gz1HsOLYsiEQY5JAcxWyUa%0AQXgKYyLGU8tqulARZZw%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1624243808/b025db8e598f0c88fb16d83d48d5/AD_4nXeUwCKnmFzzrjMHhfr5By4zk5pJlkEn3wbJ8-aNfu13Yl99IjBywpqPx9G07QRzpH1EwRY7uG7Q9m9fib98Gql1cIV7XwUCTzEgBNu79Ey8tCOS5CEVmwveIcEOxJ4fonBhe3g9MA?expires=1784953800&signature=6adb142f0c1a95b4e4d134e7b2a2992a25b67efa7af06f3a8173b6ea18bec2ef&req=dSYlEst6nolfUfMW1HO4zdaFncF9hIq5DeZsm0Gz1Hs1PQs58Lx5NveOH6CC%0AdpL1mvCgB6vVwVyPoT8%3D%0A) \ No newline at end of file diff --git a/content/support/10722177-sharing-prompts-in-the-claude-console.md b/content/support/10722177-sharing-prompts-in-the-claude-console.md index 5bfcd647c..470fe9cf5 100644 --- a/content/support/10722177-sharing-prompts-in-the-claude-console.md +++ b/content/support/10722177-sharing-prompts-in-the-claude-console.md @@ -10,13 +10,13 @@ The prompt sharing feature enables teams to collaborate on prompt development wi 3. Select "Share" from the dropdown menu: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409899224/f39d557d4925710cb16384886baa/AD_4nXf-Ev9bV40PoDjQX2fMF_zYpHSMQp7u3X92DNp-KRcykraFg8DnLdHCamIzXEPhtAEYhsBT9grnobQwQm1tgtnjR0EfyEuOFV61_InUuDwa121cj-1_KDtm9_NOYRD4LjcZQUIK?expires=1784915100&signature=223c146e95c2cd237861c9a322f336884d535b89349c93cd2d06e305f9e63511&req=dSQnH8F3lINdXfMW1HO4zajBO10nOAq65HPc4FxcZurtfB7%2Fp5Mz%2FYYbVh4D%0AmNV9%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409899224/f39d557d4925710cb16384886baa/AD_4nXf-Ev9bV40PoDjQX2fMF_zYpHSMQp7u3X92DNp-KRcykraFg8DnLdHCamIzXEPhtAEYhsBT9grnobQwQm1tgtnjR0EfyEuOFV61_InUuDwa121cj-1_KDtm9_NOYRD4LjcZQUIK?expires=1784953800&signature=34604944cf8d68e199e8b9609d816497812f5c1cecb007b172aa674fd6f62040&req=dSQnH8F3lINdXfMW1HO4zajBO10nPAyz5HPc4FxcZurC7Qn%2FKQjebb39OgUs%0AV7Cr%0A) 4. Change the access settings from "Private" to "Shared." 5. Click the "Copy link" button that appears: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409899713/0fd923a839b2c0ff8a0b5e11cf0c/AD_4nXdGUlO0CiCdnhllDnlz2Dd75uiNClFmR8_Qi1Wx6MM9rF-EUSIzRzvs_P6kGSqWBuF-l4iBMRtoEN8ip1-c8bqNzSqKA7SX1STIjtRqNisW-NCmcl9DEhWjv4edORWaT4LNZuPVww?expires=1784915100&signature=7fd7c2ca3f4934531fc7c9a28545d16d5b339b23fbcce414d20c3e46fe391338&req=dSQnH8F3lIZeWvMW1HO4zaU8nlO9P8moiqPPSiDAl9JOaKTsSrzw%2FgW2h3KL%0AkVWZ%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409899713/0fd923a839b2c0ff8a0b5e11cf0c/AD_4nXdGUlO0CiCdnhllDnlz2Dd75uiNClFmR8_Qi1Wx6MM9rF-EUSIzRzvs_P6kGSqWBuF-l4iBMRtoEN8ip1-c8bqNzSqKA7SX1STIjtRqNisW-NCmcl9DEhWjv4edORWaT4LNZuPVww?expires=1784953800&signature=b635b218410f8fd5a6402dc224b53c66e756a7b299deb62b831ed41d571a8bde&req=dSQnH8F3lIZeWvMW1HO4zaU8nlO9O8%2BhiqPPSiDAl9In%2BDXOp34vulUsQzNq%0Ayrdv%0A) 6. Share the link with members of your workspace. @@ -38,7 +38,7 @@ When working on a shared prompt: **Note:** If a collaborator saves changes to the prompt while you are viewing it, you will be prompted with a message to “Go to the Latest Version,” where all their changes will be reflected. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409901036/6b69f2878fcb1b4e9ba0747464ac/AD_4nXcp1htcsSLR8H98i7KazEFqIkOhVUHnw__-17jbMZ-n70qnSttxx_m7wNNaHsK7FZHoG8v6zRyqkElQrtdVkxnydo2hzsznCwt6ehzqlGAR7Js7TggP6WmVfwnUTgbouDIxyGS0?expires=1784915100&signature=5ad3a8586b558e24aa7214b30eaa5d699c1c46ede3e45add305b9efbb6fb6c51&req=dSQnH8B%2BnIFcX%2FMW1HO4zUnGutMGBEYn83rdFAdB3KyWusenQFpGJbb%2FlS7%2B%0A%2FWWU8ifQa5GzpIsar%2FM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409901036/6b69f2878fcb1b4e9ba0747464ac/AD_4nXcp1htcsSLR8H98i7KazEFqIkOhVUHnw__-17jbMZ-n70qnSttxx_m7wNNaHsK7FZHoG8v6zRyqkElQrtdVkxnydo2hzsznCwt6ehzqlGAR7Js7TggP6WmVfwnUTgbouDIxyGS0?expires=1784953800&signature=e58f00e6e7f9f1151772d47915678b007cc61278c75fffa67962ecbdfcacb607&req=dSQnH8B%2BnIFcX%2FMW1HO4zUnGutMGAEAu83rdFAdB3KwtyCTEq2pqa7dkhIPC%0AReRBY1o7%2FApDm2Lk444%3D%0A) ## Viewing Version History @@ -48,13 +48,13 @@ To see previous versions of a prompt: 2. Select "Version history" from the dropdown: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409901693/2924593d08c79c5ef1c4ca795f9d/AD_4nXf-Ev9bV40PoDjQX2fMF_zYpHSMQp7u3X92DNp-KRcykraFg8DnLdHCamIzXEPhtAEYhsBT9grnobQwQm1tgtnjR0EfyEuOFV61_InUuDwa121cj-1_KDtm9_NOYRD4LjcZQUIK?expires=1784915100&signature=3a1cb9c3594f00e8e52227f3603ca792897ef67443cdc80b3d5d67c451cb5949&req=dSQnH8B%2BnIdWWvMW1HO4zdOs5EApNHffplKKWUPxWw0A%2BZgbnowq%2FU6EoIv3%0AjXiw%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409901693/2924593d08c79c5ef1c4ca795f9d/AD_4nXf-Ev9bV40PoDjQX2fMF_zYpHSMQp7u3X92DNp-KRcykraFg8DnLdHCamIzXEPhtAEYhsBT9grnobQwQm1tgtnjR0EfyEuOFV61_InUuDwa121cj-1_KDtm9_NOYRD4LjcZQUIK?expires=1784953800&signature=a7144eea715e39202176ad0544c1e6dd71f93ebf4985242781f3002c18cd141c&req=dSQnH8B%2BnIdWWvMW1HO4zdOs5EApMHHWplKKWUPxWw3rNZbs2umsCzsXiJAK%0A%2BoCN%0A) 3. Choose the specific version you want to view from the list. **Note:** Past versions cannot be edited. To restore the prompt to a previous version, select the version from the version history list, and click the “Restore” button in the pop up. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409902092/39258424bd71205743134bb5a2d8/AD_4nXe7EGQNq4UAioXobBxbEdluYda1qU277VuDxoqXgmL9z1ch8ro5k3RjDmBWlpPzcfI8eeAbbmiouCc2AEfGPO_LiwFekOgCDj5MV8klaRgH1BHko5OZ1WtWq8Ow0HlYif77j2AxRQ?expires=1784915100&signature=ed33977c1ecb7da8e9324310e834e337bf23e2b836cca153534283b25bf727c5&req=dSQnH8B%2Bn4FWW%2FMW1HO4zeZkcjNaitIhRPhLT%2BKEBGM52fI%2B4TVFfCmQaGUk%0A2FV%2BKEOhTNUUEYyswZI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409902092/39258424bd71205743134bb5a2d8/AD_4nXe7EGQNq4UAioXobBxbEdluYda1qU277VuDxoqXgmL9z1ch8ro5k3RjDmBWlpPzcfI8eeAbbmiouCc2AEfGPO_LiwFekOgCDj5MV8klaRgH1BHko5OZ1WtWq8Ow0HlYif77j2AxRQ?expires=1784953800&signature=a3a45a8d4bb63c1cf2d21a5fbe9d805273bc25706e68755a7821337592565e18&req=dSQnH8B%2Bn4FWW%2FMW1HO4zeZkcjNajtQoRPhLT%2BKEBGMskQY4wZyBMPgjfMgH%0AOw4HtUwqd36PFPouVCw%3D%0A) ## Unsharing a Prompt @@ -64,6 +64,6 @@ To see previous versions of a prompt: 3. Change the access settings from "Shared" to "Private": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409898166/d7f3c0233ef3a3fa66701b558db7/AD_4nXcuZY7tln-InGzsyEmOZdRER_FWN9rQmcKalQqRTu6lSEyFSGBhGuvVPkLv7QHvsJCZsHz6-lTOX_tw77ribji4VlTsdG2dp-orGm6ST7IQ9aRnZvQMNvetkik0voTDZ1rHuFP5zA?expires=1784915100&signature=1b820e81d4613aded176e16e21c87652e45276ca6b799e20f5293685fef0c3dc&req=dSQnH8F3lYBZX%2FMW1HO4zZMvtFPXRfNgH68akkuAPm32%2F3pbH8Hvf1cYpIh8%0ABghHXopchaNz1jRrMpA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1409898166/d7f3c0233ef3a3fa66701b558db7/AD_4nXcuZY7tln-InGzsyEmOZdRER_FWN9rQmcKalQqRTu6lSEyFSGBhGuvVPkLv7QHvsJCZsHz6-lTOX_tw77ribji4VlTsdG2dp-orGm6ST7IQ9aRnZvQMNvetkik0voTDZ1rHuFP5zA?expires=1784953800&signature=9d5400b40480dbfbeaa61d6e872a0b9b92ca7d7a32dd759580fd026f0ea6c2ea&req=dSQnH8F3lYBZX%2FMW1HO4zZMvtFPXQfVpH68akkuAPm3cYH1Xdjgw3ugnErxj%0A%2BDqOhMEq7419sMyjp7I%3D%0A) **Note:** Unsharing immediately disables access via the direct link. Anyone that the link was previously shared with will no longer be able to view the prompt. \ No newline at end of file diff --git a/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md b/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md index 3bef3c345..0aa28c380 100644 --- a/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md +++ b/content/support/10949351-getting-started-with-local-mcp-servers-on-claude-desktop.md @@ -48,7 +48,7 @@ for specific instructions. Custom desktop extensions uploads allow Team and Enterprise plans to leverage organization-specific workflows that aren’t available in the public directory. After creating a custom desktop extension, Owners and Primary Owners can navigate to Settings > Extensions within Claude Desktop and click “Advanced settings” to access the **Extension Developer** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1681607607/ba6e379d2769d190f0970a0adaed/AD_4nXd4aZkqjJFpiXMPF28Pih7HmSJ9pPsnoWAfVgiLdFRFiTkO92YtXteIjvDHaPl7T0tjfpRTBOlyrMbQ_aciCNDgfIuEvV3szmKvt72x5O51DMSClXOYWk1JIRIzylwkj3joXqZcLw?expires=1784915100&signature=14b44133cc3b07d73eb71a2f971a86ae4e686eaa9d78efb8bbb10e36548b7d66&req=dSYvF89%2BmodfXvMW1HO4zWbPxER2NjgzHn9K2IaIG2Kfektx3aquqZlybRP8%0A08C8oNhIy%2FscslxgHRs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1681607607/ba6e379d2769d190f0970a0adaed/AD_4nXd4aZkqjJFpiXMPF28Pih7HmSJ9pPsnoWAfVgiLdFRFiTkO92YtXteIjvDHaPl7T0tjfpRTBOlyrMbQ_aciCNDgfIuEvV3szmKvt72x5O51DMSClXOYWk1JIRIzylwkj3joXqZcLw?expires=1784953800&signature=ed4a524c77187519fde909cf1025746eb7465a98962a270220c649477180bf28&req=dSYvF89%2BmodfXvMW1HO4zWbPxER2Mj46Hn9K2IaIG2KzEazgpnF%2FeOqe%2B%2BIQ%0AWarRvmWrnWBREeYmv2c%3D%0A) Click “Install Extension…” and select the .mcpb file. Follow the prompts to install and configure your custom desktop extension. For more in-depth information, please refer to our [desktop extension developer documentation](https://github.com/anthropics/mcpb). diff --git a/content/support/11506255-get-started-with-claude-in-slack.md b/content/support/11506255-get-started-with-claude-in-slack.md index b23fa6aa7..87f8c2e6f 100644 --- a/content/support/11506255-get-started-with-claude-in-slack.md +++ b/content/support/11506255-get-started-with-claude-in-slack.md @@ -12,17 +12,17 @@ It’s how we’ve brought Claude’s capabilities directly to Slack, bringing A **Direct message with Claude**: Start a private conversation with @Claude. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755143775/0ac74968f16b0c304ad05c1501c3/8f870a90-c622-449d-9eba-0a2edf5d63f1?expires=1784915100&signature=31ff9d5ea73a4e27eb90bf5018e6e708f497e3427cde62a5f943de7a52091a08&req=dSciE8h6noZYXPMW1HO4zb2WCgEKF4F25mlLMjhGEMFf5wzvGXh3SQgdxFP2%0AOguFGC4LQ5NDq1vFfgc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755143775/0ac74968f16b0c304ad05c1501c3/8f870a90-c622-449d-9eba-0a2edf5d63f1?expires=1784953800&signature=1ca4eb6c2f677a7d70a5b31b304c0f7a9170117243c115169a07954c33cbd2e0&req=dSciE8h6noZYXPMW1HO4zb2WCgEKE4d%2F5mlLMjhGEMED5mhOtLUk%2B28cbyd5%0ASP5jYtq7xe3whzpj3Ys%3D%0A) **AI assistant panel**: Click the Claude icon in Slack's AI assistant header to open a panel on the right side of your Slack window, allowing you to access Claude from anywhere in the Slack app. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755144720/47781e38d6f97597aa494e0aeb2d/38f88d2c-aa96-4d35-8a02-7ad6b23f8699?expires=1784915100&signature=1d2b7a41fce8debcffe912fd1699ea1bac0f08ff703c013198139fb92279ce3b&req=dSciE8h6mYZdWfMW1HO4zUifzTXQFqalPUSeDntyEuVU8jmcVW%2BJFWDKk%2BXC%0Av3t%2F%2FDDotRKzJhjqwMc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755144720/47781e38d6f97597aa494e0aeb2d/38f88d2c-aa96-4d35-8a02-7ad6b23f8699?expires=1784953800&signature=23115c3939906acb8068941cbb6beb8fbdb1082b62789216fe4ac12c171c6f03&req=dSciE8h6mYZdWfMW1HO4zUifzTXQEqCsPUSeDntyEuXNtUTwq5TGbUsug3eB%0AG45V2aFraaBQa5pVSyc%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755145556/3155c34bba5a64e0ab7b760e78c2/5c54e519-3c0d-4ffa-a555-0b9d9660ea53?expires=1784915100&signature=754acc4b96826e5c7d9421efdb77413d6f7f47b54f4bd8ba93064751224b04d0&req=dSciE8h6mIRaX%2FMW1HO4zXrVUtx18YrCBGejWRiWDiJD8jkXDI%2BhSFiEOHm9%0A9TWFIPomlCQrmLd8ZS0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755145556/3155c34bba5a64e0ab7b760e78c2/5c54e519-3c0d-4ffa-a555-0b9d9660ea53?expires=1784953800&signature=0bcc63cb8207772eb2205c065c279f3a0348b405364f1b58baf1e5195a4ed68e&req=dSciE8h6mIRaX%2FMW1HO4zXrVUtx19YzLBGejWRiWDiL21E%2BJyatu0%2Fi6lC0a%0A67W7VTdP422WLq7z8so%3D%0A) **Thread participation**: Mention @Claude in any thread to get Claude's help with the conversation. -![A Slack thread where a user @mentions Claude and asks for a summary. Claude replies in the thread with a short bulleted summary of the conversation.](https://downloads.intercomcdn.com/i/o/lupk8zyo/2398958204/25a1254c9c17bb0af6bf64ac99d3/Slack_Claude_Thread.png?expires=1784915100&signature=61cc8fe855f63216107859335e041cb87aea3dfb40091918f9916ad12824e5fd&req=diMuHsB7lYNfXfMW1HO4zdOLiZ8kLe6pZVaRIDJSo4K6RKR1uwVSgU%2FSjipf%0A2MO2kcKoYqAOw%2BOgcrg%3D%0A) +![A Slack thread where a user @mentions Claude and asks for a summary. Claude replies in the thread with a short bulleted summary of the conversation.](https://downloads.intercomcdn.com/i/o/lupk8zyo/2398958204/25a1254c9c17bb0af6bf64ac99d3/Slack_Claude_Thread.png?expires=1784953800&signature=f44bfcaa9fb6c4db5e7e821b3f2d0ef8aff69c99ba959834f4ec48494ddfa80a&req=diMuHsB7lYNfXfMW1HO4zdOLiZ8kKeigZVaRIDJSo4JE8nPYQVT72hP73BfG%0AW4aBzaCZzrzR4nf44t8%3D%0A) All surfaces provide the same capabilities that you have enabled in Claude, including web search and connections to your integrated tools, allowing you to seamlessly integrate AI assistance into your existing workflow. @@ -60,17 +60,17 @@ Once your Slack admin has approved Claude (or if you're on a personal Slack plan 2. Click "Connect Account” to be prompted to connect your Claude account: - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755147280/abac53f0415690817c630a420091/98c15ecd-761c-4e0d-aeae-1c52d38e52c8?expires=1784915100&signature=c8cf77d6b068c35a7218d002bb9e586f14dc26b141b82bc39d516eeb206b5f8e&req=dSciE8h6moNXWfMW1HO4zRIwhUi1RCVn%2Fy7g3WAjXh7rsO2r8SgF%2BS7py2%2B%2F%0Axstl%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755147280/abac53f0415690817c630a420091/98c15ecd-761c-4e0d-aeae-1c52d38e52c8?expires=1784953800&signature=262566efaa4a68ba42236bb0c84e8b1a7b86ed217e4dad61395fc2968d3dadb2&req=dSciE8h6moNXWfMW1HO4zRIwhUi1QCNu%2Fy7g3WAjXh40ifuSlLg0khS1YUly%0AAAJt%0A) 3. In the window that opens, select which organization you would like to connect with Claude for Slack. 4. Click “Authorize” to allow Claude in Slack to access your Claude chat account: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755147985/57be4bd15a4720466d9114ef9e0d/5944ab3f-20b9-43f7-b475-127b98a3eef4?expires=1784915100&signature=e6853bef0bd9612adebd6bf2e9c6c3b74bb79a6604699ffd1639db3658e13b58&req=dSciE8h6mohXXPMW1HO4zcpXSpEyEwiVFQ%2BRWX0w%2Fe4YvgvOsWUt0TGFPL1u%0AYjOU%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755147985/57be4bd15a4720466d9114ef9e0d/5944ab3f-20b9-43f7-b475-127b98a3eef4?expires=1784953800&signature=899585fd9eeb461f063bce4094fbb65a19f21ddcb4937fe5cae2b006498c21cf&req=dSciE8h6mohXXPMW1HO4zcpXSpEyFw6cFQ%2BRWX0w%2Fe77d0rIJBW2lgP70So2%0AoMAr%0A) 5. You should see a confirmation message upon successful connection: - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755148657/71571a264d97c7a145c399b3e653/f0d32375-bf8f-47d5-89e3-c165eb3a1d41?expires=1784915100&signature=9d606c0e737daacded095250a8f50cfbe3ec47e1fdbc0022ecf4d54794e61296&req=dSciE8h6lYdaXvMW1HO4zZ9S6jUQdZRqXLLzhWuBjzPOaI%2BzXkrNFT4bvQKz%0Adtfe%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755148657/71571a264d97c7a145c399b3e653/f0d32375-bf8f-47d5-89e3-c165eb3a1d41?expires=1784953800&signature=16b65ba574eb0e81059026e7ef47e6a88a265c5f2deb773eed76d8180ebc3f58&req=dSciE8h6lYdaXvMW1HO4zZ9S6jUQcZJjXLLzhWuBjzNsClhYYunlQFqACqyi%0A2u4A%0A) 6. After successful authentication, return to Slack. @@ -142,7 +142,7 @@ To disconnect your Claude account from Slack: 3. Confirm the disconnection. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755149744/97a579fedf87deb5e5b6abf48963/4cab9f61-9f98-40c4-969a-f590716dfb38?expires=1784915100&signature=7c0b69414a443d1ade4b81f041aff9eceaec5f0df897bc7b1a9385a65f8583dd&req=dSciE8h6lIZbXfMW1HO4zdIAvZFCb7SRQgg7UiXQlE1B63YegCuJjPpQ5eoz%0ApEb4iq00YUYgm0eQkPQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755149744/97a579fedf87deb5e5b6abf48963/4cab9f61-9f98-40c4-969a-f590716dfb38?expires=1784953800&signature=e68185ce925f98efcf3f983f85a2a7ad76c0a7358b89acf0e951010407d1cb5e&req=dSciE8h6lIZbXfMW1HO4zdIAvZFCa7KYQgg7UiXQlE0WMWOAOxfdOEVtU79a%0AXmFlfc0ffJOR63ClVxw%3D%0A) Disconnecting will: diff --git a/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md b/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md index e54cb8e26..3131559ad 100644 --- a/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md +++ b/content/support/11725453-set-up-the-claude-lti-in-canvas-by-instructure.md @@ -44,7 +44,7 @@ This article provides information on how to enable the Claude LTI integration in 5. Click "Install" and refresh the course page. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1611422430/c8e0875feac1f2c7cb033be74fc9/AD_4nXfLU_bui3EXcCjQ0qm70HD97neqjGayKeDer_t76utlci8gZSUjYRhw6ZSOlDdqSEcwXBzd_shAh7pQEJ-8OoE0O21DM5coOgxmO_WD5hlwiuwtS2iYXcTavhIRyQT5zKFWvfn3NA?expires=1784915100&signature=e86fab8616641311563d75067c3c5bba583f5ada99126de79d1c796090c8f71a&req=dSYmF818n4VcWfMW1HO4zTEDau8XmvaAEv2ojHLMylZ5z9vlnkO0xOvMCBMv%0AN9rdD4YJ5yUlrnfFsQw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1611422430/c8e0875feac1f2c7cb033be74fc9/AD_4nXfLU_bui3EXcCjQ0qm70HD97neqjGayKeDer_t76utlci8gZSUjYRhw6ZSOlDdqSEcwXBzd_shAh7pQEJ-8OoE0O21DM5coOgxmO_WD5hlwiuwtS2iYXcTavhIRyQT5zKFWvfn3NA?expires=1784953800&signature=297ae014e1234a6fc731cc4627995d6d2cee7e8e19ad38db7bf083a99ba76790&req=dSYmF818n4VcWfMW1HO4zTEDau8XnvCJEv2ojHLMylYxZENVZLF%2FX3CfGjj2%0AzG9vuLQd25ZzZeph7%2FM%3D%0A) ## Turn on the Claude LTI Integration in Claude for Education organization settings diff --git a/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md b/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md index 8bceaa4d1..228fabbc3 100644 --- a/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md +++ b/content/support/11817273-use-claude-s-chat-search-and-memory-to-build-on-previous-context.md @@ -40,7 +40,7 @@ When Claude searches your previous chats, you will see this reflected in your cu Yes, navigate to **[Settings > Memory](https://claude.ai/new#settings/customize-memory)** and switch the toggle next to "Search and reference chats" off: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482439/4dee2d7b267f865205feefc8f4f3/cb60c334-d1e2-4828-a01d-dfb36bbaa7eb?expires=1784915100&signature=527961a9789f16256584d9507dc91569a81931f41dd9ad20c80b76f9b246a598&req=diUkFc12n4VcUPMW1HO4zY9IRA5lVNR2YNcz5nFaZkG4W0x0c6igvkdnn1WP%0AF%2FCiUPQhl83cLNQ%2B4cA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482439/4dee2d7b267f865205feefc8f4f3/cb60c334-d1e2-4828-a01d-dfb36bbaa7eb?expires=1784953800&signature=dab2f2f46722917eafc087339fa4a24d6f5b38c44f972add419d5fda0bff136a&req=diUkFc12n4VcUPMW1HO4zY9IRA5lUNJ%2FYNcz5nFaZkEiX2jsM5kSDooLrmIU%0AZc6zYiglzr9bNt59y38%3D%0A) ## Can I exclude a specific past chat from searches? @@ -80,7 +80,7 @@ Each project has its own separate memory space and dedicated project summary, so You can toggle Claude’s memory on by navigating to **[Settings > Memory](https://claude.ai/new#settings/customize-memory)** and turning on **Generate memory from chats**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482441/b5c806a8e3f68bf34c4a70724d38/d30be013-d099-4c93-99d1-23d404792f08?expires=1784915100&signature=b1048ac483636630fa4be3a4e0d58c7471507c756e4c528b294e93e7b723eeaf&req=diUkFc12n4VbWPMW1HO4zRlYrp9k41UtNshWSMEMw9evVktqcjcrRMX6%2FSXL%0AvBn8wyavJboS%2BlRGoKc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2533482441/b5c806a8e3f68bf34c4a70724d38/d30be013-d099-4c93-99d1-23d404792f08?expires=1784953800&signature=7ef3939d10cfc1949515923262f704266da25ff324d35625bc1b139456aa4de4&req=diUkFc12n4VbWPMW1HO4zRlYrp9k51MkNshWSMEMw9dwI8x4XtidCXcJIKyq%0ADZYu44nLTgvd%2FMo6i7M%3D%0A) If you want to disable Claude’s memory, click the toggle and you'll see two options: @@ -184,7 +184,7 @@ When Claude searches your previous chats, you will see this reflected in your cu Yes, navigate to **[Settings > Capabilities](http://claude.ai/settings/capabilities)** and find the **Preferences** section. Switch the toggle next to “Search and reference chats” off: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730889/3fafbf5ecaa0ae31d7d84a66229b/c25536c1-7433-4b94-a5e9-cd5acf97a4fd?expires=1784915100&signature=0f36712755c39daede24d1b74b9089d119ae4b8bbab4fbd85dd8be3932d5e061&req=dScmH859nYlXUPMW1HO4zRzXH1s5IjTDJG68qZhl781XMkL1081ybl5Wu2WA%0AheMGK6kUiAZ%2BmE3aZZU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730889/3fafbf5ecaa0ae31d7d84a66229b/c25536c1-7433-4b94-a5e9-cd5acf97a4fd?expires=1784953800&signature=a5c41fd96e0fe05b15e7266d5a5e4554540ebb9d3b33fa7b6ecb63faa782d10f&req=dScmH859nYlXUPMW1HO4zRzXH1s5JjLKJG68qZhl783FnJJgJU%2Brw%2FjXn0el%0AN%2BNsOpziikknbWc18aU%3D%0A) ### Can I exclude a specific past chat from searches? @@ -192,7 +192,7 @@ Incognito chats are available to all Claude users (free, Pro, Max, Team, and Ent When starting a new chat with Claude outside of a project, you'll see a ghost icon in the upper right corner of your screen: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730893/9549b21954e0070ceb6b85231fd5/88e59234-6fc2-4229-84fe-733b33efff26?expires=1784915100&signature=2b7dc0459d15c29aa3e5ab842b9aca57f300d03a9c90f39927bc27e9a636ef31&req=dScmH859nYlWWvMW1HO4za54sKdlPYO6XDpzhlKsgjMxvtm7IKSjYRARQxwR%0AABqDj7LKcS%2B5iUXMKFk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730893/9549b21954e0070ceb6b85231fd5/88e59234-6fc2-4229-84fe-733b33efff26?expires=1784953800&signature=9cf0c6bf5736361d0acfb92b01f1552c2a4302bc7e2a765737a5368a7c1d0e93&req=dScmH859nYlWWvMW1HO4za54sKdlOYWzXDpzhlKsgjPV5KBcwXX0owBeMrMx%0A%2FR%2FnL7m0L4mP0bz%2Fc1M%3D%0A) Clicking the ghost icon will open an incognito chat, creating a temporary conversation that isn’t saved to your chat history. Claude won’t pull information from incognito chats when searching previous conversations. @@ -224,7 +224,7 @@ Each project has its own separate memory space and dedicated project summary, so You can toggle Claude’s memory on by navigating to **[Settings > Capabilities](http://claude.ai/settings/capabilities)**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730892/62f9f2b68d675a8e33393f06024f/89198978-192f-4c52-915d-5294b16f3fe1?expires=1784915100&signature=2b41f2096c3b8c10450aff4737747c8ab760c7c4c559b393faba99e693febfb6&req=dScmH859nYlWW%2FMW1HO4zTD5MMXvduFEBq9N9dRTKYcK1oxFnG8WnBoNjeTd%0AWxJhn8ZnSc9VKYlHRew%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719730892/62f9f2b68d675a8e33393f06024f/89198978-192f-4c52-915d-5294b16f3fe1?expires=1784953800&signature=71db5d6590b65369073783362d4e5bdc3237ab496446e5baa336ab94e55d0962&req=dScmH859nYlWW%2FMW1HO4zTD5MMXvcudNBq9N9dRTKYdUWUkZxLhmhQmbFWYL%0AzBqQBmzHp7A29LYf3%2Bw%3D%0A) If you want to disable Claude’s memory, click the toggle to see two options: diff --git a/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md b/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md index 47dae1048..bd23a1407 100644 --- a/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md +++ b/content/support/11818288-why-am-i-being-asked-to-verify-my-payment-method.md @@ -2,7 +2,7 @@ If you see the following pop-up when you log in to your Claude account, you’ll need to click the “Verify now” button to verify your payment method: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1631413861/42c3b13d7fc44a11a88ec2b9cd03/AD_4nXeMx8QXpeZZCkfAnVSwx8KZ9n4Vr2rvPdQddyE6ZNxch__F6ZqFs1G4ZmU52Wvb7gRlwRqquTLdw8IQv-gICDyP-MXqiQK_Oe7gX3SKsCKKt2IEpMx4qDeMeeZufMaJfv16XgOH5g?expires=1784915100&signature=360ba2c667785f08133af15a3dc5f7462d91302131745423058f06918eacdaf7&req=dSYkF81%2FnolZWPMW1HO4zf7%2BjEDn6YXzn6MrEicvimD6Lc0lc0jJ9w4draiz%0Af9zIbAipaC%2FznRwMqiU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1631413861/42c3b13d7fc44a11a88ec2b9cd03/AD_4nXeMx8QXpeZZCkfAnVSwx8KZ9n4Vr2rvPdQddyE6ZNxch__F6ZqFs1G4ZmU52Wvb7gRlwRqquTLdw8IQv-gICDyP-MXqiQK_Oe7gX3SKsCKKt2IEpMx4qDeMeeZufMaJfv16XgOH5g?expires=1784953800&signature=94bc4b33397d47a87c9d573841063570b1f3a17c281e83e591edf059c28ec231&req=dSYkF81%2FnolZWPMW1HO4zf7%2BjEDn7YP6n6MrEicvimAJPsyiyYvMXxLHf1Vo%0Ajoun106rTj1XaEqKrDY%3D%0A) ## What happens if I click “Remind me later?” diff --git a/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md b/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md index 76c20f785..da14dfe03 100644 --- a/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md +++ b/content/support/12005970-manage-usage-credits-for-team-and-seat-based-enterprise-plans.md @@ -70,7 +70,7 @@ After navigating to **[Organization settings > Usage](https://claude.ai/admin-se The **Usage and spend limits** section will show the current limit (if any) or **Unlimited**. Clicking on "Adjust limit" opens a modal where you can either input an amount and click "Set spend limit," or click "Set to unlimited" to remove the organization-wide monthly spend limit. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149347604/936ac4eb025d3ef1f00c3b8a26b0/image.png?expires=1784915100&signature=7272d3302829f6b9ecd947aef15a6b43e7e9bf06130feefd68f8485d166ecf65&req=diEjH8p6modfXfMW1HO4zQHwg6Xelyun6DwhVVpk1mCDOJmJ%2FdP6o3HhpLV2%0ACrhurQZtIYPDyCFV8Cc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149347604/936ac4eb025d3ef1f00c3b8a26b0/image.png?expires=1784953800&signature=ce02b66f0860b105ada80ed01c74677892b2d9d0e7f6cfd24f1a6848b30660df&req=diEjH8p6modfXfMW1HO4zQHwg6Xeky2u6DwhVVpk1mAIkz1ngYmuboGSv15v%0AwqBzeFrkENa9C1eP39s%3D%0A) Changes to your organization’s overall spend limit go into effect immediately. @@ -78,11 +78,11 @@ Changes to your organization’s overall spend limit go into effect immediately. Owners and Primary Owners on **seat-based Enterprise plans only** can set spend limits that apply to all users within a specific seat tier. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149351600/c5b979c366ac2738f60ea84e85b3/CleanShot+2026-03-10+at+15_37_41%402x.png?expires=1784915100&signature=d19752dc93ae18af20200d0e9fdb1fc63746b8105afdf454bb2c316641918389&req=diEjH8p7nIdfWfMW1HO4zYnqMIGdInWI0wfO62ivdG%2BGwKs1Gulfyusnu3eT%0AAdXJBJ03qxbbWUgsP0g%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149351600/c5b979c366ac2738f60ea84e85b3/CleanShot+2026-03-10+at+15_37_41%402x.png?expires=1784953800&signature=c480d2694a7af2cfea3a64e1ffe1fef4fb00e3b13488afb68169781140656b34&req=diEjH8p7nIdfWfMW1HO4zYnqMIGdJnOB0wfO62ivdG9tRbyIuLDToZ083dBG%0A4Ayqx0MSJmByMg%2FMsAY%3D%0A) Select the "By group" tab to see **Standard seats** and **Premium seats** groups. Click the "..." icon next to the current limit, then "Edit limit." This opens a modal where you can either select "Set dollar amount" and input an amount, or click "Unlimited" to remove the limit for that seat type. Click "Set limit" to save your changes. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149362056/44993661ca2db771fe924d0346f6/image.png?expires=1784915100&signature=82ea7bccb6cc5155e1c195f618fc6b64a1a4f46545354f379ce077a56e6e97c8&req=diEjH8p4n4FaX%2FMW1HO4zRzvvIECcUhHq7nEDCGq9G54PZYliFwn2kai5%2Fnn%0ASPBOBAm%2Fb4JYTFRjjVY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149362056/44993661ca2db771fe924d0346f6/image.png?expires=1784953800&signature=a303de3cc2df5bcd2297b4a21e9182a008cc48aa5a3c22ac42e64d51af9cabfd&req=diEjH8p4n4FaX%2FMW1HO4zRzvvIECdU5Oq7nEDCGq9G4m0owQ34ObwDBpRNYM%0A%2FUvKgrsqFEsrRv007nc%3D%0A) --- @@ -90,11 +90,11 @@ Select the "By group" tab to see **Standard seats** and **Premium seats** groups Owners and Primary Owners can also set individual monthly spend limits for each member by finding **Spend limits by user** and clicking the "..." button next to the user, then "Edit limit." -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149370853/db66f5cd03683b9cc119d0dcd6b8/image.png?expires=1784915100&signature=43d40214aa75a774df89974ffea895f6211fe1f4da2cae5c1491d0327988444b&req=diEjH8p5nYlaWvMW1HO4zaPdGQNeVCpHe9HwvwG7ubj1oAKPU%2FwLn8HBZ33K%0AU0OBjU9xRFulWy4JtAk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149370853/db66f5cd03683b9cc119d0dcd6b8/image.png?expires=1784953800&signature=8ff72d39a373281f5de8798cdb23f1ec260683363dd9cd657271ec7594758049&req=diEjH8p5nYlaWvMW1HO4zaPdGQNeUCxOe9HwvwG7ubhfNN6FC0fGsWGD9VG%2B%0Al4PxCSO4giipZY8Jla4%3D%0A) Enter the amount and click "Set limit." Alternatively, selecting "Set to unlimited" will remove that member's monthly spend limit (they will still be subject to any organization or seat-level spend limits). -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149374028/97813fe3b515c2e839d8d92abd79/image.png?expires=1784915100&signature=464dacacf6ed5014963e18e168015f66d1ebc913772698770270c4c0e07c6df9&req=diEjH8p5mYFdUfMW1HO4zevsAvODMu6Lw6z2wGSwkbsKJDAHO0pSdczeIQMf%0At%2BN9qXe9E3QN2InjI1w%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2149374028/97813fe3b515c2e839d8d92abd79/image.png?expires=1784953800&signature=97285f82cf0f64c4d99a75cc0698de6cc5597f4fa58c4cf42509840901c34656&req=diEjH8p5mYFdUfMW1HO4zevsAvODNuiCw6z2wGSwkbsj1DQlHaBMQSiSnlIA%0ARUI%2Fd2HAimw1SCucVNA%3D%0A) This allows owners fine control over usage credits, so you can set limits for different members based on their roles or individual needs. Once a user reaches their defined spend limit, this will automatically pause their usage credits until the end of the month. They will need to wait for their usage limits to reset before using Claude again. diff --git a/content/support/12012173-get-started-with-claude-in-chrome.md b/content/support/12012173-get-started-with-claude-in-chrome.md index 5824bc1d0..61c40bede 100644 --- a/content/support/12012173-get-started-with-claude-in-chrome.md +++ b/content/support/12012173-get-started-with-claude-in-chrome.md @@ -34,7 +34,7 @@ Follow these steps to enable the Claude in Chrome connector in your desktop app: 4. Toggle the connector on, then download and install the extension if you haven’t already. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1892696502/a23969725f631e99b9e4c47ec6e9/89803b8f-4f3c-4983-8b4d-63aec687ea1a?expires=1784915100&signature=9c67ce90ed316160c8a69498566f4b88e5514a92f5ae44b9f3b1982daa0e611a&req=dSguFM93m4RfW%2FMW1HO4zdOezI9V6bZ4hnw73Y7ib%2BfRD3h53QukKnqYWi%2BY%0AmL5jB7a04OkJI8B5i6U%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1892696502/a23969725f631e99b9e4c47ec6e9/89803b8f-4f3c-4983-8b4d-63aec687ea1a?expires=1784953800&signature=526c692194166a106942cbf67349fd74433813aa20ebe697a22cc683a28e9bde&req=dSguFM93m4RfW%2FMW1HO4zdOezI9V7bBxhnw73Y7ib%2BeRfjdKLoL66ttfwWg7%0A3nnIlybhB1MDfBVzFp4%3D%0A) Completing these steps will add Claude in Chrome to the “Connectors” drop-down on your chats with Claude. This is disabled by default, so you’ll need to enable it manually for each conversation. diff --git a/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md b/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md index 57f1fbcae..f5405c01a 100644 --- a/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md +++ b/content/support/12083917-change-your-team-plan-from-monthly-to-annual-billing.md @@ -8,11 +8,11 @@ Owners and Primary Owners of Team plans with monthly subscriptions can switch fr 3. Or from /upgrade, click the “Switch to Annual plan” button: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690325734/d47f714680d78408d6022d06b8d1/image.png?expires=1785024000&signature=7598014c07d2a95385716f91522a20d29543bf7a7a3c2e0271168983a73a20f3&req=dSYuFsp8mIZcXfMW3Hu4gZzas%2FXtvD9QmWrRiVwqPzYNtoIlGTPeg9zmBVap%0AoQ%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690325734/d47f714680d78408d6022d06b8d1/image.png?expires=1785078000&signature=0a991829d93d02dd7815e88b1e87fca82da356037c6c9a5541b310c52471a595&req=dSYuFsp8mIZcXfMW3Hu4gZzas%2FXtvD9VlWrRiVwqPzbQI6tWe6M00TYu9vdU%0AyA%3D%3D%0A) 4. The confirmation screen will display the total cost for your upgrade from monthly to annual billing: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690326039/3a91cdc5fff57d188a18ecc6273f/image.png?expires=1785024000&signature=4950a99c7a1b52d54bf1b7877306601c9856471b5954c573a24d2536394905da&req=dSYuFsp8m4FcUPMW3Hu4gbNj%2Bk78WQ3jj%2B5vzcg6znVyOrbgjg%2BaEQOdiqRB%0AWQ%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1690326039/3a91cdc5fff57d188a18ecc6273f/image.png?expires=1785078000&signature=ce36ce6ce5fda3f3ae6c0f1a1f2b97c8c01920058b1548dc87b94d57779173f8&req=dSYuFsp8m4FcUPMW3Hu4gbNj%2Bk78WQ3mg%2B5vzcg6znWvyvh5m%2BpMfFGG8CM0%0AHg%3D%3D%0A) 5. Click “Confirm subscription.” diff --git a/content/support/12111783-create-and-edit-files-with-claude.md b/content/support/12111783-create-and-edit-files-with-claude.md index 151b169c5..989e7be6a 100644 --- a/content/support/12111783-create-and-edit-files-with-claude.md +++ b/content/support/12111783-create-and-edit-files-with-claude.md @@ -48,7 +48,7 @@ These capabilities make it easy to produce professional documents by simply chat To give Claude access to external data sources, toggle **Allow network egress** on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2054774005/25bcfffba6c249cd128d6c3f6d52/CleanShot+2026-02-11+at+16_34_47%402x.png?expires=1784915100&signature=15f2819b254b09aa3bf70a63a0343678277eb4f56778067c2e34a49540a23a20&req=diAiEs55mYFfXPMW1HO4zYFJywlMDZzPPQVowIiib2m817nnIOqYoyghyqo%2B%0ASYRo7Ou0zZoAW83hjl8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2054774005/25bcfffba6c249cd128d6c3f6d52/CleanShot+2026-02-11+at+16_34_47%402x.png?expires=1784953800&signature=a25af19c6e7c667f56d7fe35042471128cdbef4ec553862227fafea3a16fc941&req=diAiEs55mYFfXPMW1HO4zYFJywlMCZrGPQVowIiib2l%2BzgnKNaf6nL8zUOm7%0AHDioiegmXZChSQ4vfow%3D%0A) ### Enabling on Claude Mobile @@ -66,11 +66,11 @@ Team and Enterprise organization owners can control network access settings in * - **Allow network egress to package managers and specific domains:** Claude can access package managers plus additional domains you specify. Add domains individually to whitelist specific resources your organization needs: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945362/ad72504d5429960f369b8b91b43c/86f06c0e-6eaa-4574-a4cb-2c38b273613a?expires=1784915100&signature=a5a6923f3a2687a51d3b1ac2cf9d27b705f23144a55759fa34c8df8bb024ed25&req=dScvH8B6mIJZW%2FMW1HO4zXJcBmlKlCxKpMW6Iph6YZfMuP6JZIVZuVUtv4pb%0APndEtM1ehWjVAbyF0ng%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945362/ad72504d5429960f369b8b91b43c/86f06c0e-6eaa-4574-a4cb-2c38b273613a?expires=1784953800&signature=19f2f9bfcc35a663bcc9a1e4b1a87bba7eca6f237e85c5918f9bd6698ea00b47&req=dScvH8B6mIJZW%2FMW1HO4zXJcBmlKkCpDpMW6Iph6YZfuYrNxEWJAkMFsiL6j%0AiTTY0DCm2Qdg6TphIoQ%3D%0A) **All domains:** Claude has full internet access except for domains on Anthropic's legal blocklist. While this provides maximum flexibility for file creation and analysis tasks, it’s also the riskiest option. Please review the **[security considerations below](#h_0ee9d698a1)** before enabling “All domains”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945361/e3188cb8edb9ca7c303615da6378/f1c99a7d-5956-48d5-9ec7-b7ae6c8c3d28?expires=1784915100&signature=32a028f25c0c32c377a34e58698a81536d92a7f2cbea62fd2eb4252c698ca067&req=dScvH8B6mIJZWPMW1HO4zdnseBCb7zqjqgKIA6CM1tr38oTqsi5nC5Hcs5HX%0Axh5uG1BBhYqnG4KoVwA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1789945361/e3188cb8edb9ca7c303615da6378/f1c99a7d-5956-48d5-9ec7-b7ae6c8c3d28?expires=1784953800&signature=fafdebb71fae2a540bc1ccf8dd9a0362c5c8c9c8f9080e908d491e573dcc6948&req=dScvH8B6mIJZWPMW1HO4zdnseBCb6zyqqgKIA6CM1toTMhedUWRC5aVYzr3k%0ALqYQYxEVyZZgWPMu1%2Bg%3D%0A) --- diff --git a/content/support/12157520-claude-code-usage-analytics.md b/content/support/12157520-claude-code-usage-analytics.md index 0e36c69a5..6de83293d 100644 --- a/content/support/12157520-claude-code-usage-analytics.md +++ b/content/support/12157520-claude-code-usage-analytics.md @@ -50,7 +50,7 @@ The **Usage** tab displays the following metrics for your organization. Data on - **Top commands**: The Claude Code commands used most often across your organization. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1717579277/46c512f4b3ed05c359cecd78ed5c/e0ce2c19-39e2-411f-9a1f-cb1d46439a42?expires=1784915100&signature=65a6e5c3e8cbcfb1eec44367ae45afe987b741930e7384d266062ce6fbc82534&req=dScmEcx5lINYXvMW1HO4zfiEP6JZjnzPCX9h5MbdDjNXVrd2AGrvSfRsQMX4%0AUUvtVx09THjclSnkVLI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1717579277/46c512f4b3ed05c359cecd78ed5c/e0ce2c19-39e2-411f-9a1f-cb1d46439a42?expires=1784953800&signature=e1317d2bfd75d2f891616f19ebb776a65b451f33bc928f9223f0d2249bbb07ab&req=dScmEcx5lINYXvMW1HO4zfiEP6JZinrGCX9h5MbdDjPa5REGO6kQNdKQmA1a%0AkE5Q2TzP5QNH9gVPNZY%3D%0A) ### User-level metrics diff --git a/content/support/12260368-use-incognito-chats.md b/content/support/12260368-use-incognito-chats.md index 284c1b116..a6c682c26 100644 --- a/content/support/12260368-use-incognito-chats.md +++ b/content/support/12260368-use-incognito-chats.md @@ -30,7 +30,7 @@ Incognito chats are temporary conversations that aren't saved to your chat histo When starting a new chat with Claude outside of a project, you'll see a ghost icon in the upper right corner of your screen: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719768744/c7a2fa56cf284e48472f3b9c4dbf/030563f8-9f97-4891-a749-9ae95968a063?expires=1784915100&signature=7508b058b0a652550ea94a9a9feea99a9b14a96d312436ceec8602e20c5227c9&req=dScmH854lYZbXfMW1HO4zeUcuwa0b%2BCKDCAt3Cx%2FSO0Es5%2BtJVCxd7R3CwBL%0A6Iyh%2FMt%2BTpMWW3UjF6o%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1719768744/c7a2fa56cf284e48472f3b9c4dbf/030563f8-9f97-4891-a749-9ae95968a063?expires=1784953800&signature=e02ef9a20088b6bee6a207092642459ea01e65156608bf1c028a461b3861dfd1&req=dScmH854lYZbXfMW1HO4zeUcuwa0a%2BaDDCAt3Cx%2FSO2cO6OVGuxMLaQDYwdg%0ACopFFJpT6L8qaC5thZA%3D%0A) 1. Click the ghost icon to enable incognito mode. diff --git a/content/support/12293051-use-claude-in-xcode.md b/content/support/12293051-use-claude-in-xcode.md index 504511106..97eeded7f 100644 --- a/content/support/12293051-use-claude-in-xcode.md +++ b/content/support/12293051-use-claude-in-xcode.md @@ -34,7 +34,7 @@ To start using Claude in Xcode: 3. Log in with your Claude account. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1727371585/b18ca03a6357c52d12d10386f28e/dab2dcb2-f670-4173-b77d-38767a34cec1?expires=1784915100&signature=bdad6f6149560f3fbf473f677f3767b2d2238e34c49f856e50264a9f9b964065&req=dSclEcp5nIRXXPMW1HO4zUAXI8gLU63VFalhp3bugHKHipqwxY7D27To7eqt%0AGiK4A%2BfMiyqAcyXoE10%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1727371585/b18ca03a6357c52d12d10386f28e/dab2dcb2-f670-4173-b77d-38767a34cec1?expires=1784953800&signature=41e36b868a8cf49a17ace3abd7d33979233bf17d051747240e498059ec89f3b3&req=dSclEcp5nIRXXPMW1HO4zUAXI8gLV6vcFalhp3bugHKjANN5Y5Pnk03az0OO%0AbaPFaWoyl8RwBsDFMVk%3D%0A) ## Usage limits diff --git a/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md b/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md index 267a90d03..0a6b1dfec 100644 --- a/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md +++ b/content/support/12429409-manage-usage-credits-for-paid-claude-plans.md @@ -46,7 +46,7 @@ To enable usage credits on your paid Claude plan: 8. You can also enable auto-reload to automatically make a purchase when your balance falls below a threshold you set: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1805819785/5e203c38e6ba3f76bfd1dab0d5ce/fe062e7c-18cb-48cc-a7e2-754ac6e6c4be?expires=1784915100&signature=f675f34fc802506996de4d6a4750f8d4fafd1b1e80fee09d67119474c194405d&req=dSgnE8F%2FlIZXXPMW1HO4zYj2ARaQpPU5opE7m38Ydff%2B4dLzUUlR8j%2BnJ1kD%0A5cMv2QqV5yqk58QoqWs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1805819785/5e203c38e6ba3f76bfd1dab0d5ce/fe062e7c-18cb-48cc-a7e2-754ac6e6c4be?expires=1784953800&signature=8a54c63c5d4d3aeb60753417a2b1ed321a212ebac5e64453124466900a55ab44&req=dSgnE8F%2FlIZXXPMW1HO4zYj2ARaQoPMwopE7m38YdffsbLMtK23jCjD%2FQW0t%0AdLNMZ1WJgVNpFaUC%2FN8%3D%0A) **Note:** There is a daily redemption limit of $2000. diff --git a/content/support/12461605-use-claude-in-slack.md b/content/support/12461605-use-claude-in-slack.md index f2114e0b9..e85f6d263 100644 --- a/content/support/12461605-use-claude-in-slack.md +++ b/content/support/12461605-use-claude-in-slack.md @@ -28,7 +28,7 @@ Claude in Slack gives you AI assistance right where your team collaborates. This 6. Access previous conversations by clicking the clock icon. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755150661/a1a13c73bda421f6ee906650cfc9/22907223-e523-4a93-a6d2-3199a8368991?expires=1784915100&signature=2611dcd4ab81f507ede022ffee8ba069bba8c7b11222345cc9d24df456e2fe9b&req=dSciE8h7nYdZWPMW1HO4zXK26hVH6TQfVfOC%2FRy97LX8JyzXID3QqKh6ZzzI%0AZgUwgeiEXyDKwhP0prA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1755150661/a1a13c73bda421f6ee906650cfc9/22907223-e523-4a93-a6d2-3199a8368991?expires=1784953800&signature=bbdde8d2c25cecbe8b9508bd2981e4768d5fd595d830bd58090d1ae1e7d9f595&req=dSciE8h7nYdZWPMW1HO4zXK26hVH7TIWVfOC%2FRy97LWQiDI4EEwxSC6icls8%0AV8MnRGP%2BdRD8jOjt0cs%3D%0A) ## Mention @Claude in a thread or channel diff --git a/content/support/12466728-troubleshoot-claude-error-messages.md b/content/support/12466728-troubleshoot-claude-error-messages.md index ab6324d69..c2f4a4111 100644 --- a/content/support/12466728-troubleshoot-claude-error-messages.md +++ b/content/support/12466728-troubleshoot-claude-error-messages.md @@ -58,4 +58,4 @@ Capacity issues will not appear on our status page because they represent normal Service incidents are disruptions where Claude is unavailable or significantly degraded for all or most users. These represent actual technical problems with our systems. To check for confirmed incidents, visit status.claude.com, where you'll find real-time updates on scope, impact, and resolution progress for any active incidents. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1753796247/e6a8c6ef8653b229c5758e881242/c2fc6fc0-d163-4119-93e0-394104d86bc9?expires=1784915100&signature=e9b67f5898a1a76f6a15fa2777a2d3259f3fffcd0e2894031513fceec6062495&req=dSciFc53m4NbXvMW1HO4za4BXqsq07fF7y68oYp%2BYg%2BE9lhgJkW2Uc7CsbLo%0A0tC5nmlm2xNEHQUtBhc%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1753796247/e6a8c6ef8653b229c5758e881242/c2fc6fc0-d163-4119-93e0-394104d86bc9?expires=1784953800&signature=3f572fb0d9bef258712bd3bdb03ae9f182494a90abbc348f3043b18fa0033f22&req=dSciFc53m4NbXvMW1HO4za4BXqsq17HM7y68oYp%2BYg%2B063SrOO%2FVom%2Fll%2FH9%0AY52mpaAd5VUo3K2xaIQ%3D%0A) \ No newline at end of file diff --git a/content/support/12512180-use-skills-in-claude.md b/content/support/12512180-use-skills-in-claude.md index 851245484..1ae746c7b 100644 --- a/content/support/12512180-use-skills-in-claude.md +++ b/content/support/12512180-use-skills-in-claude.md @@ -164,7 +164,7 @@ To remove a custom skill you've uploaded: 4. To delete the custom skill entirely, click the "..." button next to the toggle, then select "Delete": - ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2105391273/8359cbf8be20dce0f1cd3fd40e6f/CleanShot-2B2026-02-25-2Bat-2B15_50_16.png?expires=1784915100&signature=ff566ef60181d959e463c09050eace29954e87edb994ee297a9505265b4848b1&req=diEnE8p3nINYWvMW1HO4zSOgDy8hw%2BOsH%2BdCnFXB0uh5c%2BCDBgul1qbaoYmn%0A5ytW%0A) + ![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2105391273/8359cbf8be20dce0f1cd3fd40e6f/CleanShot-2B2026-02-25-2Bat-2B15_50_16.png?expires=1784953800&signature=dff1214d200c6a5c476a18ae6b9251fb36f616f9d504429ea799473ad39ff2c4&req=diEnE8p3nINYWvMW1HO4zSOgDy8hx%2BWlH%2BdCnFXB0uixS7nHNCBe7nNBnD8B%0AL6ul%0A) 5. Click "Delete" in the confirmation prompt. diff --git a/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md b/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md index aa57a1cfa..2474570a7 100644 --- a/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md +++ b/content/support/12592343-enabling-and-using-the-desktop-extension-allowlist.md @@ -20,11 +20,11 @@ The desktop extension allowlist is disabled by default, so an organization Owner 4. Switch to the "Desktop" tab: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755172/63c92550571842577ad435860ec5/6f5cc4e1-ff7d-48de-863a-c4e6184d4605?expires=1784915100&signature=bca674d56634fa520203db00bdbfa7031efe36c6e23d984eabc30da37d0f0628&req=dScvF857mIBYW%2FMW1HO4zQ9pXU4D%2FnXa0ugSQm1MFW9rWWMKgndTy%2BqDjOXT%0ABmj1%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755172/63c92550571842577ad435860ec5/6f5cc4e1-ff7d-48de-863a-c4e6184d4605?expires=1784953800&signature=8312dcf8c309fe10336bd5429833f89796e84f381ae116978e2c0f0550f5ed17&req=dScvF857mIBYW%2FMW1HO4zQ9pXU4D%2BnPT0ugSQm1MFW9OULzgp3y8jWbsJcVL%0ACVvC%0A) 5. Toggle **Allowlist** on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755578/a6bafff5f084dc86ae463703fd3d/6cf0ee18-4e71-4129-98e8-cc08174e3c3a?expires=1784915100&signature=62cb481e09cfd4f5b0f3c5044888fd937bc12bd7c45f1d2d03101107b94fb9ad&req=dScvF857mIRYUfMW1HO4zaj0BHUiSKIFTAorLxpdoc%2FTNG8wREEgnxNbBISu%0Awvk1%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781755578/a6bafff5f084dc86ae463703fd3d/6cf0ee18-4e71-4129-98e8-cc08174e3c3a?expires=1784953800&signature=3c36fff2bc94de9fbdf6b1f2285985363e372d32d86eec4328a5385946adbec3&req=dScvF857mIRYUfMW1HO4zaj0BHUiTKQMTAorLxpdoc%2BqSVf9vIsL5HQXrv9Y%0AuuqC%0A) ## What happens after enabling the allowlist? @@ -42,7 +42,7 @@ Consider completing the allowlist setup during off-hours to minimize disruption **Important:** The allowlist requires Claude Desktop version 0.13.91 or higher, so users should update the desktop app by clicking “Claude”, then either “Check for updates” or “Restart to update to Claude 0.13.91”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781756960/ad18af50c83d35f2673656c23e00/a7ee450f-0c7d-42d6-a75f-fb1bc088cb52?expires=1784915100&signature=f2ab2f09109e81cb02abd177a0c043859c577dc1a55a4b163d5ba6bb83ad908c&req=dScvF857m4hZWfMW1HO4zYUJqYejCzfqCEDZ5AdBjIbFmvwAD7RX%2FNIoR62m%0ANCZ0qRYVwyp04YHbMbg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781756960/ad18af50c83d35f2673656c23e00/a7ee450f-0c7d-42d6-a75f-fb1bc088cb52?expires=1784953800&signature=4dd41461234850a3e29d2e1946754586a4e1e89b07cdc0d537d87c60723709dc&req=dScvF857m4hZWfMW1HO4zYUJqYejDzHjCEDZ5AdBjIaGW1ZnHYntA75eoL8U%0AoCfTPxkbGsGmhOTNa3A%3D%0A) ## Managing allowed extensions @@ -60,7 +60,7 @@ After enabling the allowlist, you can choose which extensions to allow: If you want to remove an extension from the allowlist, click the “...” button and “Remove from allowlist.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781751250/6558c0f59aea7976bd44b0213d76/e750f02b-cd0d-437e-a83f-9ac362cdf456?expires=1784915100&signature=0838d0ec9aee2b655589491f7a746fa1ba0c56cc3cb3750b4637cb8c91ddb666&req=dScvF857nINaWfMW1HO4zTrxBawg%2FlKUqXridZhfx1Io1uk4BYyb7sIJohfm%0AsH3NtEZDpK7L%2FqEEUbs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1781751250/6558c0f59aea7976bd44b0213d76/e750f02b-cd0d-437e-a83f-9ac362cdf456?expires=1784953800&signature=4918ede27cc1498a13e463ec7d1bbca4147b04a4f3e689139df34f22b7aa9280&req=dScvF857nINaWfMW1HO4zTrxBawg%2BlSdqXridZhfx1JgrgLSZxFRjABxMzKJ%0AYhURp%2BYUHft8lOllDWo%3D%0A) ## Uploading custom extensions diff --git a/content/support/12618689-claude-code-on-the-web.md b/content/support/12618689-claude-code-on-the-web.md index ba3e9bb1f..0bc06526d 100644 --- a/content/support/12618689-claude-code-on-the-web.md +++ b/content/support/12618689-claude-code-on-the-web.md @@ -10,7 +10,7 @@ This feature works with repositories you may not have on your local machine. You Claude Code for web enables asynchronous development workflows. With Claude Code in your terminal or editor, you typically work synchronously: you make a request, wait for Claude to respond, review the changes, then make another request. Synchronous work like this gives you fine-grained control but requires your attention throughout the process. Claude Code on the web handles this differently: you can assign a larger task, let Claude work independently, and return later to review the completed work. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446157/07ec74cd46317f8278083a317841/6448f3ee-c6df-4417-8a13-90d8c2ca3d55?expires=1784915100&signature=749c6ad7cb08d87a9554b3f7931cc1c3464a482a12e23a2207789c295d120e96&req=dScvEM16m4BaXvMW1HO4zR8%2BAFeJQ5h37XrRA1YwWGvZDF%2BHhg8l1%2BDZK7zE%0Aw1M0pAohJpDF3ej5VUI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446157/07ec74cd46317f8278083a317841/6448f3ee-c6df-4417-8a13-90d8c2ca3d55?expires=1784953800&signature=eae4bb259968ac314cdc8b512a98ba9a63a1f5ff2114cb89426e64f2ee5ce726&req=dScvEM16m4BaXvMW1HO4zR8%2BAFeJR55%2B7XrRA1YwWGtNQPXJMZqXbhl81JT6%0AJ%2FEBWnz%2BNiVFPECpXX4%3D%0A) You can also run multiple tasks in parallel. Since each task runs in its own isolated environment, you can have Claude working on several different issues or repositories simultaneously. Each task proceeds independently and creates its own pull request when complete. More than one task can work on the same repository at the same time. @@ -18,13 +18,13 @@ You can also run multiple tasks in parallel. Since each task runs in its own iso When you start a task, Claude Code on the web creates an isolated virtual machine for your work. Your GitHub repository is cloned into this environment, which comes pre-configured with common development tools and language ecosystems. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446158/c092f1383826cb871493f74169d4/97b7cb98-5da2-438e-a920-e170b8b9790e?expires=1784915100&signature=e48c79799d4dc4f5db47deae706ec08f9763e22639054f238004dd6a9e2c1c0d&req=dScvEM16m4BaUfMW1HO4zcR0rZI9juzB7DtpMiX%2FBYmufa5QRUgpGt%2FP32BC%0AyPMza6nnLa7xH6AXG%2FM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446158/c092f1383826cb871493f74169d4/97b7cb98-5da2-438e-a920-e170b8b9790e?expires=1784953800&signature=f6e304a29609a63c30117c3e29634b7adffff08052d64ea611f9f5c49bb7fff4&req=dScvEM16m4BaUfMW1HO4zcR0rZI9iurI7DtpMiX%2FBYmIMHdNmWhA6ImZeWMM%0AqPD%2BMC3R3uDKIG26pBY%3D%0A) Claude prepares the environment by running any setup commands you've defined in your repository's configuration. This includes installing dependencies, setting up databases, or running other initialization steps your project needs. If your task requires network access, maybe to install packages or fetch data, you can configure the level of internet access the environment has. Once the environment is ready, Claude begins working on your task. Claude reads your code, makes changes, writes tests, and runs commands to verify the work. You can monitor progress and provide guidance through the web interface if needed. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446156/83ecf0a5b98eddc9ffc9694c50f7/353589ce-b678-441d-8909-71b45fa2d065?expires=1784915100&signature=ded3f3f74ea8f9a928185443c1aa673b2ab53c187ea81d76765d24aecec614ef&req=dScvEM16m4BaX%2FMW1HO4zVbcTGeK4sHPUQl3YqgIJdYdnfcJ%2FzFpLMXGmLv%2F%0ASQI%2Bz9iXmCHMPRwr3TE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1786446156/83ecf0a5b98eddc9ffc9694c50f7/353589ce-b678-441d-8909-71b45fa2d065?expires=1784953800&signature=583506560c35270fc3c1afd15554608c508db5380acf1a754767ec1a718f2b53&req=dScvEM16m4BaX%2FMW1HO4zVbcTGeK5sfGUQl3YqgIJdbpBuK3MM7woPIsuBSr%0AlklhidhZUH1CfW9nqyc%3D%0A) When Claude completes the task, it pushes the changes to a new branch in your GitHub repository. You receive a notification and can review the changes, then create a pull request directly from the interface. The pull request includes all of Claude's work, ready for your review and any additional changes you want to make. diff --git a/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md b/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md index 64e9660fc..bba857d79 100644 --- a/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md +++ b/content/support/12626668-use-quick-entry-with-claude-desktop-on-mac.md @@ -40,7 +40,7 @@ When you first open the updated version of Claude Desktop, you'll see a prompt t Once enabled, double-tapping Option will open a text box where you can type your message and start a new chat. You can also click "New chat" to see your five most recent conversations. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893088365/2ca4b782dda90abea1fe5f4150af/CleanShot+2025-12-18+at+13_14_30%402x.png?expires=1784915100&signature=571820fb1e4c063f85e03d05fb11c23d4e4e4d8267541e1c176ee5665714ece1&req=dSguFcl2lYJZXPMW1HO4zWggD9pYp5mbRC8c%2FcM5c2LRkew0EOIwu6v0Y3Jg%0A2sj%2BuylLKc1BfvTbjjc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893088365/2ca4b782dda90abea1fe5f4150af/CleanShot+2025-12-18+at+13_14_30%402x.png?expires=1784953800&signature=2c26be11b8aed59852e501f4682f6152f58a616aaaae266a20e51654560a35a9&req=dSguFcl2lYJZXPMW1HO4zWggD9pYo5%2BSRC8c%2FcM5c2JTSd1xDQx3LxC%2FmSDp%0AWE9%2F%2FK2I4wvmweMba0Y%3D%0A) ### Enable the voice shortcut (optional) diff --git a/content/support/12650343-use-claude-for-excel.md b/content/support/12650343-use-claude-for-excel.md index 6710a2833..1224c2eae 100644 --- a/content/support/12650343-use-claude-for-excel.md +++ b/content/support/12650343-use-claude-for-excel.md @@ -330,7 +330,7 @@ Users can approve all of Claude’s actions via a confirmation pop-up that appea - System information: REGISTER.ID, RTD, INFO -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1849431310/ffc870a5114b4178fcd74b5cccf8/Screenshot+2025-11-25+at+11_30_10%E2%80%AFAM.png?expires=1784915100&signature=7e2b1d7a8edb8ed885e46e296157fba09d150c35d0c5877ef00f2887160216e7&req=dSgjH819nIJeWfMW1HO4zYWKaOZiI99zqAsRdssXCyBFTICOJxSs6Ix9%2B7OJ%0AbUiuriNH6qC%2F6w5eblc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1849431310/ffc870a5114b4178fcd74b5cccf8/Screenshot+2025-11-25+at+11_30_10%E2%80%AFAM.png?expires=1784953800&signature=33cb7923550507cd5b619f68fc884f66ea411cc7a7fb14b70958ee2c7ebd6d95&req=dSgjH819nIJeWfMW1HO4zYWKaOZiJ9l6qAsRdssXCyChUR8%2BjXmD89jKhzC9%0AucOGz7xGze5eT%2BLd3l0%3D%0A) While we continue to develop our offerings and improve safety measures to reduce these risks, users should exercise caution when using Claude for Excel and should not use it with spreadsheets from external, untrusted sources. diff --git a/content/support/12893767-getting-started-with-claude-for-nonprofits.md b/content/support/12893767-getting-started-with-claude-for-nonprofits.md index 9da3aa0f4..f43f99417 100644 --- a/content/support/12893767-getting-started-with-claude-for-nonprofits.md +++ b/content/support/12893767-getting-started-with-claude-for-nonprofits.md @@ -1,4 +1,4 @@ - + Getting started with Claude for nonprofits | Claude by Anthropic diff --git a/content/support/12902446-claude-in-chrome-permissions-guide.md b/content/support/12902446-claude-in-chrome-permissions-guide.md index 1dc239122..c1ebba3cf 100644 --- a/content/support/12902446-claude-in-chrome-permissions-guide.md +++ b/content/support/12902446-claude-in-chrome-permissions-guide.md @@ -22,7 +22,7 @@ Claude in Chrome uses a multi-layered permission system to give you control over Choose "Manually approve" to have Claude create a plan from your prompt, which you can approve and allow Claude to execute. The plan will specify which websites you’re allowing Claude to access, as well as the approach it will follow: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1843320727/8d1c859ae9b8e0cdb536d024bf40/9bc3d239-8eb6-4bae-a032-a236f88ee606?expires=1784915100&signature=1a0b062aad7e0ccd59ed44a4736c85debbea1b6a277bc51dace3ff637fbc029a&req=dSgjFcp8nYZdXvMW1HO4zYqyZcZE%2FYe2gN0ADj5oqFAFc%2Bl%2BvBCukA7wWPKW%0A%2BBqbHkZM8LwV%2BQmN1AY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1843320727/8d1c859ae9b8e0cdb536d024bf40/9bc3d239-8eb6-4bae-a032-a236f88ee606?expires=1784953800&signature=f290994a35a43956bd7397405d79a377ea718930d502371f8380a1bdcbf1a60e&req=dSgjFcp8nYZdXvMW1HO4zYqyZcZE%2BYG%2FgN0ADj5oqFD0OIqmeG68PSj0cKw5%0A8itSQwQjMLPXiBGvvE8%3D%0A) Note that Claude will only use the websites listed in the plan, so you’ll need to manually approve any additional access requests. @@ -50,7 +50,7 @@ When you choose "Skip all approvals," Claude doesn't pause to ask, and nothing c There are some websites on which Claude requires approval for every action. If you navigate to one of these sites, a **Permission required** prompt will appear in the extension side panel, Claude Cowork, or Claude Code where Claude will ask for permission before accessing the page or taking any action. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1847222875/162eb012ebe473ed2b852b97e223/0209db51-6057-4ec4-a9b7-8358287d46a3?expires=1784915100&signature=598a6c445be336c664fa9ca50997b107db6b8c4986af9cc5ba6418ade71e14fe&req=dSgjEct8n4lYXPMW1HO4zeoCY8IionF%2BJCxYSFHKWIjlif27KUw0EilaQY%2FV%0AbNPwj5XRaB0DL01RqSo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1847222875/162eb012ebe473ed2b852b97e223/0209db51-6057-4ec4-a9b7-8358287d46a3?expires=1784953800&signature=0ff2066af470620aaf3ce721916cf7295eb9c945971f6b5e9a4ac88c3732dca0&req=dSgjEct8n4lYXPMW1HO4zeoCY8Iipnd3JCxYSFHKWIiB9vYT3mKEjaMyYwDc%0ACeCbkx4FdlefqnbsfrI%3D%0A) ### Permission options diff --git a/content/support/12923221-using-the-blackbaud-connector-in-claude.md b/content/support/12923221-using-the-blackbaud-connector-in-claude.md index 059f2efb0..8650a114f 100644 --- a/content/support/12923221-using-the-blackbaud-connector-in-claude.md +++ b/content/support/12923221-using-the-blackbaud-connector-in-claude.md @@ -1,4 +1,4 @@ - + Using the Blackbaud connector in Claude | Claude by Anthropic diff --git a/content/support/12923227-using-the-benevity-connector-in-claude.md b/content/support/12923227-using-the-benevity-connector-in-claude.md index 0ad53a2c6..3938e08e3 100644 --- a/content/support/12923227-using-the-benevity-connector-in-claude.md +++ b/content/support/12923227-using-the-benevity-connector-in-claude.md @@ -1,4 +1,4 @@ - + Using the Benevity connector in Claude | Claude by Anthropic diff --git a/content/support/12923235-using-the-candid-connector-in-claude.md b/content/support/12923235-using-the-candid-connector-in-claude.md index d11123733..e8851404c 100644 --- a/content/support/12923235-using-the-candid-connector-in-claude.md +++ b/content/support/12923235-using-the-candid-connector-in-claude.md @@ -1,4 +1,4 @@ - + Using the Candid connector in Claude | Claude by Anthropic diff --git a/content/support/12923668-claude-for-nonprofits-partnership-success-guide-for-admins.md b/content/support/12923668-claude-for-nonprofits-partnership-success-guide-for-admins.md index 720ae25c5..504e7d837 100644 --- a/content/support/12923668-claude-for-nonprofits-partnership-success-guide-for-admins.md +++ b/content/support/12923668-claude-for-nonprofits-partnership-success-guide-for-admins.md @@ -1,4 +1,4 @@ - + Claude for nonprofits partnership success guide for admins | Claude by Anthropic diff --git a/content/support/12923901-claude-for-nonprofits-partnership-guide-for-all-users.md b/content/support/12923901-claude-for-nonprofits-partnership-guide-for-all-users.md index 87afc9ff0..63647e2fd 100644 --- a/content/support/12923901-claude-for-nonprofits-partnership-guide-for-all-users.md +++ b/content/support/12923901-claude-for-nonprofits-partnership-guide-for-all-users.md @@ -1,4 +1,4 @@ - + Claude for nonprofits partnership guide for all users | Claude by Anthropic diff --git a/content/support/12997503-team-plan-billing-faqs.md b/content/support/12997503-team-plan-billing-faqs.md index 9a8565878..b4896863c 100644 --- a/content/support/12997503-team-plan-billing-faqs.md +++ b/content/support/12997503-team-plan-billing-faqs.md @@ -18,7 +18,7 @@ Your organization's billing address determines where your invoices are sent. You If you want to use a name other than the one tied to your payment method, an organization Owner should check the "Use a different name on invoices" box when adding or updating your payment method in **[Organization settings > Billing](https://claude.ai/admin-settings/billing)**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922145253/f2e3d4e0fe43a2ea07e89244764c/image.png?expires=1784915100&signature=fa6f162af377f5bf56890a5917c4ceb007f74cf64806037ec1fdd50c9522b8db&req=dSklFMh6mINaWvMW1HO4zRZTxF7Ius7SKAqLF4ERnlWLfMDs3T47%2FIyqx5Dp%0AC3Hx9%2FobVitC54IkvT8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922145253/f2e3d4e0fe43a2ea07e89244764c/image.png?expires=1784953800&signature=11c93e2b0a791c091de8f523a390fc4205b9991ca1d623adb855bbcc4c1dc055&req=dSklFMh6mINaWvMW1HO4zRZTxF7IvsjbKAqLF4ERnlXKu15Lq%2BHZ9w8Fv7NK%0AvLfSmn7MdTKCFcgPmos%3D%0A) ## When will I be billed? diff --git a/content/support/13132885-set-up-single-sign-on-sso.md b/content/support/13132885-set-up-single-sign-on-sso.md index e2b01958f..022f22ab3 100644 --- a/content/support/13132885-set-up-single-sign-on-sso.md +++ b/content/support/13132885-set-up-single-sign-on-sso.md @@ -42,7 +42,7 @@ You can verify multiple domains for a single organization, but all domains must 3. Enter the domain(s) you want to verify in the **Update organization email domains** modal and click the “+” button: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2498843282/561d5ceb1c3a5df75bdfee8bfc3f/d2491145-362d-490b-bdcf-66a0a7656ddc?expires=1784915100&signature=5380a5ff53e246865e59af12cbe76c96ea7b81e153eee70439544f5efff77f18&req=diQuHsF6noNXW%2FMW1HO4zSdmHngw%2B8GNe3H0OpmIzWFdz3us9o4P8kBwuE4d%0Ax21Q%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2498843282/561d5ceb1c3a5df75bdfee8bfc3f/d2491145-362d-490b-bdcf-66a0a7656ddc?expires=1784953800&signature=4837b5e4ca012847c44ec9275f9ce6e59fb0818c1b095babdff6a25b2791b570&req=diQuHsF6noNXW%2FMW1HO4zSdmHngw%2F8eEe3H0OpmIzWGrTvxmv4ZJkm0SWdfe%0Aaqa5%0A) 4. Click “Save” when you’re finished adding domains. @@ -50,7 +50,7 @@ You can verify multiple domains for a single organization, but all domains must 6. Enter your domain in the text box and click “Continue”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047042630/0617a562cd28a7ff0e607d66a30b/6bd08e1d-2b65-40ab-bc79-a257153854c1?expires=1784915100&signature=d8e7ac886a9f0e637899bc27f8be795b62c5d9350fef5c257429e18a6d80f0b6&req=diAjEcl6n4dcWfMW1HO4zWHctRmeltSryoyXAW0OlXpjPMqhG2pKduiXFbQ8%0AC2TN%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047042630/0617a562cd28a7ff0e607d66a30b/6bd08e1d-2b65-40ab-bc79-a257153854c1?expires=1784953800&signature=391bbdb0459ad336b2ba9d3e2a9631e838da3c756f080fb0c7081043a7aa74be&req=diAjEcl6n4dcWfMW1HO4zWHctRmektKiyoyXAW0OlXoTQoufwPSELqeCu2m3%0AsgNT%0A) 7. The setup screen displays a TXT record. **Copy the full Value using the copy button**—it begins with `anthropic-domain-verification-` and is longer than what's visible in the box. In your DNS provider, add a TXT record with **Host/Name** set to `@` (the root of your domain) and **Value** set to the copied string. Add it alongside any existing TXT records; don't replace them. The value is case-sensitive, so paste it exactly. @@ -76,7 +76,7 @@ Clicking "Refresh" re-checks your DNS; it won't show Verified until the publishe If the record is correct and propagated but the status still shows Pending, contact Support. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047044496/b8df54a0331784cc9ae8f00112aa/bf9609c1-dc93-4665-a066-4cae2fe4b002?expires=1784915100&signature=d5ecfeb6ca8c4207e901c963a8610ef01d730532e085dcbc8e396a61bc63ef71&req=diAjEcl6mYVWX%2FMW1HO4zVjmWS0JbnG4PM2D8ZcdgrjjckL7uubLEeLsLsBh%0A48%2F0xW4LiyfYaIt53Jo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2047044496/b8df54a0331784cc9ae8f00112aa/bf9609c1-dc93-4665-a066-4cae2fe4b002?expires=1784953800&signature=3a3ae13d7fa7c43cd1e63ebbac5047715e7ed0b11a94152c70a66ae1bafaac1c&req=diAjEcl6mYVWX%2FMW1HO4zVjmWS0JanexPM2D8Zcdgrih8ICK3WyFcx%2BmaYEo%0AVa1%2FJvnBQkIwbks%2BI5M%3D%0A) **Note:** Once your domain is verified, you'll see a **Restrict organization creation** toggle under **Security** on the Organization and access organization settings page. Enable this if you want to prevent users from creating new Claude or Console organizations—including personal accounts—using your verified domains. @@ -116,7 +116,7 @@ For IdP-specific setup instructions, see: You can now choose to toggle on **Require SSO for Console** and/or **Require SSO for Claude,** on the **Organization and access** page, under the **Authentication** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312690200/bd2403586d4f6651ccd79e2a45af/b9f8d7ce-0def-49d9-bfb2-3a14352d7214?expires=1784915100&signature=e386b5f39a9d5f6437d9af40b59ebae441e92dcf7298a4b90b615a2fbefc862e&req=diMmFM93nYNfWfMW1HO4zdAICwuoA3kLItXtKivx6ZH5YO19%2Facgnh0vmE0t%0AbC%2BFcqedfHSYygGmBpA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312690200/bd2403586d4f6651ccd79e2a45af/b9f8d7ce-0def-49d9-bfb2-3a14352d7214?expires=1784953800&signature=cb51882899b925e67701e66d4cb433257f7f79157092d5d1602d5ffe3f4125c2&req=diMmFM93nYNfWfMW1HO4zdAICwuoB38CItXtKivx6ZGHN4iR9qAVsGB9YwNv%0AUv7tD7Avtb2HRfNPicE%3D%0A) When SSO is required, users must use the “Continue with SSO” option to log in to their Claude/Console accounts. When SSO is not required, they will have the option to choose “Continue with SSO” or “Continue with email.” diff --git a/content/support/13133195-set-up-jit-or-scim-provisioning.md b/content/support/13133195-set-up-jit-or-scim-provisioning.md index 66af07dc1..1e6baeab0 100644 --- a/content/support/13133195-set-up-jit-or-scim-provisioning.md +++ b/content/support/13133195-set-up-jit-or-scim-provisioning.md @@ -34,7 +34,7 @@ Use this table to help decide which provisioning mode is right for your organiza Both JIT and SCIM can be combined with **Enable group mappings** to control role or seat tier assignment based on IdP group membership. If you select either of these options for your provisioning mode, **Enable group mappings** will appear within the **User provisioning** section: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312706099/35d5d3ec149880a96bb7acec59f6/a4cfce55-86bf-40b0-b455-c8f412d48e9e?expires=1784915100&signature=86cdee875206a9fcd674be8b28989d09d4c0c5ecd2d53fc8d47d2db20b8a7bb4&req=diMmFM5%2Bm4FWUPMW1HO4zXBDQ69dDF93xFMG%2BIEvQSdjLNhb7aurfiAYdtYN%0AqF3gBSG823biSvSJ2II%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312706099/35d5d3ec149880a96bb7acec59f6/a4cfce55-86bf-40b0-b455-c8f412d48e9e?expires=1784953800&signature=424adfa716153f7178cb9a4f3fce40858b118326470061ae7950e54afb395ff8&req=diMmFM5%2Bm4FWUPMW1HO4zXBDQ69dCFl%2BxFMG%2BIEvQScqyc2SYYyPqSyrzAMo%0Atg0%2BAfDNfCNpSzWYe34%3D%0A) ### Available roles and seat tiers @@ -118,7 +118,7 @@ Once your IdP is connected, continue to Step 3. 4. Toggle **Enable group mappings** on (if it’s not already): -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312714635/b57870b51e6511c8293637bceee2/da1ceabc-b6bc-451b-9cda-24ff6aa90d02?expires=1784915100&signature=9dff8eb599ae167cfe30abc7e38ae0e3f160f3906fb027b452e93ac975197915&req=diMmFM5%2FmYdcXPMW1HO4zeBEbsHRlv9Jyb72rapuHpNG95IW2ALsmyPT9IwL%0A3LUD%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312714635/b57870b51e6511c8293637bceee2/da1ceabc-b6bc-451b-9cda-24ff6aa90d02?expires=1784953800&signature=bf1734d2340028e0170006ced0808a67aae3e1980f5a5624c1bb4de68ecc1f07&req=diMmFM5%2FmYdcXPMW1HO4zeBEbsHRkvlAyb72rapuHpMUNKsYEt%2BxaLMPkBGU%0A%2F9vl%0A) 5. In the **Enable group mappings** section, click “Add” next to each role and select the corresponding group from your IdP in the dropdown. @@ -170,7 +170,7 @@ Verify you have enough seats purchased and available to add members to your org. 4. **For SCIM:** Click "Sync" to prompt an immediate sync, or wait for the automatic sync cycle: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312717421/c97fce49ad17d4660880a05fbaaf/59fbfa2a-1072-4662-8ca5-102970d5a795?expires=1784915100&signature=ca276dd57fa3d2c19afe660a9bc4062c8691d2fc4296b2f3ed9b3beb80a3d3bb&req=diMmFM5%2FmoVdWPMW1HO4zZ9La1mkGM%2FD5hujYvMis4eAuRfYNhrayq3ljUB%2B%0A20Om%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312717421/c97fce49ad17d4660880a05fbaaf/59fbfa2a-1072-4662-8ca5-102970d5a795?expires=1784953800&signature=59211af946dda3021ce3bf83c66c8dbca3c69fa24144cad3d8907e87cedc4e28&req=diMmFM5%2FmoVdWPMW1HO4zZ9La1mkHMnK5hujYvMis4fdEJgVMs0j6RRs3DP2%0A9tTn%0A) ### I lost Admin/Owner access after enabling group mappings diff --git a/content/support/13163631-configuring-session-security-settings.md b/content/support/13163631-configuring-session-security-settings.md index 5275b8505..8baba1497 100644 --- a/content/support/13163631-configuring-session-security-settings.md +++ b/content/support/13163631-configuring-session-security-settings.md @@ -18,7 +18,7 @@ Session duration controls allow Enterprise and Console Admins to set a maximum s 5. Confirm your selection by clicking “Enable.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469436/1725e63ea1a2615948faecf4ec73/9bd276a1-7329-414d-87a1-d04dac93fff7?expires=1784915100&signature=b7c934b5ca31d03c044bc7433e8e9afc1f55d2d2386f6d72051e4f2e7a0c6c53&req=dSgvHs14lIVcX%2FMW1HO4zQNx6%2BYuQl9Rg%2F6XaftFnjwxoKKCPdxC7PY9A4Ga%0AXjdtf03%2BPNRqTN7WqYc%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469436/1725e63ea1a2615948faecf4ec73/9bd276a1-7329-414d-87a1-d04dac93fff7?expires=1784953800&signature=462543303000cfc564abec76dd56f8d87e1d57c300513f7622817fdda7774cd4&req=dSgvHs14lIVcX%2FMW1HO4zQNx6%2BYuRllYg%2F6XaftFnjyHuuTm8Y1PjT4Y1p%2BF%0AdfTBKTZDUvtiZWlfdvE%3D%0A) ### For Console Admins @@ -32,7 +32,7 @@ Session duration controls allow Enterprise and Console Admins to set a maximum s 5. Confirm your selection by clicking “Enable.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469435/7a766bbe02e61c7d8f05deb5b8f0/b0bda400-47c6-43dd-9907-131ebe180b36?expires=1784915100&signature=58e94977a8aa0be69307d2646619283b4b58a1615e274e8a9048e9beb859e065&req=dSgvHs14lIVcXPMW1HO4zWzx2L0%2FJnogXZ5D7eVpMtf0uDEBs0oH5DIONEqv%0AXUHPOfwYOLX7qwQjhLk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469435/7a766bbe02e61c7d8f05deb5b8f0/b0bda400-47c6-43dd-9907-131ebe180b36?expires=1784953800&signature=a9e232024460cebd531c9917f72d3b8489d3a716e3d70c906b09ad3b2be7a2ce&req=dSgvHs14lIVcXPMW1HO4zWzx2L0%2FInwpXZ5D7eVpMteHw7IKOxOGJI7y4vd5%0AMuoZSrv32AYj5PAl9Vc%3D%0A) ### What happens after enabling shortened session length? @@ -50,7 +50,7 @@ You can change the session duration at any time by selecting a new value from th - Sessions scheduled to expire beyond the new duration will have their expiration shortened accordingly. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469437/46ac5bc55484ca01556d87a5ade7/b01a7651-ad65-4b32-93ff-16dbc9ca97c0?expires=1784915100&signature=3a364ff3f909117a873085061b15d90f8529aee0c03ce60933d96ce96559aefc&req=dSgvHs14lIVcXvMW1HO4zZ7mWsyS5jyiA00cbyPOLDVqlpNafKAz7IYcPLrB%0ArkjUvlSb79jHiCcNdiE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1888469437/46ac5bc55484ca01556d87a5ade7/b01a7651-ad65-4b32-93ff-16dbc9ca97c0?expires=1784953800&signature=f18fcde16980fe373a7cdf1392e8ed1cf2e4866828b2643242039f459754b87a&req=dSgvHs14lIVcXvMW1HO4zZ7mWsyS4jqrA00cbyPOLDWltuJdbLVwdT34CXtx%0AebDlqGtHqGfePiH1vyY%3D%0A) ## Disabling session length settings diff --git a/content/support/13189465-log-in-to-your-claude-account.md b/content/support/13189465-log-in-to-your-claude-account.md index 3a9896495..1a161aede 100644 --- a/content/support/13189465-log-in-to-your-claude-account.md +++ b/content/support/13189465-log-in-to-your-claude-account.md @@ -2,7 +2,7 @@ When you open Claude on a web browser ([claude.ai](http://claude.ai)), the desktop app, or a mobile app, you will see two different options for logging in to your Claude account. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893216804/f2209c3ec6cf4fc2e803d13bbc9d/40520c9e-ff82-4a7c-adca-5a064fe18d8c?expires=1784915100&signature=9d439e00906b65ff2fde76f7a2f90520d0fdc5171a24fe1ee8e401854b634c8a&req=dSguFct%2Fm4lfXfMW1HO4zXg5BoaF4he1zWhrqpWiTMmbQ5yOCPkLgF1m%2BLaG%0AA0dbNlqRgMWOWTY82bI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893216804/f2209c3ec6cf4fc2e803d13bbc9d/40520c9e-ff82-4a7c-adca-5a064fe18d8c?expires=1784953800&signature=32cfdd0887fd33f41e22b095952c5f3e6236df389babc9f605b30e9a6e747bc9&req=dSguFct%2Fm4lfXfMW1HO4zXg5BoaF5hG8zWhrqpWiTMn%2BTwlD69A1QDETADRl%0AqDZh1%2FUa2AIKBjUdYjk%3D%0A) ## Continue with Google diff --git a/content/support/13325567-account-management-faqs.md b/content/support/13325567-account-management-faqs.md index c9735528e..cfd82b7c2 100644 --- a/content/support/13325567-account-management-faqs.md +++ b/content/support/13325567-account-management-faqs.md @@ -44,6 +44,6 @@ The email domain that was used to create your Team or Enterprise plan organizati Owners can remove domains by opening up the same modal and clicking the trash can icon to the right of the domain: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053873852/1cbccea3b7067e03205f2ff8546b/CleanShot+2026-02-11+at+11_16_07%402x.png?expires=1784915100&signature=b9f466e9556b5a7ba211774bfceb5a345e049a18fe6f0e67cd62b86aa2745703&req=diAiFcF5nolaW%2FMW1HO4zUrhFu%2BRaA0bkeFUnrkrQZhdvug0QC%2BUc%2FU0AmFu%0AumUghwRY77sBG9yCHsg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053873852/1cbccea3b7067e03205f2ff8546b/CleanShot+2026-02-11+at+11_16_07%402x.png?expires=1784953800&signature=d1afa33c198f66cf0cf4e8c7aba338ab06ec75f1761dea10038efc1935d18338&req=diAiFcF5nolaW%2FMW1HO4zUrhFu%2BRbAsSkeFUnrkrQZhk58PBfaUxTdtJL0c4%0A6UoY5JYIfV7AONT7Eho%3D%0A) While the account creator must use a business email address, you can add public domains like @gmail.com, @yahoo.com, and @hotmail.com as allowed domains for other members of your organization. \ No newline at end of file diff --git a/content/support/13345190-get-started-with-claude-cowork.md b/content/support/13345190-get-started-with-claude-cowork.md index 01c769c0f..503f001fa 100644 --- a/content/support/13345190-get-started-with-claude-cowork.md +++ b/content/support/13345190-get-started-with-claude-cowork.md @@ -176,7 +176,7 @@ To set global instructions: 3. Type your instructions in the text box and click "Save": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2525926874/15324ac4155d7802272e8bdef04b/ec66cd09-a4db-4f1d-8f30-226c9d126333?expires=1784915100&signature=3bd12f422498410fa53977f5f436046188e9d912353d991d11054f579cdc5e24&req=diUlE8B8m4lYXfMW1HO4zcDl6tzlN1Sx8iWjaktE940ZqmlnXHqFgtrMJdXx%0Ahj9jp63cfdDtaOrPf8o%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2525926874/15324ac4155d7802272e8bdef04b/ec66cd09-a4db-4f1d-8f30-226c9d126333?expires=1784953800&signature=aa15b6b746f894483158074a275fe221a83cd3ae341e1d18428076573ffb9472&req=diUlE8B8m4lYXfMW1HO4zcDl6tzlM1K48iWjaktE941heT3XObeIFQtpbOCc%0AN2CEkUF4HJZ%2BUtC72%2Fc%3D%0A) ### Folder instructions diff --git a/content/support/13346458-customizing-your-console-appearance-settings.md b/content/support/13346458-customizing-your-console-appearance-settings.md index 9cca94ff3..0a097a3f8 100644 --- a/content/support/13346458-customizing-your-console-appearance-settings.md +++ b/content/support/13346458-customizing-your-console-appearance-settings.md @@ -8,4 +8,4 @@ 3. Select from Light, System, or Dark under **Color mode**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922579101/ede30d38dca693c59f9c15d79e69/CleanShot+2026-01-08+at+15_45_20%402x.png?expires=1784915100&signature=7c50aa2287769a6c742657b46b926cc215c4782ab82f2de8adb11e9895f6cdd5&req=dSklFMx5lIBfWPMW1HO4zRpFC8wNTBd3O9Kw38RlAYL%2BJ0srtVFbkv%2BgNHGM%0AAi%2BKSkhYhrLYGKVNtTk%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922579101/ede30d38dca693c59f9c15d79e69/CleanShot+2026-01-08+at+15_45_20%402x.png?expires=1784953800&signature=3e6d7fd010e79674b78df1a189db39c0816eaaf37009ad61b32858c5a6d1bd59&req=dSklFMx5lIBfWPMW1HO4zRpFC8wNSBF%2BO9Kw38RlAYIv06Zr9TB9BRz1fkjl%0A3Gys7jHZWqk4K1LwcI8%3D%0A) \ No newline at end of file diff --git a/content/support/13371040-logging-in-to-your-console-account.md b/content/support/13371040-logging-in-to-your-console-account.md index 97cc6459e..60c5a0f3b 100644 --- a/content/support/13371040-logging-in-to-your-console-account.md +++ b/content/support/13371040-logging-in-to-your-console-account.md @@ -2,7 +2,7 @@ When you navigate to the [Claude Console](https://platform.claude.com), you will see two different options for logging in to your Console account. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1935026646/d90d1613a3dbe763fef5abb96e3c/image.png?expires=1784915100&signature=91d013620525fc2166945cff554251753ff0632c70f53411191cc9b82bf56730&req=dSkkE8l8m4dbX%2FMW1HO4zcrI543loYUM8vUNcPt4%2B70UAuCNqyvVoB2lj%2BIL%0AHDXFaph4oxJ2BIsZBa4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1935026646/d90d1613a3dbe763fef5abb96e3c/image.png?expires=1784953800&signature=e65f19d1f395243bbd4b9e74aac7d5efaec626cf09454293c3c33c59e25e05e0&req=dSkkE8l8m4dbX%2FMW1HO4zcrI543lpYMF8vUNcPt4%2B71U55p9iPSp4DgoXX%2BP%0Ab2qMSNwFhdKfYM96y5A%3D%0A) ## Continue with Google diff --git a/content/support/13641943-visual-and-interactive-content.md b/content/support/13641943-visual-and-interactive-content.md index 64e49d9f7..2d1d0c542 100644 --- a/content/support/13641943-visual-and-interactive-content.md +++ b/content/support/13641943-visual-and-interactive-content.md @@ -18,7 +18,7 @@ Claude can show current weather conditions and forecasts when you ask about the Claude automatically displays temperatures in Fahrenheit for US locations and Celsius for everywhere else. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544927/3a9c695b24df387ecdd766ad308c/8be9f393-dcb0-4ff8-89e8-5fa47bedaa38?expires=1784915100&signature=dd8e174ccd4b6c3b859022af6750403db9e13b5fe39ae456c5f273c5e885638f&req=diAjFsx6mYhdXvMW1HO4zXlB7Tqz1B2JdgndksVD5R3bv%2FT3KDD%2BxrswJR1I%0AvdblJTDZyvUBDWVvAvs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544927/3a9c695b24df387ecdd766ad308c/8be9f393-dcb0-4ff8-89e8-5fa47bedaa38?expires=1784953800&signature=db83fc87ffa6644a7bc2c6868adff14408c5f3239afcb9c0e5653569d73e5ddd&req=diAjFsx6mYhdXvMW1HO4zXlB7Tqz0BuAdgndksVD5R3VUY9WIk5W7%2BwtRgKj%0Aq7VGweRY1TQbNT4kb3A%3D%0A) Weather is powered by Google Maps (). @@ -28,7 +28,7 @@ When you ask about recipes, Claude can display formatted recipe cards that are e **Note:** Visual recipe cards are available on web and desktop only. On mobile, Claude provides recipe information as text in the conversation. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544929/12f4c51eda7779d65d3ea2c7ab16/d0f4a314-cff8-421a-b401-10c2bf50374e?expires=1784915100&signature=a602b8036939658c7c57265633fea4317f4ea1dcd28a5e8341dae043f30c5a04&req=diAjFsx6mYhdUPMW1HO4zUQpe7Qc01GWrIPm%2FImZVg0wqRjDaEuZk0Wbk%2B3Y%0AE1D%2BlFuQZFg231MvkLM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544929/12f4c51eda7779d65d3ea2c7ab16/d0f4a314-cff8-421a-b401-10c2bf50374e?expires=1784953800&signature=7b72c2eed1c662b203a88c49e477d39992bdd89233aba3cd3d6aaec8afc2d5c1&req=diAjFsx6mYhdUPMW1HO4zUQpe7Qc11efrIPm%2FImZVg0rqk0NfdELMqVnNaCc%0A46SnmmjOv%2B0tJD1bAnM%3D%0A) ### Custom visuals @@ -76,7 +76,7 @@ For example, if you ask Claude to help you plan a trip, it might ask you to: This content appears at the bottom of the chat. You can still type a response if you prefer. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544930/9ad066e137d11e4b559b0217e12d/9bf30d2d-1715-42b3-9da5-2a9298f41f08?expires=1784915100&signature=e65cb44708e9f14a990c13a8e00b15cf7d042b509dd3c063d1b16c791838053d&req=diAjFsx6mYhcWfMW1HO4zWmF5%2FG3aBujx4wz0C7CTALe75EYy2D1RG70YPLn%0Al7sBPKttnUO7n5Lo4t8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2040544930/9ad066e137d11e4b559b0217e12d/9bf30d2d-1715-42b3-9da5-2a9298f41f08?expires=1784953800&signature=704ee89b822f6e44e83750fb9ceaf73ae26a2230c2f1962f993838e64234ecdf&req=diAjFsx6mYhcWfMW1HO4zWmF5%2FG3bB2qx4wz0C7CTAI5pgWxh1d3CfDHYfK4%0AGMIrrgnsq4GQ63LxZHo%3D%0A) --- diff --git a/content/support/13756069-public-sector-faqs.md b/content/support/13756069-public-sector-faqs.md index e7e7dc734..b14547c62 100644 --- a/content/support/13756069-public-sector-faqs.md +++ b/content/support/13756069-public-sector-faqs.md @@ -6,7 +6,7 @@ Select your product based on both your technical/functional requirements, and also your compliance/security/deployment environment requirements. Here is a list of options: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2197717161/79965a24090029e9e58c727c3c24/pubsec-product-matrix_png+%281%29.jpg?expires=1784915100&signature=406189fdc38051eb6d2cf682c66d781fcd9e8e3110f160f7f7f77e64030a8fb1&req=diEuEc5%2FmoBZWPMW1HO4zU94Ll0sHNgx2WxtU42UVC0jl8tJS%2FXl%2B%2Bu1QzK8%0AOWodSy1LK5xLOwXkegE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2197717161/79965a24090029e9e58c727c3c24/pubsec-product-matrix_png+%281%29.jpg?expires=1784953800&signature=55288306804509eda0088edf3070e8f37208d8ec978398ae0d667aa0d8fe619a&req=diEuEc5%2FmoBZWPMW1HO4zU94Ll0sGN442WxtU42UVC2WxrGq4ouw8LxGt6%2BM%0Anf6FQrn6TcJT5JwNO5A%3D%0A) ### What is Claude for Government (C4G)? diff --git a/content/support/13837433-manage-plugins-for-your-organization.md b/content/support/13837433-manage-plugins-for-your-organization.md index e9ec5fe3b..fa8f59e15 100644 --- a/content/support/13837433-manage-plugins-for-your-organization.md +++ b/content/support/13837433-manage-plugins-for-your-organization.md @@ -106,7 +106,7 @@ Your personal GitHub token is verified to confirm you have access, then Cowork u An initial sync runs automatically when you connect a repository. After that, organization owners can opt-in to continued automatic updates per marketplace by going to **[Organization settings > Plugins](https://claude.ai/admin-settings/plugins)**, clicking the menu button in the upper right corner of the marketplace, then toggling "Sync automatically" on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2193200015/a239033a9ab19fbd39f1a0d9edce/CleanShot+2026-03-23+at+11_41_31%402x.png?expires=1784915100&signature=a1f0ddabb5c53fd75d237d18f0f6f886a3b4a9af8bc8866db0e242cb9e2108a6&req=diEuFct%2BnYFeXPMW1HO4zUYv5tnwwHoVRDH%2FtUo5ov5PM80lLd3iHNK0phqZ%0AgVDGlvWQdIQ9ILvNVVE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2193200015/a239033a9ab19fbd39f1a0d9edce/CleanShot+2026-03-23+at+11_41_31%402x.png?expires=1784953800&signature=9fea3b989ec76b6f90b77aafcc6243ba03c2912d05f82ec87b7f41ddf298dd81&req=diEuFct%2BnYFeXPMW1HO4zUYv5tnwxHwcRDH%2FtUo5ov4qBSH0QhH4S3T3xq55%0AavRrX22jivHdPzH%2FpJk%3D%0A) Enabling automatic sync creates a webhook on the connected repository. The person turning the toggle on must have admin-level access to that repository on GitHub. This is checked through their personal GitHub connection, which is separate from the Claude GitHub App installation. Without admin access, the page shows "Cannot access repository. Ensure the repository exists and the Claude GitHub App is installed," even when the App is installed correctly and manual updates work. diff --git a/content/support/13837440-use-plugins-in-claude.md b/content/support/13837440-use-plugins-in-claude.md index b8ea6aee4..be1e0a137 100644 --- a/content/support/13837440-use-plugins-in-claude.md +++ b/content/support/13837440-use-plugins-in-claude.md @@ -40,7 +40,7 @@ In Cowork, open the "Cowork" tab first, then open **Customize**. You can also upload a custom plugin file if you built one yourself or received one from a colleague. On Claude Desktop and in Cowork, plugins you add yourself are saved locally to your computer. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2100409211/fc01614dde1a616fa31ffaa9cb04/47bacf5b-a810-45b5-a468-9769f1a58ef8?expires=1784915100&signature=49e0dd1ea16de186e81f7feaee8531647f2624d4b920a7e64e78ef361f8e7e9d&req=diEnFs1%2BlINeWPMW1HO4zZF3IhHUMvBUxakFVfq5WwyynkSYmkkqWvtWai2T%0AgCXXWRq5yh63HOSX6pQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2100409211/fc01614dde1a616fa31ffaa9cb04/47bacf5b-a810-45b5-a468-9769f1a58ef8?expires=1784953800&signature=3472e49d670033498241694552fb804effbb7abe1c7a1b6066cb7933e48eb1ca&req=diEnFs1%2BlINeWPMW1HO4zZF3IhHUNvZdxakFVfq5WwzDnmTx60Jnum123qbH%0AOqypTTcwRmnaAecZw7w%3D%0A) --- @@ -48,7 +48,7 @@ You can also upload a custom plugin file if you built one yourself or received o Each plugin you install adds skills you can use while working with Claude. Type "/" or click the "+" button to see the available skills from your installed plugins, in chat and in Cowork. Click any skill to see its details. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2157396844/4a790e10f5b88df770783df1d7e9/image.png?expires=1784915100&signature=fc17cd0e6e6d1866a6990ad3720ab0256bd04bbeb5ef27869275d58fdffb4072&req=diEiEcp3m4lbXfMW1HO4zf4NBPL1gkWVmKUxugP2BQtP8UXEanPLtBjP24Lw%0AeM3m6B6X5fYGlIA%2BPI4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2157396844/4a790e10f5b88df770783df1d7e9/image.png?expires=1784953800&signature=690401df938730460f2ec36e24d2d3ee147098c6e666039417304014828fa1db&req=diEiEcp3m4lbXfMW1HO4zf4NBPL1hkOcmKUxugP2BQu13eKrRy9fHSe0FOTq%0AsSPp0tA0iALSuM0eJTI%3D%0A) --- diff --git a/content/support/13854387-schedule-recurring-tasks-in-claude-cowork.md b/content/support/13854387-schedule-recurring-tasks-in-claude-cowork.md index 2c839cf20..eafcf9d26 100644 --- a/content/support/13854387-schedule-recurring-tasks-in-claude-cowork.md +++ b/content/support/13854387-schedule-recurring-tasks-in-claude-cowork.md @@ -52,7 +52,7 @@ There are two ways to create a scheduled task: 6. You can explicitly confirm you want to schedule the task when prompted by Claude by clicking “Schedule": -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2104085399/4dda7e6f76026fd827db0b9323a9/f20635bf-15e7-4978-a213-5b9f67e9fb9a?expires=1784915100&signature=72456e76c176e8efb9330446db0d191fe002f8c51c0254258c4ec9bf2b1b7f1d&req=diEnEsl2mIJWUPMW1HO4zeLJBkHt%2Fu%2BGPx%2FSrZI7l8wc5AJtBCrIhSUxKBIE%0Am8h5%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2104085399/4dda7e6f76026fd827db0b9323a9/f20635bf-15e7-4978-a213-5b9f67e9fb9a?expires=1784953800&signature=c47c274fee7e313ff2292c5aa700ba8eab7c4a8cfdd6b8182b534aa2fc86d823&req=diEnEsl2mIJWUPMW1HO4zeLJBkHt%2BumPPx%2FSrZI7l8xPez%2BzsnnLEJhO6SnW%0AEZCO%0A) 7. Claude will create and schedule your task, and it will be added to the **Scheduled tasks** page. diff --git a/content/support/13892150-work-across-microsoft-365-apps.md b/content/support/13892150-work-across-microsoft-365-apps.md index 5145484c8..a0d5d6e64 100644 --- a/content/support/13892150-work-across-microsoft-365-apps.md +++ b/content/support/13892150-work-across-microsoft-365-apps.md @@ -34,13 +34,13 @@ Open each app and activate the add-in at least once before using the cross-app f Go to **Settings** in each of the add-ins and toggle **Let Claude work across files** on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2152216540/23e9f22eca1109ec09f2c6138191/2ef697a8-3a60-4193-bbd7-639ed91b20e9?expires=1784915100&signature=ef104b3b811556b4a8d624cb3ce972f876f084a56f37e30a440ba40d8d59606e&req=diEiFMt%2Fm4RbWfMW1HO4ze%2BVVHD8UQteQEr1GSm7Lk2gyD4ptRWcAJ%2Bnnmpn%0AepKjgxN2rtrfx3L7i%2Bo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2152216540/23e9f22eca1109ec09f2c6138191/2ef697a8-3a60-4193-bbd7-639ed91b20e9?expires=1784953800&signature=bf4392644cefd22ba233d5783e39d98ce262abf9002f3185fafdad996b17b851&req=diEiFMt%2Fm4RbWfMW1HO4ze%2BVVHD8VQ1XQEr1GSm7Lk3b6ewdwLle3im1iA6Q%0A44b%2FvveJ%2Bn%2F8f8XLacA%3D%0A) **Note:** This setting is default on for Pro and Max plans and default off for Team and Enterprise plans. You'll see connected file indicators when Excel, PowerPoint, Word, or Outlook files are linked to your session: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2152215013/db0cfd2aa4034975480d82218aad/8f11dc16-2173-4b34-a05a-e31a53b58cc2?expires=1784915100&signature=b8ffc7b1c276466c1ece7ef75cbf7bcb695b0cf8c6e1021357d22f0a355a21c0&req=diEiFMt%2FmIFeWvMW1HO4zZtV3mm%2F2tdgGgi4PNaz7vX6YL1mfODeeLEaldGZ%0A%2BiBEz1fswsF8T0vi5Ls%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2152215013/db0cfd2aa4034975480d82218aad/8f11dc16-2173-4b34-a05a-e31a53b58cc2?expires=1784953800&signature=1da3bd6278277b2f1537cb414cbca144596c81a0575d654654982c23661fcc03&req=diEiFMt%2FmIFeWvMW1HO4zZtV3mm%2F3tFpGgi4PNaz7vXhL%2FBNY%2FHjoY6tNEZs%0AsKoIoliuHPyLGCF%2F0%2BA%3D%0A) --- diff --git a/content/support/13930458-set-up-role-based-permissions-on-enterprise-plans.md b/content/support/13930458-set-up-role-based-permissions-on-enterprise-plans.md index 70d68ef13..4835f657d 100644 --- a/content/support/13930458-set-up-role-based-permissions-on-enterprise-plans.md +++ b/content/support/13930458-set-up-role-based-permissions-on-enterprise-plans.md @@ -66,7 +66,7 @@ Create roles that delegate parts of administration without granting the Owner ro 4. For each team or department, decide which features they need access to. -![Image of the Organization settings page in Claude, with a box around the People section which contains three options: Members, Groups, and Roles.](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484535492/d17b343f54f754bb3af73fe880a9/Org+settings+-+People.png?expires=1784915100&signature=9bc77cbbb74fe8e98c5c4b2ff4019e78a555229183ad39cdb2b723a2689e2d5b&req=diQvEsx9mIVWW%2FMW1HO4zVA%2FMt6ZLoirvDbmWeIt%2FcTJU1wPUUSYVM71ZUOK%0A5C8wkRPziOa6lUBmx7Y%3D%0A) +![Image of the Organization settings page in Claude, with a box around the People section which contains three options: Members, Groups, and Roles.](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484535492/d17b343f54f754bb3af73fe880a9/Org+settings+-+People.png?expires=1784953800&signature=68d0e4805e4c7f0449c9625f4a4ddba820c5eae020eb0f5b9b12baedfd605636&req=diQvEsx9mIVWW%2FMW1HO4zVA%2FMt6ZKo6ivDbmWeIt%2FcRnoKUr0DfaPVEkWl%2By%0A4XNyaVPk4ZLejO3YtEs%3D%0A) Remember: any feature you want to control per-group must be **enabled** at the organization level. If a feature is toggled off at the organization level, no custom role can grant access to it. @@ -84,7 +84,7 @@ Create your custom roles before enabling any features or migrating members. This 3. Name the role and toggle the appropriate capabilities on the **Capabilities** tab, or choose "All capabilities" or "All generally available" to grant everything at once: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2539844315/2e98adc9b24a95bf64b7ef759c94/a0c6bd31-327c-48b8-9ece-1b985eafccec?expires=1784915100&signature=af8866f55d63c2d262f4522cd5fe5541175851b050ebb13d9a14a2a8271326a9&req=diUkH8F6mYJeXPMW1HO4zfzK2OfT59w7Jsssa0E%2FK2YhJgJZTjK1hqRgLmkb%0AkZZR%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2539844315/2e98adc9b24a95bf64b7ef759c94/a0c6bd31-327c-48b8-9ece-1b985eafccec?expires=1784953800&signature=b8df310d4a61ae7ded28612604f55d61e9d6204a4a38b791b4683dba13f39fdc&req=diUkH8F6mYJeXPMW1HO4zfzK2OfT49oyJsssa0E%2FK2YDvmr9ywgPEyjWWRw%2F%0A6%2FyW%0A) 4. On the **Permissions** tab, set admin permissions for the role. See **Step 3**. @@ -114,7 +114,7 @@ Set admin permissions on each role to delegate access to admin settings, like bi 3. Select the **Permissions** tab, between **Capabilities** and **Connectors**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484538453/66f52673b2d1fc7b0d4b48ed4ff6/fbf992ce-c4a1-402e-80cd-0c8449f916bd?expires=1784915100&signature=935b2c63e355c273f5b8a3b4a3fd77bde766539e0c74a3c6c0d3e89703ef166d&req=diQvEsx9lYVaWvMW1HO4za6MibauXUeGJQR8u%2B9qQFm9agF4nhyd4HGHCxCb%0A6AaSMPHc591TczJRFi8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484538453/66f52673b2d1fc7b0d4b48ed4ff6/fbf992ce-c4a1-402e-80cd-0c8449f916bd?expires=1784953800&signature=15df27755f6d958f9a873b6d226121cc7c1937020596a3d2dafbe19075597871&req=diQvEsx9lYVaWvMW1HO4za6MibauWUGPJQR8u%2B9qQFkcx%2FH2FokjhnURPeW6%0AOfdnfA6JwAC3blWYdic%3D%0A) ### **Set admin permissions** @@ -154,7 +154,7 @@ Set connector permissions on each role to control which connectors, and which to The default settings for new roles are permissive. When creating or modifying a role, confirm the settings on each tab to avoid granting unintended permissions. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484539079/2325428311fffccd6951d5f2dc46/e4326a16-d44b-4e5d-9ecd-5c3dbbc7651a?expires=1784915100&signature=d592f5820a70019932ac899c11155e7c9c464ff8f98ccfa666b7b511ec3c4029&req=diQvEsx9lIFYUPMW1HO4zZGDXF2qCfNzHNJQDqL6ZaBH4uhVqvpyYq6%2BZxYA%0Azc876t%2Bp5ySgmQH6mTA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484539079/2325428311fffccd6951d5f2dc46/e4326a16-d44b-4e5d-9ecd-5c3dbbc7651a?expires=1784953800&signature=115c3373af668118ba4abf7d36389c841fb131540272b8ecc36e91ece9b05ea1&req=diQvEsx9lIFYUPMW1HO4zZGDXF2qDfV6HNJQDqL6ZaAviGG4ui5pL58nhzTK%0AqP1aTSEwxmo8KHsuKpg%3D%0A) ### Set connector-level permissions @@ -170,7 +170,7 @@ The **Connectors** tab lists an **All connectors** row at the top, followed by e Choosing “Always allow,” “Needs approval,” or “Blocked” applies that level to every tool on the connector. The **All connectors** row works the same way one level up: it sets a baseline for every connector at once, including any connector you add later. Use it to set a role’s default, then override individual connectors. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484540660/36fd30e963d7881bbff5b85bdf32/cc91e30c-af8c-4271-bff4-b34393d6122e?expires=1784915100&signature=54ab92287e92fce74ebb0d7e7ee38903fa276e20845e384a3edc5308172b0fdf&req=diQvEsx6nYdZWfMW1HO4za3dLAKO3YMp%2B48W%2BGCIbmcFUduvHKUeI6JGQHBi%0A%2BRO53LuJ5SFLLvIqij4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484540660/36fd30e963d7881bbff5b85bdf32/cc91e30c-af8c-4271-bff4-b34393d6122e?expires=1784953800&signature=71ff804d402d3b9ea3e7b0b89271008ccae7121204ff2aeb4db0cdc44f9fe9e3&req=diQvEsx6nYdZWfMW1HO4za3dLAKO2YUg%2B48W%2BGCIbmfIgt%2B03%2FKHaEpIk4tr%0AMH2by6wI77SL8mMhSVA%3D%0A) ### Set per-tool permissions @@ -178,7 +178,7 @@ Set a connector to **Custom** to reveal its tools as individual rows. Each tool Per-tool permissions let a role reach part of a connector. For example, with Jira set to **Custom**, its `search_issues` tool set to “Needs approval,” and every other Jira tool set to “Blocked,” members with the role can search Jira but nothing else. Claude only sees the tools you’ve granted, so asking it to create a ticket returns “I don’t have a tool for that” rather than an error. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484553274/3c0781dc9c7704a7b67d4858b88b/Screenshot+2026-06-17+at+4_28_45%E2%80%AFPM.png?expires=1784915100&signature=e68a228d3b9fbb5bafe220cc661a21637ca1c38c1c99c4d8b2e823bce2907a4e&req=diQvEsx7noNYXfMW1HO4zXcI%2BoNJBdpi1VjQ9K3ENRtqesLfH5bprjFORiCZ%0AxwDArHLqieFV%2B4NrTKY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484553274/3c0781dc9c7704a7b67d4858b88b/Screenshot+2026-06-17+at+4_28_45%E2%80%AFPM.png?expires=1784953800&signature=599af87c719353ec032151e46f5ce87cebc27c2f96e95bb562cc8ff790d3d5d0&req=diQvEsx7noNYXfMW1HO4zXcI%2BoNJAdxr1VjQ9K3ENRu310fRAdZI96DMMt%2FN%0AsjgR22oVQqL3rV0Ox4I%3D%0A) ### Review cross-role conflicts @@ -186,7 +186,7 @@ Because connector permissions are additive across roles, blocking a connector in If you have unsaved edits when you open a linked role, you’re asked to discard them first. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484556183/b644bbfba5350ae2a460117f23e3/Screenshot+2026-06-17+at+4_31_03%E2%80%AFPM.png?expires=1784915100&signature=ebabef8994b86c13c73cc1907c998fa8baa83a93f50b92494805bee68056a837&req=diQvEsx7m4BXWvMW1HO4zX8ytukM4NHWGc8KkqwXsZ4rYbX4zY056TGYtdy9%0AFEogXHj3rAu%2FLhqde8A%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484556183/b644bbfba5350ae2a460117f23e3/Screenshot+2026-06-17+at+4_31_03%E2%80%AFPM.png?expires=1784953800&signature=67ca2ed1dfd402393bae7508734031fa56116291c211426528f187fbf63a6a43&req=diQvEsx7m4BXWvMW1HO4zX8ytukM5NffGc8KkqwXsZ454LTB6QIBnGXyXoK4%0ANBiIsZEcgWqM1XRxvvM%3D%0A) ### Verify enforcement @@ -236,13 +236,13 @@ Verify model access after you've migrated members to "Custom" roles. See **Step 4. Assign each group to the custom roles you created in step 2. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260371973/b503c99ef71d8a89b7aff606511b/b1afd593-3b23-4fa9-8b9b-ee6beaf74fd7?expires=1784915100&signature=11a4437b22159fd3120f7a5aa8c1343662e25e60810615161cddb486bebbc998&req=diIhFsp5nIhYWvMW1HO4zdMu8WR%2FGwxrKwlCydrbfL4oXRgG%2F6DbXaThTquC%0AkmjFIsqO9lGB1bY4IM0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260371973/b503c99ef71d8a89b7aff606511b/b1afd593-3b23-4fa9-8b9b-ee6beaf74fd7?expires=1784953800&signature=da825d57af022319fa7576d64160112da6a9f978f8c8039b36e04b7645bcdcdd&req=diIhFsp5nIhYWvMW1HO4zdMu8WR%2FHwpiKwlCydrbfL6KfwpyR6KgNh4Juokp%0AETIWxA9e19fNY9JROts%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260372813/83ccc4784bdfc8600101bc42ec4b/6e7456ac-9887-4e04-b757-3972110fbdce?expires=1784915100&signature=0b40675d239459dbc1bd6d4bd59949f2242ae03b2aa47094e100a0b239ffee07&req=diIhFsp5n4leWvMW1HO4zQetnydeZar5czQdKdGFNsf635huSB887VdSYjCB%0Af%2FchX6%2BRf%2B6EHj025XA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260372813/83ccc4784bdfc8600101bc42ec4b/6e7456ac-9887-4e04-b757-3972110fbdce?expires=1784953800&signature=518cfe3bebf102edd6ed63472be88d65a48a04a610377a886e98547b7e21bbd1&req=diIhFsp5n4leWvMW1HO4zQetnydeYazwczQdKdGFNsfK4zOKR%2B9tPDb%2Fijsg%0A9bW6%2FIQ%2BDOjrhi1gNJ8%3D%0A) If you use SCIM directory sync, you can sync groups from your identity provider instead of creating them manually. For details on SCIM group sync, see **[Manage groups and group spend limits on Enterprise plans](https://support.claude.com/en/articles/13799932-manage-groups-and-group-spend-limits-on-enterprise-plans)**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260374677/5f9d8febb8ae25153a94d0b827b9/c8314b27-96c1-4743-ae8b-25e511181837?expires=1784915100&signature=93b23e50c44ec750be44ca9beedc5dd6a28803c9453d2b252c70ca383510e3e5&req=diIhFsp5mYdYXvMW1HO4zXzl64t86T6bKYkQn0Dd8NXINdP9oQCAQy3mB012%0AJgXjXnYq5yTpuc8Fkxw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260374677/5f9d8febb8ae25153a94d0b827b9/c8314b27-96c1-4743-ae8b-25e511181837?expires=1784953800&signature=95f12f4965af2c865c6c8e4b19b7c20b03d26905c558311201942cfa4559b6f4&req=diIhFsp5mYdYXvMW1HO4zXzl64t87TiSKYkQn0Dd8NXq%2Fqbbi4st5x2TwEho%0AjrbEnjzEE9oGcG4VC%2BI%3D%0A) **Multiple organizations under the same parent organization:** Groups are managed at the parent organization level and propagate to all child organizations. You may see members from other organizations listed in a group—this doesn't mean they have access to your organization. Custom roles assigned to a group only grant capabilities to members who are part of your specific organization. @@ -284,7 +284,7 @@ Use this path only if your organization already enabled group mappings for role 3. Save your changes. Members in those IdP groups are migrated to "Custom" roles on the next sync. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2434934020/d154818947d8d84ebf1aec8d5462/image.png?expires=1784915100&signature=436fb8fa9a59b419212d116661d6f317c0e097ce01554c42b848af661aa66424&req=diQkEsB9mYFdWfMW1HO4zQyCmEvqSEBpSnpHYy0fFQv3KQp3t4z%2BKcZUIrpv%0Amkzzk6irXiwBmkp14mA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2434934020/d154818947d8d84ebf1aec8d5462/image.png?expires=1784953800&signature=70085501eac5d967c22dd783c949d385105a654db29363a00234ed646d33261a&req=diQkEsB9mYFdWfMW1HO4zQyCmEvqTEZgSnpHYy0fFQuvVrR27wCbAa%2FtBKVh%0Awz%2BdqZSy9URgSSJZTPc%3D%0A) Members in IdP groups mapped to "Custom" roles follow the permissions of the custom roles assigned to their groups in Claude. Members in IdP groups mapped to User follow the organization-level capability settings. If a member is in groups across both mappings, "Custom" roles take precedence. @@ -300,11 +300,11 @@ Use this path if your organization hasn’t enabled group mappings. 3. Use the bulk assignment tool in the Members table to change the selected members' role to "Custom." -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260377969/ba3b7ba08518f0a50e2a84f82655/bdf1aea3-2fe7-4f3c-868b-cc35ae8b7d1d?expires=1784915100&signature=37b557c5f1baf6cce61429cefe215f9a7634be3349315883dda974f7f78c5641&req=diIhFsp5mohZUPMW1HO4zYFuwIUrhMyNlPaXg%2F0URInvVOtez0NEcYXUelhF%0A3PEzdWyPea0wvoBCdrs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260377969/ba3b7ba08518f0a50e2a84f82655/bdf1aea3-2fe7-4f3c-868b-cc35ae8b7d1d?expires=1784953800&signature=3f45f806b75a23eb216bb2e6d8bd5913208ed19d687fb190d5616a0283ea1b57&req=diIhFsp5mohZUPMW1HO4zYFuwIUrgMqElPaXg%2F0URIlYaeEGKNDXEJ%2FlGXGO%0Am0LnPXlr95eH5eRhNag%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260378309/abe25b6478c721a2f965b35361b7/beff124a-0a44-4f7f-97f8-391ce6e8c55b?expires=1784915100&signature=91e85335707892e36790f3b5d54e489692ed5bb2fdfaeb1e41ec7698ba62efaf&req=diIhFsp5lYJfUPMW1HO4zRgyEFzVUuzXZ8KPhClFzQmwO40Quy3anAIAX4Cs%0AjtfB22YXU8DXGgDTAog%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260378309/abe25b6478c721a2f965b35361b7/beff124a-0a44-4f7f-97f8-391ce6e8c55b?expires=1784953800&signature=3e393ef441649ce7010a39e3422cd6217d323eb207977a8b478ea1cdb7a1b1b3&req=diIhFsp5lYJfUPMW1HO4zRgyEFzVVureZ8KPhClFzQk3SLH%2BXWTRgyY9TbSU%0AQlOi4dkX4%2FZW3G6UrI0%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484560173/7abf3438fa3d65afa03c4a99d4d4/Screenshot+2026-06-17+at+4_34_49%E2%80%AFPM.png?expires=1784915100&signature=26bffb6a156df767d537a25e1204a3aabd1e3ff7732d1a418d0abb8acc1cb685&req=diQvEsx4nYBYWvMW1HO4zUXuwkp1KoZRiQnXWL6R1K8eUyNqb8ojOsUC6qV3%0Aa4%2BZzUU7Ln2%2FsTqcBVw%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2484560173/7abf3438fa3d65afa03c4a99d4d4/Screenshot+2026-06-17+at+4_34_49%E2%80%AFPM.png?expires=1784953800&signature=a295e566dc4ba395b341e5bb6c8a674aac3908a0bb5e67cc82b9927d68ced1cb&req=diQvEsx4nYBYWvMW1HO4zUXuwkp1LoBYiQnXWL6R1K8AFmlyxBaNKPCbCx2G%0AMdHP8ppK%2FF5f%2BUq%2FSLs%3D%0A) We recommend migrating a pilot group first—one team or department—and verifying their access is correct before expanding to the rest of the organization. @@ -340,9 +340,9 @@ Enabling a feature at the organization level doesn't mean everyone gets it—cus Navigate to the “Usage” page to assign a per-user monthly spend limit to any group. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260386576/377ac052069ff5a35b3023f50d12/dface609-9d85-4ee1-8ed3-bfe019a2bd0a?expires=1784915100&signature=cf144893fb56fb3a35cff8d20868e8eca2f6d23465cec110f5e1017ae93a36c1&req=diIhFsp2m4RYX%2FMW1HO4zfvdi5OWRAOLBMkPcsY1DF6tk67SIn5fbDGuzwip%0AWTAionxP%2BJjPA33%2BkCA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260386576/377ac052069ff5a35b3023f50d12/dface609-9d85-4ee1-8ed3-bfe019a2bd0a?expires=1784953800&signature=553b64cdc1b91dcc98688e49787cf7ccda1327724f18ccac80dfca88e15b21e2&req=diIhFsp2m4RYX%2FMW1HO4zfvdi5OWQAWCBMkPcsY1DF6TEvALgBnI9O6rTobj%0AYpnVmGmGKksbS23PdEk%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260386575/b9798bb7a2ab92024fa4d97f2ff4/7b2327e1-ab3f-41e5-8be0-77c0f35a4015?expires=1784915100&signature=df03016940d72b0ba4ea0c93b038d09b40daaac60348ae216f9c76fe86205d4a&req=diIhFsp2m4RYXPMW1HO4zW55wNWQwVQwJuVz%2B3EZKJ7fPgaR12UbOcKYOkRb%0A9yspVme7q3uv7ppx5Xs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2260386575/b9798bb7a2ab92024fa4d97f2ff4/7b2327e1-ab3f-41e5-8be0-77c0f35a4015?expires=1784953800&signature=a60004c36a6e0019241656a8c9538ea607e8e6050d6cf2263e7752ca0a1102c5&req=diIhFsp2m4RYXPMW1HO4zW55wNWQxVI5JuVz%2B3EZKJ7kYyHjYeLsKNYL8xBk%0AZ%2Bpar%2Bp8f4%2B7dC%2F7jqk%3D%0A) Note the following precedence rules: diff --git a/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md b/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md index dbb97e355..aff73933c 100644 --- a/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md +++ b/content/support/13947068-assign-tasks-from-anywhere-in-claude-cowork.md @@ -48,11 +48,11 @@ Follow these steps to get started: 5. You’ll land on a page describing the functionality. Click “Get started”: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169954086/419674f781edb2977b93cce062b4/93b1893c-d79a-4eb6-b2f1-2fe3e043bd90?expires=1784915100&signature=9bb05ba593effac4e7ce9e9033671130f6da111bd7545361e8d7fb60fb63473f&req=diEhH8B7mYFXX%2FMW1HO4zSZP0paCFAv%2BB32drIe5EDlIJtzG0QR%2FKgmUqlrM%0AxW%2Ff%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169954086/419674f781edb2977b93cce062b4/93b1893c-d79a-4eb6-b2f1-2fe3e043bd90?expires=1784953800&signature=dee1b1fe92aa96ee7c2fbbbdebea9f235800b3bbe76c2e8d3f6de0c81839f1e9&req=diEhH8B7mYFXX%2FMW1HO4zSZP0paCEA33B32drIe5EDlCy8CtkuusfXJFdIXc%0AbuwO%0A) 6. On the next screen, you can give Claude access to your files and keep your computer awake by toggling those on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169955082/de4053ee0eab8fcb9263584bb171/d39b77da-1a69-4682-9fdb-7ed488f236b0?expires=1784915100&signature=194dc6a2e44bceed0f2b7eee48ccfcb676154b17fa4a23b02198f2114e045639&req=diEhH8B7mIFXW%2FMW1HO4zaZWs96RXAQfepuGRb1rD3JJXk%2Bq08oKajIwub%2FL%0AMI7b%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2169955082/de4053ee0eab8fcb9263584bb171/d39b77da-1a69-4682-9fdb-7ed488f236b0?expires=1784953800&signature=6aaa1bd95b82b8b9fbe285d0660182efa4f670aba49956fc2bc05f793a65f548&req=diEhH8B7mIFXW%2FMW1HO4zaZWs96RWAIWepuGRb1rD3JteP%2Bc86HB6iXS9zHh%0A3nSv%0A) 7. Click “Finish setup.” diff --git a/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md b/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md index 0c2060780..48282718b 100644 --- a/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md +++ b/content/support/14116274-organize-your-tasks-with-projects-in-claude-cowork.md @@ -22,23 +22,23 @@ Cowork is available for paid plans (Pro, Max, Team, Enterprise) on: Find **Projects** in the left navigation panel and click the “+” button to see the three different ways to create a project: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183720240/6f6ef438913391703598d86d606c/CleanShot+2026-03-20+at+09_11_43.png?expires=1784915100&signature=db823a70658523c6faf5fba5dbc4d79eb8acc3bfbd8abc583336a546ba570a0d&req=diEvFc58nYNbWfMW1HO4zcOgiwGz0C10ZwSvwegvtgxDV4tNJoJs82qLQqsb%0ABqGIF8ICJNuTmm5zePA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183720240/6f6ef438913391703598d86d606c/CleanShot+2026-03-20+at+09_11_43.png?expires=1784953800&signature=2e3f441625e6d2bc0fed724e415846941b20971d577a3e82d35140adfc23197f&req=diEvFc58nYNbWfMW1HO4zcOgiwGz1Ct9ZwSvwegvtgztKOY9lnyM30wOkVE0%0AYpTs8BrBpJuMpzAIm0A%3D%0A) ### Start from scratch Selecting “Start from scratch” allows you to set up a new folder with instructions and files: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177090014/07832b50003cf7fd3b4e9c7c448b/3385d9b8-c3e7-42b9-ae3f-4d213baa53a7?expires=1784915100&signature=c9e198fba3b8e016060e83ff3160956a887d4f0e7c24595b81fb1306fd17aed9&req=diEgEcl3nYFeXfMW1HO4zZCoQ4lMT3CXvb0suCMAnj0YT7BPXxxHBkYJMJAj%0AnpcB4SZg%2FiIEs3aYx54%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177090014/07832b50003cf7fd3b4e9c7c448b/3385d9b8-c3e7-42b9-ae3f-4d213baa53a7?expires=1784953800&signature=a6e3de0ec28050857f49d07247bba300f0e95a90367a2e26110e4e8437c33cfd&req=diEgEcl3nYFeXfMW1HO4zZCoQ4lMS3aevb0suCMAnj0Lpl%2BcL1%2F9QVT6ibmM%0AzAM8RXEDr%2BxzPCb3MhE%3D%0A) ### Import from a Claude project After selecting “Import from project,” you’ll see a “Search projects in Chat…” field: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183717962/acdc11bcc825ae76a13f508365bc/CleanShot+2026-03-20+at+09_12_08.png?expires=1784915100&signature=79b5ae617903cea502cbe1d45d826d13cae382c5131e24e6e7dbf42aa402148c&req=diEvFc5%2FmohZW%2FMW1HO4zQQ7UGdUy50ejggUT7FIJz8jepMxXFlSgx%2B1PpGq%0AYzNOU%2FjwPeBYM6x33kg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183717962/acdc11bcc825ae76a13f508365bc/CleanShot+2026-03-20+at+09_12_08.png?expires=1784953800&signature=435d0d21d71dfa58f604686a93370b73a78d6049e44a0da068781bc42b793c03&req=diEvFc5%2FmohZW%2FMW1HO4zQQ7UGdUz5sXjggUT7FIJz%2Bywq8%2F3dN5efq9daEp%0AytHTgv%2FoCrrufo%2F5ZmY%3D%0A) Clicking into the field will display a drop-down showing your recent projects, but you can also use it to search all your projects. After you select a chat project (bulk upload is not supported), you can name the new Cowork project and choose where to save it on your computer: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183727973/7a25430123d9e13e7c3cdd411f70/CleanShot+2026-03-20+at+09_13_41.png?expires=1784915100&signature=e129f5fb423ebcfd1b70386f3344027a55f70f5c37bc64a64a1fdd0d8d780b6b&req=diEvFc58mohYWvMW1HO4zU%2FKAidP%2FSbNI7f%2FdY0VL6iMfyWu%2Bo9myXbKROfS%0A3EkCZptk4VyP5guGoWM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2183727973/7a25430123d9e13e7c3cdd411f70/CleanShot+2026-03-20+at+09_13_41.png?expires=1784953800&signature=deeb6bf683a708dffcb3b5d5cc9bb40487b4164bde91c9633c396db51e6ada89&req=diEvFc58mohYWvMW1HO4zU%2FKAidP%2BSDEI7f%2FdY0VL6itO5Z9qSyFbRP25Bdk%0AtP5ru3n5C5YplIThj18%3D%0A) Clicking “Create” will transfer the files and instructions from your existing Claude project and create a new Cowork project. @@ -46,11 +46,11 @@ Clicking “Create” will transfer the files and instructions from your existin If you select “Use an existing folder,” you’ll be prompted to pick a file to use as context for the new Cowork project: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087935/2f0052dae601d0b7fecdc029e1c3/2e3ca9e7-23b1-436e-bbdb-edcd31c41f15?expires=1784915100&signature=f3d40f64d418b8bda76d19e40602ef2ed1e713b72aad62a7398d7d2f57345eec&req=diEgEcl2mohcXPMW1HO4zejrnzLfFCZeuv8e2Xj2xOUE7VPaeouEQjQrKEDf%0AvrnnY8pZIiZ9O8ewak0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087935/2f0052dae601d0b7fecdc029e1c3/2e3ca9e7-23b1-436e-bbdb-edcd31c41f15?expires=1784953800&signature=dce7bec771fceb0314d45378caf943ea312a3d30628623f810e637ffbd8136d3&req=diEgEcl2mohcXPMW1HO4zejrnzLfECBXuv8e2Xj2xOXr3Erhh8ik0YaBeQpS%0AdOa%2B41efbY4gsNbOB3k%3D%0A) After selecting a folder, you can name the new Cowork project, choose where to save it on your computer, add instructions, and attach any additional files. Click “Create” to start using your new project: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087937/f59dbe3fc28448a9597ea097cb4d/96a59acb-4054-4b4b-a208-751f9711f535?expires=1784915100&signature=635b803976dbc6997751df14a380e724bc3587d3400620766ceab16605ad612f&req=diEgEcl2mohcXvMW1HO4zUq4V%2Be9gqc7MfnqHouW6MJXQ3tQArCSPkbhO2Nu%0AFVnBVEKtzsu8UsNY%2B0w%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2177087937/f59dbe3fc28448a9597ea097cb4d/96a59acb-4054-4b4b-a208-751f9711f535?expires=1784953800&signature=f4455f6419589238979c06d3a3337f1a5f16561dc3f9370579a9fbd9a64492e2&req=diEgEcl2mohcXvMW1HO4zUq4V%2Be9hqEyMfnqHouW6MKfYS0hnWAUSbLSCAnG%0AdF5SK7RDnHgeTU5xxpo%3D%0A) --- diff --git a/content/support/14128542-let-claude-use-your-computer-in-cowork.md b/content/support/14128542-let-claude-use-your-computer-in-cowork.md index 5540c2872..71d9e76ef 100644 --- a/content/support/14128542-let-claude-use-your-computer-in-cowork.md +++ b/content/support/14128542-let-claude-use-your-computer-in-cowork.md @@ -40,7 +40,7 @@ If your work involves a physical machine, Claude keeps working while you step aw Claude asks for your permission before accessing each application. You’ll see a prompt and must approve before Claude can interact with that app. Some apps are off-limits by default. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2193297849/243cf7bd2386d92a253c2cec7d32/46cb6fcb-c0ee-4d1c-9974-9c1c1058c81c?expires=1784915100&signature=2f33f20663709db435d112aff015f0832b4a6fa5e1827f68515eafad200a6ca5&req=diEuFct3molbUPMW1HO4za8%2BRniLQiWdOFMEfKzd96q6h%2BGkndjSEeec5iRQ%0A2KTizT3ehYP8gOzDtXY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2193297849/243cf7bd2386d92a253c2cec7d32/46cb6fcb-c0ee-4d1c-9974-9c1c1058c81c?expires=1784953800&signature=c2e907c2cdce581d9890cdd3b73c81aeacd889c76724a4596478a134bd4999c4&req=diEuFct3molbUPMW1HO4za8%2BRniLRiOUOFMEfKzd96p7nqRcP%2BlE0uxCt%2Bzv%0AubZf5xYpHLFBCi5L59s%3D%0A) Claude is trained to avoid risky operations—like transferring funds, modifying or deleting files, or handling sensitive data—and to flag signs of prompt injection. However, these safeguards aren't perfect, and Claude may occasionally act outside these boundaries. @@ -128,7 +128,7 @@ To start using computer use: 3. Find the **Computer use** toggle and turn it on: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2193911341/630e6df3b08b27d1c7b4f1ca6a1f/image.png?expires=1784915100&signature=f72148d242b5621aa8e2acf6c06b3daac3cfef5cc7d7a30369f0f17aab61281d&req=diEuFcB%2FnIJbWPMW1HO4zR8GoUB1RE8xjdPXX%2BaSOrG2MUOfobtAQmENVqAV%0AXDjw%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2193911341/630e6df3b08b27d1c7b4f1ca6a1f/image.png?expires=1784953800&signature=5e4516b47af521d79e01c3b119c58dd82c5fcc89e1e72fe5b03dbd4599a4f15d&req=diEuFcB%2FnIJbWPMW1HO4zR8GoUB1QEk4jdPXX%2BaSOrGgysvPc%2FDnxHH%2BMeJC%0AXV4c%0A) 4. Open Cowork or Claude Code in the desktop app and start a session. diff --git a/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md b/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md index f385315a3..a4a8a6799 100644 --- a/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md +++ b/content/support/14499648-how-scim-sync-works-for-enterprise-organizations.md @@ -50,7 +50,7 @@ You can trigger a manual sync from two places in your admin settings. 2. Click "Check for updates" under **SCIM sync**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312613548/44cd5970ee3c3b2c7f8dcd592d71/image+%2824%29.png?expires=1784915100&signature=2299168b3d9f070cf1eeefd7210e9b777d8f07bd37de0db582f777060d930831&req=diMmFM9%2FnoRbUfMW1HO4zW4gbDGkNMi1rgfl7PnOiukSCElrTDOwcsIX%2Fvd%2F%0AjMaq%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312613548/44cd5970ee3c3b2c7f8dcd592d71/image+%2824%29.png?expires=1784953800&signature=4365ca5cd0ae7c3ab0de3f2c4ebc93e3cef54c990b40381aa7ec4ddd87a9f5dc&req=diMmFM9%2FnoRbUfMW1HO4zW4gbDGkMM68rgfl7PnOiumFkLDpbshQTqS%2FWv4q%0Ac4Zr%0A) 3. Select whether to sync members, groups, or both. @@ -62,7 +62,7 @@ You can trigger a manual sync from two places in your admin settings. 3. Select whether to sync members, groups, or both: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312608119/e4b0ef4f309f3c4eac8311a6ef47/image.png?expires=1784915100&signature=72e030037bf28d16d820eeef181eec2acf7f3a62c5cde23adc067904cda52b32&req=diMmFM9%2BlYBeUPMW1HO4zX%2F4fr75yj4e43OpyTHzM9THYNRUEL26oQhREBWS%0AMOYz%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2312608119/e4b0ef4f309f3c4eac8311a6ef47/image.png?expires=1784953800&signature=569a2504ff972f0a77999337f579874e2c5d6b359ad7a1c471b1986bab27b326&req=diMmFM9%2BlYBeUPMW1HO4zX%2F4fr75zjgX43OpyTHzM9S4MJQ4Ew1TGS9crys2%0AmPT0%0A) **Note:** If you trigger a manual sync while background changes are processing, your organization takes the most recent change for each member or group. If multiple changes are queued for the same member or group, you may need to resync again to make sure everything applies correctly. diff --git a/content/support/14503613-sso-login.md b/content/support/14503613-sso-login.md index 2122c73b7..583d95078 100644 --- a/content/support/14503613-sso-login.md +++ b/content/support/14503613-sso-login.md @@ -47,9 +47,9 @@ Before configuring your Identity Provider (IdP), you must verify ownership of yo 3. Wait for the DNS propagation. Once the platform detects the record, the domain status will update to “**Verified**.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256015862/476131c3139aec4db01b96127544/10c7a165-8b26-4443-b064-9d659659c65e?expires=1784915100&signature=86efdecd6140eb128607b382e7ffdf551f960a6cfedfd4c3f4420d0e76197130&req=diIiEMl%2FmIlZW%2FMW1HO4zdpfuC6BG1aO006zz1SmF9XW0SKNEA2OG1zDKjrJ%0A6Fg0qZr%2BelaiR1r%2B43s%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256015862/476131c3139aec4db01b96127544/10c7a165-8b26-4443-b064-9d659659c65e?expires=1784953800&signature=4475cf9392e6666ffed47fdfb90115da70d9e9224692e60a3ded4ba91d8facd0&req=diIiEMl%2FmIlZW%2FMW1HO4zdpfuC6BH1CH006zz1SmF9VpLnhQc9zZ8JAm9HBQ%0A0XNb7MQHc5ZXst5qmOg%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256025910/a82e2de9382824fa9db7666f67c4/CleanShot%2B2026-04-09%2Bat%2B16_25_20-402x.png?expires=1784915100&signature=a7983cab6dcb536a2dd5a4c36852caf1aa389e53cbcaca392fa96bb5a0844325&req=diIiEMl8mIheWfMW1HO4zV%2BGnR02QrpGx57dwYq5DdKNk9avyxrRQcIEeW%2Fq%0Ak9%2F3M23WHDgvWkhXksk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256025910/a82e2de9382824fa9db7666f67c4/CleanShot%2B2026-04-09%2Bat%2B16_25_20-402x.png?expires=1784953800&signature=18134d0763dc1029d877a15bab082c6806d881eeaa8862365419a53b4054191c&req=diIiEMl8mIheWfMW1HO4zV%2BGnR02RrxPx57dwYq5DdLbp0JdaSw6wf1dUboK%0A8VXi9Es%2BkBNzAxMMFoE%3D%0A) **Important:** Each domain can only have one identity provider. If multiple organizations share a single login domain, IT administrators from both organizations will be able to modify login settings. Contact **[Anthropic Support](https://claude.fedstart.com/support)** for assistance with multi-organization setups. For more details about multi-organization setups, see our **[SCIM provisioning guide](https://support.claude.com/en/articles/14503643-set-up-scim-in-claude-for-government)**. @@ -77,7 +77,7 @@ Once your SAML application is set up in your IdP, provide Anthropic with the det - Claims Information — Attribute mappings for user name and email. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256004522/a97b91092b393e93b2d7779f63e6/2db86a6d-1582-419e-925e-cbc914468fa1?expires=1784915100&signature=f1990fb0db6f8be6ed7dd0a7d6b6ce74e7043e50d514f8f291da388c474ab7a7&req=diIiEMl%2BmYRdW%2FMW1HO4zQE9JrO%2F%2BxH6bfNHh%2Fvd8OGpSNye3tKzxyoh8dJD%0AU2Ep3t5uL0vMwYkmOFM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256004522/a97b91092b393e93b2d7779f63e6/2db86a6d-1582-419e-925e-cbc914468fa1?expires=1784953800&signature=ce0f7a34362ae63e45ca9dbe553539de88835e1fb436b26bc367c8b3cb28cc60&req=diIiEMl%2BmYRdW%2FMW1HO4zQE9JrO%2F%2FxfzbfNHh%2Fvd8OHPNyY68gJPCgDkoQ6p%0AX%2FDpD%2FbyXtnooNcllKA%3D%0A) **Tip:** Using a metadata XML file: Most IdPs let you download a metadata.xml file. Upload it on the identity settings page to auto-fill the Signing Certificate, IdP Entity ID, and SSO URL. Some IdPs (like Entra ID) also include claims information in the metadata file; if present, the system will suggest field mappings automatically. diff --git a/content/support/14503643-set-up-scim-in-claude-for-government.md b/content/support/14503643-set-up-scim-in-claude-for-government.md index bf6c6a77d..f4874a8af 100644 --- a/content/support/14503643-set-up-scim-in-claude-for-government.md +++ b/content/support/14503643-set-up-scim-in-claude-for-government.md @@ -41,7 +41,7 @@ With SCIM, login and provisioning are separate. Your IdP tells Anthropic who sho **Important**: Store this key securely. It cannot be retrieved after you leave the page. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256040196/c3b045028c4c2edef9172b6fb424/9a71258e-ae73-41e3-83a2-d24a240ac0ae?expires=1784915100&signature=629f51342f8b13efccaf69fc2d2a18a72e514cc0a7df00ed66c3ddeb3437aba7&req=diIiEMl6nYBWX%2FMW1HO4zSrRlagWaDMVyIvvU1hav7NstMDM9%2Bb1YhkRA03p%0Aw8gnJdQrrj3XhEW1tjA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256040196/c3b045028c4c2edef9172b6fb424/9a71258e-ae73-41e3-83a2-d24a240ac0ae?expires=1784953800&signature=0f556ca3dbe42aaf14ba24bc7848042f8b3a9793e83dcbe4796c08126bc13a64&req=diIiEMl6nYBWX%2FMW1HO4zSrRlagWbDUcyIvvU1hav7MgSk7cQAkp%2BJvwCcvG%0ARoHJjA%2BcBTSyJFIrCEQ%3D%0A) ### Step 2: Configure SCIM in your Identity Provider @@ -67,7 +67,7 @@ After enabling the integration in your IdP: **Warning**: When you fully enable SCIM provisioning, any users who were **not** synced via SCIM will be removed from the organization. Confirm that all expected users appear in the sync before proceeding. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256040198/da9188b8b968d5f900cc08e9ceb2/3814ab37-c3fa-4256-8d16-49c1e1b4c654?expires=1784915100&signature=e4d27b23db1606e25f48eb57e2efcecbb9959259f111f534f45e827fdfedacd8&req=diIiEMl6nYBWUfMW1HO4zeLvMlxmS0n7oWupW8zJgMr%2Fv2fyBCPuTHNwentg%0AxgQffumNgOHcqwT6OQo%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256040198/da9188b8b968d5f900cc08e9ceb2/3814ab37-c3fa-4256-8d16-49c1e1b4c654?expires=1784953800&signature=6c3466093ef0a7844c6b6b418196df346487ba1d9015b8214292da6c0f1ec2eb&req=diIiEMl6nYBWUfMW1HO4zeLvMlxmT0%2FyoWupW8zJgMo%2FU61kzamIpKmFx3YD%0A5EIqZ7Z2Zi9FFzuHsuc%3D%0A) ### Step 4: Map groups to roles and seat tiers @@ -83,7 +83,7 @@ SCIM provisioning uses IdP groups to assign roles and seat tiers within Claude f 3. Save your mappings. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256056441/f7eb09bba549e9861fc81b961cc7/2760fa5b-87bb-491f-9354-ca3cd2bc4475?expires=1784915100&signature=e8335ef60093143bbf8207ba77843ba55a9a365e682e4d9667ef495eff108fff&req=diIiEMl7m4VbWPMW1HO4zaWhsXcrs0Iah340B79BYGZCi2UMDXOiSqBxyyK2%0A3nmtcSUkTDQG%2Bq3ACeg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256056441/f7eb09bba549e9861fc81b961cc7/2760fa5b-87bb-491f-9354-ca3cd2bc4475?expires=1784953800&signature=b00a6e7a1850c5352c8a0b47ca1dc173a640f5867c482aa5cb0e8359d4c9c19a&req=diIiEMl7m4VbWPMW1HO4zaWhsXcrt0QTh340B79BYGaXSGjyTpbrXp9PKsPE%0AVip2tDmZ2%2FhY6CUkLws%3D%0A) If you manage multiple organizations under a single parent (see below), each organization maintains its own role and seat tier mappings. Switch between organizations using the organization selector in the bottom-left corner of the page. diff --git a/content/support/14503775-mcp-web-search.md b/content/support/14503775-mcp-web-search.md index b39a544e0..7ea05cd88 100644 --- a/content/support/14503775-mcp-web-search.md +++ b/content/support/14503775-mcp-web-search.md @@ -4,7 +4,7 @@ The Web Search connector gives Claude the ability to search the public internet For questions about web search in commercial Claude, see **[Enabling and using web search](https://support.claude.com/en/articles/10684626-enabling-and-using-web-search)**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256120763/7652c6c669446113eae75f3c5977/9c74d57e-aaa2-4f1c-bfe4-2b9b87fd41ab?expires=1784915100&signature=1c1c90a42ee750b5b8825ee76537cfcd8ff19c4a0ea7c8e3753a226bf3001331&req=diIiEMh8nYZZWvMW1HO4zQvFLLZajMH5M%2Fw5SJgC29HMZIOlGF5n6e3NM5xJ%0AyfTG4brlEXQjEtm4Ot0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2256120763/7652c6c669446113eae75f3c5977/9c74d57e-aaa2-4f1c-bfe4-2b9b87fd41ab?expires=1784953800&signature=6d3eca617adf2afce6ca1fec47e8124db85b13e2f969acb5664cb2a79e3e365c&req=diIiEMh8nYZZWvMW1HO4zQvFLLZaiMfwM%2Fw5SJgC29G97P6CSV0wUJCqOfNo%0AcePFiT53QffVtEQ2jK8%3D%0A) ## How Web Search differs for Claude for Government diff --git a/content/support/14604397-set-up-your-design-system-in-claude-design.md b/content/support/14604397-set-up-your-design-system-in-claude-design.md index c829d22af..202609a87 100644 --- a/content/support/14604397-set-up-your-design-system-in-claude-design.md +++ b/content/support/14604397-set-up-your-design-system-in-claude-design.md @@ -72,7 +72,7 @@ To validate your design system, create a test project and see if the output matc Once you’re satisfied with the design system quality, make sure the “Published” toggle is switched on. After publishing, any projects created from the Claude Design homescreen while in your organization will use your design system instead of the default. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2287527007/b1c46cb8dba4cd7e8bbea85fb0c3/2819c6cf-9ce1-4df5-84c8-feae0164bf2e?expires=1784915100&signature=988aad6fffe842798f81a775ca6ec114350acba1c6131858edfde5f30ae79ec1&req=diIvEcx8moFfXvMW1HO4zWNHF%2FaCDz4WIQKNMXlu0T%2BzRjjnYI59ShW0eFg%2B%0AcxjJ7h%2Bomyo7g%2FNVZ7I%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2287527007/b1c46cb8dba4cd7e8bbea85fb0c3/2819c6cf-9ce1-4df5-84c8-feae0164bf2e?expires=1784953800&signature=f8900fb5252dc9a078554d2c409ce43890d683a4a91e690b40c7f283ee16df18&req=diIvEcx8moFfXvMW1HO4zWNHF%2FaCCzgfIQKNMXlu0T%2BGLOmAoZxhWIjzcv6w%0ATs55U6ep%2BNBfHuqPGT0%3D%0A) --- diff --git a/content/support/14604416-get-started-with-claude-design.md b/content/support/14604416-get-started-with-claude-design.md index 51223c5e3..b9006e5f0 100644 --- a/content/support/14604416-get-started-with-claude-design.md +++ b/content/support/14604416-get-started-with-claude-design.md @@ -153,7 +153,7 @@ Use the “Export” button in the upper right corner when viewing your project - Send to Claude Code Web -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2287510952/553a03eec5cea7b9eff53b473552/6dc33363-38b1-444e-96bb-f8218b588173?expires=1784915100&signature=b94071ab2e04c95096c4fe2bb7bb99d5bf274f9db1fabd39303fa331dac5babc&req=diIvEcx%2FnYhaW%2FMW1HO4zQFD4ShTmmh1nfz9ljnuyXQw5KXocvDCvBaSMHpl%0AuReRYdd2W1PLZ00CFsg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2287510952/553a03eec5cea7b9eff53b473552/6dc33363-38b1-444e-96bb-f8218b588173?expires=1784953800&signature=0dbc3b24fe6da69f0c0594e69889684136d39e460944701276bb87111661f083&req=diIvEcx%2FnYhaW%2FMW1HO4zQFD4ShTnm58nfz9ljnuyXStjiaKWDbjkN9SEnQb%0AucqQEuAxHAVQWMLdgmY%3D%0A) You can also share projects within your organization using a shareable link. Sharing options include view-only, comment, and edit access. diff --git a/content/support/15330088-set-a-default-model-for-your-organization.md b/content/support/15330088-set-a-default-model-for-your-organization.md index 61c1b4f4b..4866a7d2a 100644 --- a/content/support/15330088-set-a-default-model-for-your-organization.md +++ b/content/support/15330088-set-a-default-model-for-your-organization.md @@ -46,7 +46,7 @@ The organization default applies to every member. To set it: 4. Click “Save changes.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514722139/d05c94072a41ea9090ecf386c53e/c32ee31d-954a-4551-a2da-91677fbd0b6f?expires=1784915100&signature=8c6cafafb6f1c2256792bfb432db845ab22761156e8af2dde3d2d156fe84274d&req=diUmEs58n4BcUPMW1HO4zelOdzZJLE1GfdGVZ664dGHLZCVlVai%2FAcLKWN5O%0AAP5zEj7qScMO4WLqpg4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514722139/d05c94072a41ea9090ecf386c53e/c32ee31d-954a-4551-a2da-91677fbd0b6f?expires=1784953800&signature=f83a44a79cf03f52bb4c1ee877ad6db0fc5e8449a3e610a7b786085d85cd69b4&req=diUmEs58n4BcUPMW1HO4zelOdzZJKEtPfdGVZ664dGGo2dL%2BfFr6p37%2BkTLo%0AraSMJfevcqDGURMBR2A%3D%0A) --- diff --git a/content/support/15694740-manage-model-access-for-your-organization.md b/content/support/15694740-manage-model-access-for-your-organization.md index 1950e6390..561ec8c61 100644 --- a/content/support/15694740-manage-model-access-for-your-organization.md +++ b/content/support/15694740-manage-model-access-for-your-organization.md @@ -42,9 +42,9 @@ The organization setting is the ceiling, so a role can’t grant access to a mod If any custom role uses the model you’re disabling as its default, you’ll be prompted to change that role’s default before the change can be saved. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693921/02ea72756f5163f14e5d158516dc/69102088-cd86-498e-97aa-c8a6e0004419?expires=1784915100&signature=146bcd5e3e944d1c865fb5fb5e9c31dc7a37c42e15f8573e057c30610779d25c&req=diUmEs93nohdWPMW1HO4zXlxEuOwVtRWQf5Pb7M2Q0tUQ%2BRcBZSQtv2tl8n5%0A2it%2BX0OxrmrRoxW4JAg%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693921/02ea72756f5163f14e5d158516dc/69102088-cd86-498e-97aa-c8a6e0004419?expires=1784953800&signature=279745aa92712ca0ed3b32724808941c6e51659f777c04240968f5f1f4fdf344&req=diUmEs93nohdWPMW1HO4zXlxEuOwUtJfQf5Pb7M2Q0tTXCsdlQ3h9QWQwuNG%0AzHpN4JDhbqCw8R5OtOc%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693922/bfc5de6626eb19dca1d7caf818ca/c3cd8bb6-f86c-4d01-92da-6ae4ca966662?expires=1784915100&signature=80265c361694684c96e1e9e285c9ed6d54db62cd64b6b39d822482da4fd7aeb0&req=diUmEs93nohdW%2FMW1HO4zTqNsY3MR11WAod9uc510ly9bG7x22YipiLGKwW5%0AKmjpspgvmqrUm4c1Aa0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693922/bfc5de6626eb19dca1d7caf818ca/c3cd8bb6-f86c-4d01-92da-6ae4ca966662?expires=1784953800&signature=c3d77fa9c28740461dc41373b28dbcf59455959c828f48e09717b9502b3c6bac&req=diUmEs93nohdW%2FMW1HO4zTqNsY3MQ1tfAod9uc510lyUKOZROEk5nqjFK6OL%0AGbjxANRv3uoNXZLKDfU%3D%0A) --- @@ -62,7 +62,7 @@ If any custom role uses the model you’re disabling as its default, you’ll be Only models the role grants access to can be selected as that role’s default model. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693923/880665a87dbd4776cf19d6063a37/29d30c6d-f9fc-408c-8c72-4320c6d88d14?expires=1784915100&signature=27b350344b59be3decf8cbc6a644d2b0bf1ced81f751d27bfdc43162d0acf3f4&req=diUmEs93nohdWvMW1HO4zYj9SfEK7IS8XsqpNqvyFRJLV2tOL4DUs0y%2F%2F5AO%0A53BDyYRJV0Xgz8p1I8E%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693923/880665a87dbd4776cf19d6063a37/29d30c6d-f9fc-408c-8c72-4320c6d88d14?expires=1784953800&signature=b9da4c85bb074b3ba13c23dd32fe5d6fa99f8856548420de55705ff4a6c17b82&req=diUmEs93nohdWvMW1HO4zYj9SfEK6IK1XsqpNqvyFRI3FJ3plKm34NaGIQcW%0ABnZiOmKnQ0t5UDsjxgE%3D%0A) --- @@ -80,7 +80,7 @@ Effort limits determine how much computation members on a role can apply per res 5. Click "Save" to save your changes. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693927/7a25673b3b075d72adb3cdc371e3/d2d7cd8d-a713-4e91-a706-f589ac46a9fe?expires=1784915100&signature=f5af5d9de9f5f598bcc98696e910a0aa08488a1e199cb982d3b4c06d529e1b69&req=diUmEs93nohdXvMW1HO4ze1xBje1crwYDeA1RkowXUGF35yYEqSqiyd1Fj7T%0AojqTtbTIxzpukHJc5wA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2514693927/7a25673b3b075d72adb3cdc371e3/d2d7cd8d-a713-4e91-a706-f589ac46a9fe?expires=1784953800&signature=f48d320680d5b21a0bd8ddf8457415c87ccb3e4bc7f8d6db154b462758192710&req=diUmEs93nohdXvMW1HO4ze1xBje1droRDeA1RkowXUHVXlWKD%2F%2FrlDbnH7ex%0A5RO65%2BJDXYt0wK2ZBJc%3D%0A) Members on the role see only effort levels at or below the cap in their model menu. Note that available effort levels differ depending on the model, and some models don’t support effort level settings at all. For an explanation of each level, see **[Change the model, effort, and thinking settings](https://support.claude.com/en/articles/8664678)**. diff --git a/content/support/15936181-get-started-with-1password-for-claude.md b/content/support/15936181-get-started-with-1password-for-claude.md index ee2b29573..7430d99c5 100644 --- a/content/support/15936181-get-started-with-1password-for-claude.md +++ b/content/support/15936181-get-started-with-1password-for-claude.md @@ -52,7 +52,7 @@ Once the requirements are in place, you can set up 1Password from a few places i 4. Toggle on **Password managers**: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2546126596/ba71ca47e2df21cec62c243831f8/5b1c67e1-607d-4c73-8f61-d1ceb081082a?expires=1784915100&signature=3b347db28ae1802cc49a87f01554d41414ee9d5f47f4cadc1993b1d529065836&req=diUjEMh8m4RWX%2FMW1HO4zU5lnm9nrMBiGkiu4hEpcPXcnjGA%2BRgLZ4PnxgYI%0AEx4%2BskcGrgOTGATl7zk%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2546126596/ba71ca47e2df21cec62c243831f8/5b1c67e1-607d-4c73-8f61-d1ceb081082a?expires=1784953800&signature=d5d6746d3095a48e3be065dbc5625510f2c20312b5fc04a0fb53b2ea7719a1b8&req=diUjEMh8m4RWX%2FMW1HO4zU5lnm9nqMZrGkiu4hEpcPVbYf60trGK0f2%2FcTLU%0AcjKp7LHNneUD7BxqW4E%3D%0A) Once enabled, eligible users will see the discovery options above. Users still need to install and set up the required apps and extensions themselves. diff --git a/content/support/8114491-get-started-with-claude.md b/content/support/8114491-get-started-with-claude.md index ad9aeae3b..6753e1126 100644 --- a/content/support/8114491-get-started-with-claude.md +++ b/content/support/8114491-get-started-with-claude.md @@ -36,7 +36,7 @@ You use **prompts** to communicate with Claude. The best approach is to speak to Type your prompt into the chat interface and click the submit button to start a conversation with Claude. You can click the "+" button in the lower left or type "/" to view additional options and commands: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1916208578/2cf2ea52f1f884084b57983a8805/image.png?expires=1784915100&signature=3d0ee34bd429133290488b8e7e25943bc2a2c5114449fe8466ded7fe926cf15e&req=dSkmEMt%2BlYRYUfMW1HO4zV2J7SvDtYKA9crMELaMZPwPUv3yH1%2Bvt%2FjuQexH%0A3LTt68e4hzlxIK5thmU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1916208578/2cf2ea52f1f884084b57983a8805/image.png?expires=1784953800&signature=5188ecd5288673c8d9a81d5a4a9fe1ffd9b6d5b4101195446798cc7b32e13fcd&req=dSkmEMt%2BlYRYUfMW1HO4zV2J7SvDsYSJ9crMELaMZPyhO2WiNuOSYSoxjmKX%0AnFV2%2F%2FQjvKfMIVj76Ns%3D%0A) --- diff --git a/content/support/8230524-how-can-i-delete-or-rename-a-conversation.md b/content/support/8230524-how-can-i-delete-or-rename-a-conversation.md index b1410c241..f0ed2a45a 100644 --- a/content/support/8230524-how-can-i-delete-or-rename-a-conversation.md +++ b/content/support/8230524-how-can-i-delete-or-rename-a-conversation.md @@ -12,7 +12,7 @@ To delete or rename an individual conversation: 3. Select either "Delete" or "Rename" from the options that appear: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1621955348/4844057e0f0847b580b95bc01625/Screenshot+2025-07-15+at+11_43_18%E2%80%AFAM.png?expires=1784915100&signature=8f4476a6d579a83b41755cef9d18fea4275c233b79bafaa2734c5f0c205776ab&req=dSYlF8B7mIJbUfMW1HO4zVBo5Of%2BbIVbt5RK2C3E1TeAza6v4IvaoWX9UOP9%0A%2F%2FgsjMwQrRaoBvi4N9k%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1621955348/4844057e0f0847b580b95bc01625/Screenshot+2025-07-15+at+11_43_18%E2%80%AFAM.png?expires=1784953800&signature=866c13082f47848f0c2178458a6b0e10e3b9f258a8c8c4db65deead08656b6ff&req=dSYlF8B7mIJbUfMW1HO4zVBo5Of%2BaINSt5RK2C3E1TewC%2BWIDhIlYobeCXlV%0AO0%2BIt8dQx7iM9073Dp8%3D%0A) ## Deleting conversations in bulk diff --git a/content/support/8287232-verify-your-phone-number.md b/content/support/8287232-verify-your-phone-number.md index 7b7fa52d0..705b08bab 100644 --- a/content/support/8287232-verify-your-phone-number.md +++ b/content/support/8287232-verify-your-phone-number.md @@ -2,7 +2,7 @@ When you first create a Claude account, you’ll be asked to enter your phone number from a **[supported location](https://support.claude.com/en/articles/8461763-where-can-i-access-claude)** to receive a verification code via text message: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893173143/de034a2e7d9a6ae1f703cf867afd/image.png?expires=1784915100&signature=6e13946ccdda0e1a7509b038ba94e49c2b377841c711ba9c6fbfa7812c4e0a62&req=dSguFch5noBbWvMW1HO4zVIf8JRq3S97oTnI%2BoMZk7cWM3VwvqpSVlA5hWAt%0A53Un8mSb2hwBRfvOpT4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1893173143/de034a2e7d9a6ae1f703cf867afd/image.png?expires=1784953800&signature=d8f8e3a5c5bd1ca2d5635d7eedd19feaebbf46f3f7b48e81cac0be8a10e2771e&req=dSguFch5noBbWvMW1HO4zVIf8JRq2SlyoTnI%2BoMZk7f%2F5SxX7YIABtM0lYW%2B%0AwAtf%2FkVu%2BslNXJvvX7o%3D%0A) Once you receive the text message with the code, type it into the box and click “Verify code.” This will complete the verification and account creation process and allow you to start chatting with Claude. diff --git a/content/support/8325618-paid-plan-billing-faqs.md b/content/support/8325618-paid-plan-billing-faqs.md index 9b5cb6b24..304a33c8e 100644 --- a/content/support/8325618-paid-plan-billing-faqs.md +++ b/content/support/8325618-paid-plan-billing-faqs.md @@ -50,7 +50,7 @@ There's no separate option to remove a card, and updating to a new card replaces If you want to use a name other than the one tied to your payment method, check the "Use a different name on invoices" box when adding or updating your payment method in **[Settings > Billing](https://claude.ai/settings/billing)**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922141785/666191101c11030b05f03a668a74/image.png?expires=1784915100&signature=5cb52a488f023afa3853055306646949823e54db7ee0d437c0056df5ca3c9758&req=dSklFMh6nIZXXPMW1HO4zVXW8GmiajbNQoNvNFTb5ccnFoz%2Bj1c2qDSpqMtt%0AY3ZcjUZC8yZIEjur%2Ba0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1922141785/666191101c11030b05f03a668a74/image.png?expires=1784953800&signature=08175d523b0b54c9306d9cf622665bd3643626470eff26b54a7e3d0de38ee8e5&req=dSklFMh6nIZXXPMW1HO4zVXW8GmibjDEQoNvNFTb5cdJxTpAutH6KSGQSnRw%0ACJw%2FIBmVVYZNKHIkqF8%3D%0A) ## How can I edit a paid invoice? diff --git a/content/support/8606378-how-do-i-use-the-workbench.md b/content/support/8606378-how-do-i-use-the-workbench.md index 8b840b0e3..af0b2052d 100644 --- a/content/support/8606378-how-do-i-use-the-workbench.md +++ b/content/support/8606378-how-do-i-use-the-workbench.md @@ -68,15 +68,15 @@ Code examples in our documentation include an "Open in Workbench" option, which Workbench (legacy) allows you to create and test prompts within your Claude Console account. You can enter your prompt into the "Human" dialogue box and click "Run" to test Claude's output. Click on the + icon in the upper left to create a new prompt, or click on the bulleted list icon to see prompts you've tested in the past: -![](https://downloads.intercomcdn.com/i/o/888021849/31a22a0dc4d1fc4b605cc8ee/Screenshot+2023-11-19+at+4.21.51+PM.png?expires=1784915100&signature=9ea15fa77e815e854f2998342a9a298ac9b1481d091d0b9e3c0beba9eb7d2f9c&req=fCgvFst%2FlYVWFb4f3HP0gKWhcDIN10dbOkmmaOsi7IAx2nP2vHdkvLb6vkCI%0Azi1XWuDtiQcaA2GuJw%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/888021849/31a22a0dc4d1fc4b605cc8ee/Screenshot+2023-11-19+at+4.21.51+PM.png?expires=1784953800&signature=6d739bac172d4dfcac02fa8bb32b41c9a8a4b6989cb2a6798e44be9d17b4fd6b&req=fCgvFst%2FlYVWFb4f3HP0gKWhcDIJ0U5bOkmmaOsi7IC04hXpRdRI%2FeseuGKV%0AxYSRWWG%2Fjih5Yni7Mw%3D%3D%0A) Workbench (legacy) also allows you to configure several settings when prompting Claude. You can click on the slider icon to review your model settings. This allows you to select the model, temperature, and max tokens to sample: -![](https://downloads.intercomcdn.com/i/o/888023061/61e26396355f6f6cd506d7e4/Screenshot+2023-11-19+at+4.09.28+PM.png?expires=1784915100&signature=1856196a0bfb8d2794efa34ddc9f1e2aaa07b82890582078e63ba81da0773697&req=fCgvFst9nYdeFb4f3HP0gN55XdvRPIW3DUq7%2BRvcmSP6tfQbpGlMgaGzURaO%0ACwohwDNwwEFOb8J8Mg%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/888023061/61e26396355f6f6cd506d7e4/Screenshot+2023-11-19+at+4.09.28+PM.png?expires=1784953800&signature=796bb64d12f6e255166c17a3e6666c07d45dea7b568969daa5dbd6ab80491515&req=fCgvFst9nYdeFb4f3HP0gN55XdvVOoy3DUq7%2BRvcmSOFxj2N%2BNEefNoGQ4IS%0Aw6%2B5cznRiH8MT6u6CA%3D%3D%0A) After crafting your prompt, click on the "Get code" button to generate a sample using our Python and Typescript SDKs: -![](https://downloads.intercomcdn.com/i/o/888023545/b12afe07f16f079daff7587d/Screenshot+2023-11-19+at+4.28.27+PM.png?expires=1784915100&signature=4b7bced725468d0cd10ebd44be51c0fd521013309aaf9bd96b70a4bb5622d095&req=fCgvFst9mIVaFb4f3HP0gEZTsDGf5%2BXrRWixPJbjiQe%2B7iW3HjJuWhsokdJ3%0AVeoqMirtMoVfFPkEww%3D%3D%0A) +![](https://downloads.intercomcdn.com/i/o/888023545/b12afe07f16f079daff7587d/Screenshot+2023-11-19+at+4.28.27+PM.png?expires=1784953800&signature=a793f56b8bfca17a0326584c8a1cebee8b9ae73d7ac425dee8a242d6b284d095&req=fCgvFst9mIVaFb4f3HP0gEZTsDGb4ezrRWixPJbjiQf6rb4RuS6oFF3ZSGCt%0AiO0pKzIzpc1CvC7MPg%3D%3D%0A) ## How can I access my previous work and prompt history in Workbench (legacy)? @@ -88,7 +88,7 @@ You can access your previous Workbench prompts on your Console account by follow 3. Click the "List prompts" button on the upper left corner of the page, next to the "+" button to create a new prompt: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1945992985/45a8969fb6cec956bd44fb5c4ba7/CleanShot+2026-01-15+at+12_07_22%402x.png?expires=1784915100&signature=dfb8040a10404ea2f70ae4aa8c0883f8119a7f7d6510fda2f7b5938e47a3b614&req=dSkjE8B3n4hXXPMW1HO4zQQ9sFUANna5TyGSpkcb8MUwt%2B5m83Ys509sxvs8%0Ak7JSCq2pNsDkaBW88UY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1945992985/45a8969fb6cec956bd44fb5c4ba7/CleanShot+2026-01-15+at+12_07_22%402x.png?expires=1784953800&signature=9c23baf422b1dcf504c41fae69e8770c003acc0bcd1491b3758f7b965f237284&req=dSkjE8B3n4hXXPMW1HO4zQQ9sFUAMnCwTyGSpkcb8MWQjzDk%2Fck9TRLUnys8%0AcaghwHLDpwak5YqdBzw%3D%0A) 4. A list of your previously-saved prompts will appear. diff --git a/content/support/8887527-customizing-your-appearance-settings.md b/content/support/8887527-customizing-your-appearance-settings.md index f0edf9b84..41b5aa612 100644 --- a/content/support/8887527-customizing-your-appearance-settings.md +++ b/content/support/8887527-customizing-your-appearance-settings.md @@ -8,7 +8,7 @@ 3. Select from Light, Match System, and Dark under **Color mode**. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260417/d478c757c7115ad58a12026d4caf/AD_4nXc__Qop4X9hknWGfGj_y_DCpLutLruhxIclJIfir0ilsgNMg7X8ksIVnqk1Oce5FKlGIOYu9CKbVsu8DqD7iIY2aC0ZfXMyFTeAdNq-Cao2mXcj_WUpNF0kM2HoYR_dEx6N_cuJow?expires=1784915100&signature=8e4e1a1f9f44e8fe7232261a6e0ab58d6b4832f823f0b0f3c790c2a873ef1079&req=dSYjHst4nYVeXvMW1HO4zc2jJ6Y0gY7lSBkgeTglJro3Q8cjJjWmaDfwRjiz%0AiHS3Fne0erju1k7p%2Bs4%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260417/d478c757c7115ad58a12026d4caf/AD_4nXc__Qop4X9hknWGfGj_y_DCpLutLruhxIclJIfir0ilsgNMg7X8ksIVnqk1Oce5FKlGIOYu9CKbVsu8DqD7iIY2aC0ZfXMyFTeAdNq-Cao2mXcj_WUpNF0kM2HoYR_dEx6N_cuJow?expires=1784953800&signature=9e14b851b87091fa8cee38d22fa56ccc270dce2c12df5c9e9ee4038296deeff3&req=dSYjHst4nYVeXvMW1HO4zc2jJ6Y0hYjsSBkgeTglJro2ceyNdaZbs8LlAKyS%0ASTmBE1S2WKazJ7G5ca8%3D%0A) ## How to change your font @@ -16,10 +16,10 @@ 2. Select from Default, Match System, and Dyslexic Friendly. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260416/7fc0803d44d8de40f8e6636b2eb6/AD_4nXf0UEDa1i2QmqlQtoB5BgpQ-FfZVzss_7wMVQdvkmEDSfoTxixnG0GSxC6qrOs21HdkXH-I2Yn_GHDAf8yjd6FJtoh9FadALozvIErFp9r8LychDGLPb7OpN1CN4PRcgVAYNCre?expires=1784915100&signature=e66934bc165582822637adbdabe6acf9b6138294eb21dde24ad50c0ea29efc6c&req=dSYjHst4nYVeX%2FMW1HO4zc8962TsXHQ9QtNFlF5%2FHEf7ionCWS9Qw4e5OBWx%0AlrEYbGmiBEn6q1kUzDE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1648260416/7fc0803d44d8de40f8e6636b2eb6/AD_4nXf0UEDa1i2QmqlQtoB5BgpQ-FfZVzss_7wMVQdvkmEDSfoTxixnG0GSxC6qrOs21HdkXH-I2Yn_GHDAf8yjd6FJtoh9FadALozvIErFp9r8LychDGLPb7OpN1CN4PRcgVAYNCre?expires=1784953800&signature=1ad2c17309813e8e0efc68ea88546b2c149d656a487e5c29974e624c012eb45b&req=dSYjHst4nYVeX%2FMW1HO4zc8962TsWHI0QtNFlF5%2FHEdr7q6ZTXH1GQv6iIJJ%0AcBfNMBTkdm0AT1EDMHI%3D%0A) ## Can I disable the sidebar? It's not currently possible to completely disable the sidebar. You can click the button on the top right of the sidebar to open or close it. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1941108004/5217903737ddd9bb62fe5d7a904c/CleanShot+2026-01-14+at+09_12_58.png?expires=1784915100&signature=39beee602eb7e165b1fe31b7bc6e32d6cc13d36b50fa1891b4a4d4b6b5987fb3&req=dSkjF8h%2BlYFfXfMW1HO4zUS%2BB1v%2FWH7uylfYa7uDb9lXjC930no8nZrnk%2FuW%0ATTE3LX7GqH9dJugc3ig%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1941108004/5217903737ddd9bb62fe5d7a904c/CleanShot+2026-01-14+at+09_12_58.png?expires=1784953800&signature=6b1e5a113dafd6d14e34b865e067946198968819b2a2410323b486049f2b53d7&req=dSkjF8h%2BlYFfXfMW1HO4zUS%2BB1v%2FXHjnylfYa7uDb9mwrrM6vY%2FBnDlLxJDC%0A%2F8Y0xPweqDQSAsi%2BhRw%3D%0A) \ No newline at end of file diff --git a/content/support/9028421-how-can-i-delete-my-claude-account.md b/content/support/9028421-how-can-i-delete-my-claude-account.md index f7a81f3c2..931ec4443 100644 --- a/content/support/9028421-how-can-i-delete-my-claude-account.md +++ b/content/support/9028421-how-can-i-delete-my-claude-account.md @@ -2,7 +2,7 @@ Once you are logged in, click your initials or name in the lower left corner and select "Settings." Navigate to **[Settings > Account](https://claude.ai/settings/account)** and click the "Delete account" button: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2274267534/e7064e2657b1bd20031ba40da11c/CleanShot+2026-04-14+at+09_48_08.png?expires=1784915100&signature=845ddb35fdd2c8c4a9de782c28d93c11823fc888383a66f751c2612eaa5a1d9b&req=diIgEst4moRcXfMW1HO4zeqzlXgHJ4T9oVDupr7i4TEfc9gUppzp0zjfsXIb%0AJ9cDyc5fm8ec8BvrmT8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2274267534/e7064e2657b1bd20031ba40da11c/CleanShot+2026-04-14+at+09_48_08.png?expires=1784953800&signature=b60bad15a985696065840831691a4b24d6051346b90dc1180861848f3749220b&req=diIgEst4moRcXfMW1HO4zeqzlXgHI4L0oVDupr7i4TGBU4INkMs5C2VYz4C6%0AhBveXc%2FWj8T4YYaGY6k%3D%0A) ## Considerations for paid Claude accounts @@ -20,4 +20,4 @@ If you have multiple accounts associated with the same email address, you'll nee There are some scenarios where you will need to **[contact our team](https://support.claude.com/en/articles/9015913-how-to-get-support)** to delete your account. If this is the case, it will be noted in your account: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584796811/331afc5dc61eec6f72786155b782/Screenshot+2025-06-23+at+1_54_23%E2%80%AFPM.png?expires=1784915100&signature=7561f21c5d0afcbc70752c77f1d72f7b5f022af85cb257e40915bbf2c446d015&req=dSUvEs53m4leWPMW1HO4zXW0qxECGo9aVOsMorzl%2B%2FS6uvzjrVEnjitS8wjr%0ADygpEKvCSOt7mUQQoW4%3D%0A) \ No newline at end of file +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584796811/331afc5dc61eec6f72786155b782/Screenshot+2025-06-23+at+1_54_23%E2%80%AFPM.png?expires=1784953800&signature=71d14307a72afc50440c8adf86fb14b90572083924dedbea11605459ec3122c5&req=dSUvEs53m4leWPMW1HO4zXW0qxECHolTVOsMorzl%2B%2FQ5Ll8NN8MpXSUDqKa%2F%0A3RBSLMeCvjRHASBgiBQ%3D%0A) \ No newline at end of file diff --git a/content/support/9519189-manage-project-visibility-and-sharing.md b/content/support/9519189-manage-project-visibility-and-sharing.md index 4bbbd489b..ad23c56b4 100644 --- a/content/support/9519189-manage-project-visibility-and-sharing.md +++ b/content/support/9519189-manage-project-visibility-and-sharing.md @@ -12,7 +12,7 @@ When creating a project on a Team or Enterprise plan, you can choose between two - **Private:** Only invited members can view and use the project. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370991/2b6b16e5deff094e073a5b4bb0ea/63197103-24c0-41e5-aebd-9b8f431837bb?expires=1784916000&signature=10afbc81b141028df02740e16e55bf61bcb71ed0dc7640bd416187be23b1f9f4&req=dScjFsp5nYhWWPMW3nq%2BgeZJIc%2BBNcUz1mMWc7sTq%2BnWFw%2BI1AmmWdOfUVcc%0AcCDqGplXBR5rJvMFHNaOqySbVgE%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370991/2b6b16e5deff094e073a5b4bb0ea/63197103-24c0-41e5-aebd-9b8f431837bb?expires=1784953800&signature=518014cf32ea622e3977c90cef0604abf5ca195ff1fe2a9d976a76eaaf224c36&req=dScjFsp5nYhWWPMW1HO4zd3a2VgtIY2vHK95%2FTFaPynVud0zWrapRsFPlz76%0AVlTOqKrLe8bosjUqewo%3D%0A) ## What are public projects? @@ -22,11 +22,11 @@ If you choose to share a project with the rest of your organization upon creatio Yes, you can switch the visibility of a project you created as public to private at any time by opening the project and clicking the “Share” button to the right of the project name: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370987/5d5db997e6b42e627ffa62fddf75/4823906b-9535-4a19-b89e-a1003f1e6e68?expires=1784916000&signature=a14d965ef904c0e5a76dc15d4410a106e9282982133196382bea0da96007ca64&req=dScjFsp5nYhXXvMW3nq%2BgauQysBNVcqGzkV7xHMI3oTBYcI%2F689AWa7DFL1v%0AbZ9wRWkikZe4TQeqPZNWKc%2FxWxM%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370987/5d5db997e6b42e627ffa62fddf75/4823906b-9535-4a19-b89e-a1003f1e6e68?expires=1784953800&signature=4434cb72f7b399e723c5597c8728ed356c0ee9661fd135e218b74eaba5e380eb&req=dScjFsp5nYhXXvMW1HO4zUiDoi3%2BhAUhE8Kp5wh0MSCgQUuBw3D7AzyUh%2BCb%0A0%2BO39BygzLVRMzDOncg%3D%0A) Click “Everyone at [your organization]” under **General access** and select “Only people invited” to change the project from public to private: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370988/386407facbf3e73d2f5538623a18/69d8ffcd-e1ca-470f-a219-5b88704e41f2?expires=1784916000&signature=347af72bfccc00ee45ccdcae9b09841673f95f522ced116aba3a6331a0f62ff4&req=dScjFsp5nYhXUfMW3nq%2BgR4SCqCCdLOJQqdU7vfwvzTES5ZmNa5qF68qpsOy%0AOfbffzajBem7bEl9mW4LwfxHfx0%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370988/386407facbf3e73d2f5538623a18/69d8ffcd-e1ca-470f-a219-5b88704e41f2?expires=1784953800&signature=66a14555861790a3ea94e8a1119280f6a77d58c6eaa405db9a4b764fada90aa1&req=dScjFsp5nYhXUfMW1HO4zckCIfZrZyGsl3XeGelDRW27%2B8XMqm6716U%2FqBgU%0A%2B32bzEQtohw8dg87EwY%3D%0A) ## What are private projects? @@ -36,11 +36,11 @@ Choosing “Only people invited” keeps your project private so that you are th Yes, you can switch the visibility of a project you created as private to public at any time by opening the project and clicking the “Share” button to the right of the project name: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370989/f829dcd8bdd88e944322f678323f/9d25eff1-6df3-40be-82eb-ba7fe09187e8?expires=1784916000&signature=646a71b65cfc3c0f97e00f2dd7b41b36c1b8c83422b989c5d543b5e04d601bcc&req=dScjFsp5nYhXUPMW3nq%2BgUpONNyv48aO%2FdE665d8ozYHs9nObn6NYYEXJ45z%0A80v1L%2F0fJg06zX7TmWPgYwxSWeY%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370989/f829dcd8bdd88e944322f678323f/9d25eff1-6df3-40be-82eb-ba7fe09187e8?expires=1784953800&signature=bd7a6b4de45686f4cecd3f19fc385d1b408e2c1e4d2143ed597431964c9c4c99&req=dScjFsp5nYhXUPMW1HO4zaSEGleVT7sF2JrJefVtywlrkrT1ZwopSnDFTpqM%0A2sv54CZXGKKhTYddPGA%3D%0A) Click “Only people invited” under General access and select “Everyone at [your organization]” to change the project from private to public: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370990/d173fbc6f030780d30c6d7b8e204/7e47b9d1-89fe-4607-8b5b-f7b06e7ad0d6?expires=1784916000&signature=4b408b07923d691fc6827b32c84e09be9316568908c82d70f8dfef65b1c67a36&req=dScjFsp5nYhWWfMW3nq%2BgTfr6qmRNVpdWQX62YaZuU%2BZD4b8OBEYKViIeK9E%0Agx5CjdZTLeXhXpHNgjeZdLk%2B72c%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1740370990/d173fbc6f030780d30c6d7b8e204/7e47b9d1-89fe-4607-8b5b-f7b06e7ad0d6?expires=1784953800&signature=6f272eebd345eb1d0d9fae71fafccd2de4da0b53232bfea94f1e36775f6238f9&req=dScjFsp5nYhWWfMW1HO4zT7Q08yyuA8eAmYRPrgMBZn0%2FuFzjTtX76EY7UCF%0Av6rjm%2FY%2FsOXu2eo2Mpo%3D%0A) ## Add and remove access to private projects diff --git a/content/support/9534590-cost-and-usage-reporting-in-the-claude-console.md b/content/support/9534590-cost-and-usage-reporting-in-the-claude-console.md index ebf0e3c6c..965f1cdba 100644 --- a/content/support/9534590-cost-and-usage-reporting-in-the-claude-console.md +++ b/content/support/9534590-cost-and-usage-reporting-in-the-claude-console.md @@ -8,7 +8,7 @@ The Claude Console provides detailed cost and usage reporting to help you effect Users with access to these reports can click into them on the left navigation menu on the Console: -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584654217/db0a977417e38e43639f060d96e0/image.png?expires=1784915100&signature=acd9c7728ac64fc733c42357382a5e5ca20cd4c0c849d78fc641119be5998d01&req=dSUvEs97mYNeXvMW1HO4zYCWiSARgMObuqqBX2puyxSTc%2FfnfSkicyDyJzrn%0A5M5jXt7RR1b591nrthI%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584654217/db0a977417e38e43639f060d96e0/image.png?expires=1784953800&signature=bf7fdf19a8600ff4909d716b08bda26c98a5395110e0e931ee018453956fd4f0&req=dSUvEs97mYNeXvMW1HO4zYCWiSARhMWSuqqBX2puyxR9T6gHcPpJxZTNaWBS%0AOXr5s4xQqAutw051rHo%3D%0A) --- @@ -46,9 +46,9 @@ The [Usage page](https://platform.claude.com/usage) offers a detailed breakdown 6. Use the export button to download a CSV of the displayed data. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584664321/59b50eba0b61e0789f7055fcf9f4/image+%285%29.png?expires=1784915100&signature=699f9e4eeed2a984f558c6c93ad9749fd37bf80f718e0d506a29cbe1662564f2&req=dSUvEs94mYJdWPMW1HO4zQwER3cjIIpnqMITUZbanFDccJBi3cRgJw%2BQfARd%0AsvbFn397T0hqqE5urlU%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584664321/59b50eba0b61e0789f7055fcf9f4/image+%285%29.png?expires=1784953800&signature=8c3b5479f8663946f8c33a9b67a3c4315e0734475df2817b450eae566a484146&req=dSUvEs94mYJdWPMW1HO4zQwER3cjJIxuqMITUZbanFBabCAbVFMXusHH%2BsDv%0A5IazZ6bab%2B4F%2BEagRSc%3D%0A) -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584693386/aed472efe163abcbc14fa32f3699/rate+limited+requests.png?expires=1784915100&signature=5bae1eb5d92c64a6ec6ccfeef19bb4721326ea9d6b3fb3d9cb19fc76953477d8&req=dSUvEs93noJXX%2FMW1HO4zRxEwW9E51Rt21D6pckxWMYkwEe9H4neOlzLqvim%0AS4W8kwuSFnv8mRcE9F8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584693386/aed472efe163abcbc14fa32f3699/rate+limited+requests.png?expires=1784953800&signature=64f1de3873d55f0ff41619e7286759003f73d4d797bd68b9e0483a5200b017c8&req=dSUvEs93noJXX%2FMW1HO4zRxEwW9E41Jk21D6pckxWMbI%2FI3jWVXN30jCMGad%0AOA5gmpWbCe9VqDp9pGA%3D%0A) ### Rate Limit Use @@ -88,6 +88,6 @@ The [Cost page](https://platform.claude.com/cost) helps you understand your spen 5. Use the export button to download a CSV of the cost data. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584679401/4d0bc8ed08625e1adee414e77030/CleanShot+2025-06-23+at+08_54_40%402x.png?expires=1784915100&signature=7f621356a2023f196650e61f59ea7ec04cc59a29366f80b86b0e0373e39584d7&req=dSUvEs95lIVfWPMW1HO4zUR%2Bh5jKUtVgCyIF5nuUsbx1A648f%2Fy3N6GTnU16%0AtKVQLJtrLYBmU1fhgQs%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1584679401/4d0bc8ed08625e1adee414e77030/CleanShot+2025-06-23+at+08_54_40%402x.png?expires=1784953800&signature=0657629a09ff6628f8cbe68a71ab844d508dba32e6a9012be411f2b5f16eabe4&req=dSUvEs95lIVfWPMW1HO4zUR%2Bh5jKVtNpCyIF5nuUsbxFj2yZeLW4p00l4CX9%0ApTvDvMyAtDLrfMjHIwk%3D%0A) **Note**: Currently, it's not possible to break down usage or cost by individual users. \ No newline at end of file diff --git a/content/support/9547008-publish-and-share-artifacts.md b/content/support/9547008-publish-and-share-artifacts.md index 8e11fe418..b04a38540 100644 --- a/content/support/9547008-publish-and-share-artifacts.md +++ b/content/support/9547008-publish-and-share-artifacts.md @@ -56,11 +56,11 @@ Publishing also adds the artifact to the **[Artifacts](https://claude.ai/artifac After publishing, you'll see a “Get embed code” button. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951684960/0cd917c4455b31e86b70a97f8234/image.png?expires=1784915100&signature=af7f67024e5bba16e5a32a477c5067ffd16f0a6fbc46feed62c39cb18d3cb923&req=dSkiF892mYhZWfMW1HO4zdcpD1Jb5AaAR8xgMH3ra8gpzn%2Fw%2FvsGf%2FoID%2B8r%0AoecM%2B6Aqc4guCoVA4a8%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951684960/0cd917c4455b31e86b70a97f8234/image.png?expires=1784953800&signature=4864d0513a6a49315efb3cd647e14ace251eac7c95bb3d0c43b1c0859d5c6fd6&req=dSkiF892mYhZWfMW1HO4zdcpD1Jb4ACJR8xgMH3ra8gFKkLh8O6JBqnk5qOL%0A0Rd2FSOPEN%2BfN2YovwY%3D%0A) Click it to open a modal with automatically generated code you can copy and paste to embed your artifact on another website. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951685860/6bf1aa2c57d6ff95804797779e9c/image.png?expires=1784915100&signature=c617329339b3231dbbd2cf1c57815d1e1a0bb17cab8d2da102ea97455688ab8d&req=dSkiF892mIlZWfMW1HO4zcqH792KyIFsf3CUbx4Ru6VqQRhG7jLK4M9kZIAj%0AfCdqY07dNRbwt5Z2cbQ%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951685860/6bf1aa2c57d6ff95804797779e9c/image.png?expires=1784953800&signature=c3899d1e3bc39d6a59f9d23cb828fa35b4f5da476344ae7b8ddf366eb781d777&req=dSkiF892mIlZWfMW1HO4zcqH792KzIdlf3CUbx4Ru6Wtn26eAUX%2BEytA5SoQ%0ATVoqr3lQ046G0DprURc%3D%0A) You must specify which websites can embed your artifact by entering URLs in the **Allowed domains** field, separated by commas. @@ -116,7 +116,7 @@ Artifacts created on Team or Enterprise accounts can only be shared within your 4. Click “Share & copy link” to make this version shareable. -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951680160/d5a38784df4c6d0cc55eda339279/Screenshot%2B2025-10-28%2Bat%2B2_00_15-E2-80-AFPM.png?expires=1784915100&signature=98dc038fbab3bdc22f3c9d93fe464d31d506a049987a2fcdb47758c53cc5a9f9&req=dSkiF892nYBZWfMW1HO4zbvYOlXsLHySK6hAzMpXfmOFVS%2BGn%2BGBdIY7yiHh%0AFJu8bAQZCDe0zTS3q2M%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951680160/d5a38784df4c6d0cc55eda339279/Screenshot%2B2025-10-28%2Bat%2B2_00_15-E2-80-AFPM.png?expires=1784953800&signature=ed9773b01644c0550fd7c916af540f4163b4e23520bd65fb43383fba20f4361e&req=dSkiF892nYBZWfMW1HO4zbvYOlXsKHqbK6hAzMpXfmMjYdJJIDHmh87tspTu%0A3l2IzpSCX%2B9LgzB1FjM%3D%0A) ### Who can access shared artifacts @@ -138,7 +138,7 @@ When you share an artifact, viewers also gain access to any attachments and file 2. In the **Artifact shared** modal, click “Unshare.” -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951676927/c66153a2c075c6a64404306aefd0/Screenshot%2B2025-10-28%2Bat%2B1_58_24-E2-80-AFPM.png?expires=1784915100&signature=7f46d355a6c27c7533fbc0e55806bf8b9b0736f2a8d06239d562effa01c08adc&req=dSkiF895m4hdXvMW1HO4zW9Ewg20%2BHGygj8mTHivCKbF%2BpzJTH1wKUcVt%2B3Y%0A2E3ubc7AV4aypwuVZss%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/1951676927/c66153a2c075c6a64404306aefd0/Screenshot%2B2025-10-28%2Bat%2B1_58_24-E2-80-AFPM.png?expires=1784953800&signature=c0b2360ed87aa438dfca4418a4ab5a8979006431e2aadaffbeba32536a4bf306&req=dSkiF895m4hdXvMW1HO4zW9Ewg20%2FHe7gj8mTHivCKa3dy1zLv6JaqjnCmSW%0ANBh%2BUhKxqwhEnZuExUc%3D%0A) --- diff --git a/content/support/9927533-disable-public-projects-for-your-organization.md b/content/support/9927533-disable-public-projects-for-your-organization.md index de55b9beb..81d0339b8 100644 --- a/content/support/9927533-disable-public-projects-for-your-organization.md +++ b/content/support/9927533-disable-public-projects-for-your-organization.md @@ -10,7 +10,7 @@ Follow these steps: 2. Find **Public projects** and toggle it off -![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053902291/8c39d1a79dedc97411eed54dec5c/CleanShot+2026-02-11+at+11_25_34%402x.png?expires=1784915100&signature=7b779426bba920ac47e14764d8178824d6959c5dbd1d26a24f11505f993a22d2&req=diAiFcB%2Bn4NWWPMW1HO4zfGib2OtagVeYabJlVJ9VPz0qi6MR43QGxhdyb2S%0AP7XlzSUiJrYYo9XHAAA%3D%0A) +![](https://downloads.intercomcdn.com/i/o/lupk8zyo/2053902291/8c39d1a79dedc97411eed54dec5c/CleanShot+2026-02-11+at+11_25_34%402x.png?expires=1784953800&signature=c0632e995aae8a836f5d8d3b6bf6cda7c911ae6615ad508fddc5e00293e98ce0&req=diAiFcB%2Bn4NWWPMW1HO4zfGib2OtbgNXYabJlVJ9VPx9k3hv1L4B6CYNQtHZ%0ARsjsceSpBUR8mKa%2BgD4%3D%0A) ## How does disabling public projects work?