Claude docs changes for April 8th, 2026 [diff]

Executive Summary

  • New User Profiles API (beta) allows attributing API requests to specific end-users via /v1/user_profiles endpoints
  • Claude Mythos Preview (Project Glasswing) announced as an invitation-only research preview model for defensive cybersecurity workflows
  • Amazon Bedrock Mantle endpoint support added to Claude Code: native Messages API shape (CLAUDE_CODE_USE_MANTLE=1) as an alternative to the legacy Invoke API
  • Default effort level changed to "high" for API-key, Team, Enterprise, and third-party provider (Bedrock/Vertex/Foundry) users; Pro/Max subscribers remain at "medium"
  • New stop_details field added to message responses to provide structured information about refusals (cyber/bio policy categories)

New Claude Code versions

2.1.94

New features

  • Added support for Amazon Bedrock Mantle endpoint via CLAUDE_CODE_USE_MANTLE=1
  • Added compact Slacked #channel header with clickable channel link for Slack MCP send-message tool calls
  • Added keep-coding-instructions frontmatter field support for plugin output styles
  • Added hookSpecificOutput.sessionTitle to UserPromptSubmit hooks for setting the session title
  • Plugin skills declared via "skills": ["./"] now use the skill's frontmatter name for the invocation name instead of the directory basename

Existing feature improvements

  • Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (control this with /effort)
  • Improved --resume to resume sessions from other worktrees of the same repo directly instead of printing a cd command

Major bug fixes

  • Fixed agents appearing stuck after a 429 rate-limit response with a long Retry-After header
  • Fixed Console login on macOS silently failing with "Not logged in" when the login keychain is locked or out of sync
  • Fixed plugin skill hooks defined in YAML frontmatter being silently ignored
  • Fixed plugin hooks failing with "No such file or directory" when CLAUDE_PLUGIN_ROOT was not set
  • Fixed scrollback showing the same diff repeated and blank pages in long-running sessions
  • Fixed Shift+Space inserting the literal word "space" in search inputs
  • Fixed hyperlinks opening two browser tabs inside tmux running in an xterm.js-based terminal (VS Code, Hyper, Tabby)
  • Fixed FORCE_HYPERLINK environment variable being ignored when set via settings.json env
  • Fixed SDK/print mode not preserving the partial assistant response in conversation history when interrupted mid-stream
  • Fixed CJK and multibyte text being corrupted with U+FFFD in stream-json input/output when chunk boundaries split a UTF-8 sequence
  • [VSCode] Added a warning banner when settings.json files fail to parse

2.1.96

Major bug fixes

  • Fixed Bedrock requests failing with 403 "Authorization header is missing" when using AWS_BEARER_TOKEN_BEDROCK or CLAUDE_CODE_SKIP_BEDROCK_AUTH (regression in 2.1.94)

Claude Code changes

New Documents

Claude in Amazon Bedrock (Mantle) [Source]

New guide for the Claude in Amazon Bedrock research preview offering, which exposes the native Anthropic Messages API at /anthropic/v1/messages (branded "Mantle"), distinct from the legacy Bedrock Invoke API. Covers three authentication paths (Bedrock service role, IAM assumed roles, bearer tokens), SDK installation, supported features, regional availability (us-east-1 only), quotas, data retention policy, and observability via CloudWatch/CloudTrail. Notably, Anthropic-defined tools (Web Search, Files API, Skills, etc.) are not supported on this offering.

Changed documents

Amazon Bedrock [Source]

  • New "Use the Mantle endpoint" section added, documenting how to enable the Mantle endpoint via CLAUDE_CODE_USE_MANTLE=1, how to select Mantle-format model IDs (anthropic. prefix), how to run Mantle alongside the legacy Invoke API, how to route through an LLM gateway, and specific Mantle environment variables. [line 244] [Source]
  • New Mantle troubleshooting section added for 403 (access not granted), 400 (wrong model ID format), and missing Mantle status issues. [line 330] [Source]

Claude Directory [Source]

  • New "Application data" section added documenting everything Claude Code writes to ~/.claude during sessions. Includes tables for auto-swept files (transcripts, tool results, file snapshots, debug logs, paste/image cache) and persistent files (prompt history, statsig cache, stats-cache, backups). Documents plaintext storage implications and how to reduce credential exposure. Also includes a "Clear local data" guide. [line 162] [Source]
  • Added installed plugins location (~/.claude/plugins/) with 7-day orphan cleanup note to the "What's not shown" table.

Code Review [Source]

  • New "Rate and reply to findings" section: each review comment now includes 👍/👎 buttons for one-click feedback. Anthropic collects reaction counts to tune the reviewer. Describes how to request a fresh review via @claude review once. [line 35] [Source]

Common Workflows [Source]

  • Clarified that when selecting a session from another worktree in the /resume picker, Claude Code now resumes it directly without requiring a directory switch. [line 568] [Source]

Data Usage [Source]

  • Updated local caching description: sessions are stored as plaintext JSONL under ~/.claude/projects/ for 30 days by default, configurable via cleanupPeriodDays. [line 32] [Source]

Environment Variables [Source]

  • Three new Mantle-related variables: ANTHROPIC_BEDROCK_MANTLE_BASE_URL, CLAUDE_CODE_SKIP_MANTLE_AUTH, CLAUDE_CODE_USE_MANTLE.
  • Added default values for previously undocumented timeouts: BASH_DEFAULT_TIMEOUT_MS (2 min), BASH_MAX_TIMEOUT_MS (10 min), MCP_TIMEOUT (30s), MCP_TOOL_TIMEOUT (~28 hours).
  • API_TIMEOUT_MS now documents its maximum value (2147483647) and warns that exceeding it causes immediate failures.

Hooks [Source]

  • Exit code behavior clarified: stdout for most events is now written to the debug log (not verbose mode). Any non-zero exit (other than 2) shows a one-line <hook name> hook error notice in the transcript; full stderr goes to the debug log. [line 473] [Source]
  • New clarification: only exit code 2 blocks an action; exit code 1 is non-blocking (exception: WorktreeCreate aborts on any non-zero exit). [line 491] [Source]
  • suppressOutput JSON field now omits stdout from the debug log (previously suppressed verbose mode output). [line 556] [Source]
  • New sessionTitle field added to UserPromptSubmit hook output, allowing hooks to set the session title (same effect as /rename). [line 784] [Source]
  • Debug instructions updated: use --debug-file <path> to write to a known location, or --debug to find the log at ~/.claude/debug/<session-id>.txt. [line 2261] [Source]

Hooks Guide [Source]

  • Updated debug technique: verbose mode (Ctrl+O) now shows a one-line summary per hook; full execution details go to the debug log. Instructions updated to use --debug-file and tail -f. [line 800] [Source]
  • Non-zero exit code description updated to match hooks.md changes. [line 446] [Source]

Interactive Mode [Source]

  • Ctrl+L behavior changed from "Redraw the screen" to "Clear prompt input" (clears typed text, keeps conversation history). [line 16] [Source]

Keybindings [Source]

  • app:redraw is now unbound (was Ctrl+L). New chat:clearInput action added, bound to Ctrl+L. [line 71] [Source]

Model Configuration [Source]

  • New "Mantle model IDs" section: entries in availableModels starting with anthropic. are routed to the Mantle endpoint. [line 101] [Source]
  • Default effort level updated: Pro/Max subscribers default to medium; all others (API key, Team, Enterprise, Bedrock/Vertex/Foundry) now default to high. [line 133] [Source]

Output Styles [Source]

  • Plugins can now ship output styles in an output-styles/ directory. [line 79] [Source]

Plugins Reference [Source]

  • When a skill path points to a directory containing a SKILL.md directly (e.g. "skills": ["./"]), the frontmatter name field now determines the invocation name (stable across install methods). Directory basename is used as fallback. [line 372] [Source]
  • Plugin cache versioning documented: each installed version is a separate directory; orphaned versions are removed 7 days after a plugin update or uninstall. [line 464] [Source]

Troubleshooting [Source]

  • New "Model not found or not accessible" section with troubleshooting steps for when the API rejects a configured model name, including priority order to check and how to clear stale values. [line 586] [Source]

Ultraplan [Source]

  • Added minimum version requirement: v2.1.91 or later.
  • Clarified that Ultraplan is not available when using Amazon Bedrock, Google Vertex AI, or Microsoft Foundry (runs on Anthropic's cloud infrastructure). [line 9] [Source]

API changes

New Documents

Claude in Amazon Bedrock [Source]

New guide for the "Claude in Amazon Bedrock" research preview (Mantle). This new offering exposes the Anthropic Messages API shape at https://bedrock-mantle.{region}.api.aws/anthropic/v1/messages, using AWS credentials and standard SSE streaming. Distinct from the existing legacy Bedrock integration (Invoke API). Covers three auth methods, SDK support (anthropic[bedrock]), supported and unsupported features, regions (us-east-1 only), quotas (2M TPM default), data retention (30 days), observability, and support contacts.

User Profiles [Source]

New beta API section for User Profiles (/v1/user_profiles), requiring the user-profiles-2026-03-24 beta header. Provides CRUD operations to create, list, retrieve, and update user profiles, plus a Create Enrollment URL endpoint. The BetaUserProfile object includes id, created_at, metadata (free-form key-value), trust_grants, type, updated_at, and optional external_id.

Changed documents

Models Overview [Source]

  • Added a note about Claude Mythos Preview (Project Glasswing): an invitation-only research preview model for defensive cybersecurity workflows, offered separately with no self-serve sign-up. [line 36] [Source]
  • Google Vertex AI now documented as having three endpoint types: global, multi-region, and regional (previously only two were described). [line 41] [Source]

Pricing [Source]

  • Third-party platform pricing section now separately describes AWS Bedrock (2 endpoint types) and Google Vertex AI (3 endpoint types: global, multi-region, regional). Regional and multi-region endpoints include a 10% premium. [line 38] [Source]
  • Claude Mythos Preview added to the list of models with the full 1M token context window at standard pricing. [line 124] [Source]

Agent Loop [Source]

  • Both Python and TypeScript SDKs now leave effort unset by default; the underlying engine resolves a model-dependent default (previously TypeScript defaulted to "high"). [line 134] [Source]
  • plan permission mode description updated: read-only tools now run; only tools that make changes are blocked. [line 148] [Source]

Custom Tools [Source]

  • Error handling behavior corrected: an uncaught exception from a tool handler no longer stops the agent loop — it is wrapped by the MCP server and surfaces to Claude as a tool error result. Using isError: true is preferred because it gives control over the error message Claude sees. [line 224] [Source]

Permissions [Source]

  • plan mode now documented to allow read-only tools (Read, Grep, Glob, WebFetch) while blocking tools that modify state (file edits, Bash). [line 79] [Source]

Skills (SDK) [Source]

  • allowedTools must now be paired with permissionMode: "dontAsk" to deny unlisted tools. Without this, unlisted tools fall through to the active permission mode rather than being blocked. [line 82] [Source]

Streaming vs Single Mode [Source]

  • Hook integration removed from the "not supported" list for single message input mode (hooks now work in single mode). [line 114] [Source]

Code Execution Tool [Source]

  • Model compatibility table replaced with a single statement: the tool is available on all supported Claude models using code_execution_20250825.
  • Added note: for Claude Mythos Preview, code execution is supported on Claude API and Microsoft Foundry only (not Amazon Bedrock or Google Vertex AI). [line 29] [Source]
  • New output_file_too_large error type added for bash tool when command output exceeds the maximum size. [line 350] [Source]

Define Tools [Source]

  • Claude Mythos Preview does not support forced tool use: requests with tool_choice: {"type": "any"} or tool_choice: {"type": "tool", ...} return a 400 error. Only auto and none are supported. [line 148] [Source]

Tool Search Tool [Source]

  • Claude Mythos Preview added to the list of supported models for tool search. [line 362] [Source]

Web Fetch Tool [Source]

  • Claude Mythos Preview added to the dynamic filtering support list (alongside Opus 4.6 and Sonnet 4.6).
  • Added platform note: web fetch is supported for Mythos Preview on Claude API and Microsoft Foundry only (not Amazon Bedrock or Google Vertex AI). [line 4] [Source]

Web Search Tool [Source]

  • Claude Mythos Preview added to dynamic filtering support (alongside Opus 4.6 and Sonnet 4.6).
  • Added platform note: web search for Mythos Preview is available on Claude API, Microsoft Foundry, and Google Vertex AI — not Amazon Bedrock. [line 4] [Source]

Beta [Source]

  • Two new beta headers added: output-300k-2026-03-24 and user-profiles-2026-03-24. [line 58] [Source]
  • New BetaRefusalStopDetails object added to the BetaMessage response: a stop_details field with category ("cyber" or "bio") and explanation, providing structured information about refusals. [line 14688] [Source]
  • New User Profiles section added (CRUD endpoints) with BetaUserProfile, BetaUserProfileEnrollmentURL, and BetaUserProfileTrustGrant models.
  • Skill and SkillVersion response model schemas (SkillCreateResponse, SkillListResponse, SkillDeleteResponse, VersionCreateResponse, etc.) added to the beta API reference.

Beta Messages Create [Source]

  • New user_profile_id optional body parameter added: used to attribute a request to a specific user profile when acting on behalf of a party other than your organization. [line 4518] [Source]
  • stop_details field added to the BetaMessage response with structured refusal information. [line 5445] [Source]

Errors [Source]

  • New HTTP status code documented: 504 timeout_error — request timed out while processing, with a recommendation to use streaming for long-running requests. [line 14] [Source]
  • Prefill limitation expanded: Claude Mythos Preview added alongside Opus 4.6 as models that return a 400 error when a prefilled last assistant message is included. [line 110] [Source]

Messages [Source]

  • New stop_details field added to the Message object: a RefusalStopDetails with category ("cyber" or "bio"), explanation, and type: "refusal". [line 5220] [Source]
  • RawMessageDeltaEvent.delta now includes stop_details alongside stop_reason and stop_sequence. [line 9447] [Source]

Messages Create [Source]

  • stop_details field added to the returned Message object with structured refusal details (RefusalStopDetails). [line 4384] [Source]