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_profilesendpoints - 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_detailsfield 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 #channelheader with clickable channel link for Slack MCP send-message tool calls - Added
keep-coding-instructionsfrontmatter field support for plugin output styles - Added
hookSpecificOutput.sessionTitletoUserPromptSubmithooks for setting the session title - Plugin skills declared via
"skills": ["./"]now use the skill's frontmatternamefor 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
--resumeto resume sessions from other worktrees of the same repo directly instead of printing acdcommand
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_ROOTwas 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_HYPERLINKenvironment variable being ignored when set viasettings.jsonenv - 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.jsonfiles fail to parse
2.1.96
Major bug fixes
- Fixed Bedrock requests failing with
403 "Authorization header is missing"when usingAWS_BEARER_TOKEN_BEDROCKorCLAUDE_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
~/.claudeduring 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
/resumepicker, 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 viacleanupPeriodDays. [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_MSnow 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 errornotice 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:
WorktreeCreateaborts on any non-zero exit). [line 491] [Source] suppressOutputJSON field now omits stdout from the debug log (previously suppressed verbose mode output). [line 556] [Source]- New
sessionTitlefield added toUserPromptSubmithook 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--debugto 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-fileandtail -f. [line 800] [Source] - Non-zero exit code description updated to match hooks.md changes. [line 446] [Source]
Interactive Mode [Source]
Ctrl+Lbehavior changed from "Redraw the screen" to "Clear prompt input" (clears typed text, keeps conversation history). [line 16] [Source]
Keybindings [Source]
app:redrawis now unbound (was Ctrl+L). Newchat:clearInputaction added, bound to Ctrl+L. [line 71] [Source]
Model Configuration [Source]
- New "Mantle model IDs" section: entries in
availableModelsstarting withanthropic.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 Reference [Source]
- When a skill path points to a directory containing a
SKILL.mddirectly (e.g."skills": ["./"]), the frontmatternamefield 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
effortunset by default; the underlying engine resolves a model-dependent default (previously TypeScript defaulted to"high"). [line 134] [Source] planpermission 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: trueis preferred because it gives control over the error message Claude sees. [line 224] [Source]
Permissions [Source]
planmode 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]
allowedToolsmust now be paired withpermissionMode: "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_largeerror 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"}ortool_choice: {"type": "tool", ...}return a 400 error. Onlyautoandnoneare supported. [line 148] [Source]
Tool Search Tool [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-24anduser-profiles-2026-03-24. [line 58] [Source] - New
BetaRefusalStopDetailsobject added to theBetaMessageresponse: astop_detailsfield withcategory("cyber" or "bio") andexplanation, providing structured information about refusals. [line 14688] [Source] - New User Profiles section added (CRUD endpoints) with
BetaUserProfile,BetaUserProfileEnrollmentURL, andBetaUserProfileTrustGrantmodels. - Skill and SkillVersion response model schemas (
SkillCreateResponse,SkillListResponse,SkillDeleteResponse,VersionCreateResponse, etc.) added to the beta API reference.
Beta Messages Create [Source]
- New
user_profile_idoptional 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_detailsfield added to theBetaMessageresponse 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_detailsfield added to theMessageobject: aRefusalStopDetailswithcategory("cyber" or "bio"),explanation, andtype: "refusal". [line 5220] [Source] RawMessageDeltaEvent.deltanow includesstop_detailsalongsidestop_reasonandstop_sequence. [line 9447] [Source]