Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All releases Home olderv2.1.92 v2.1.96newer

Claude Code v2.1.94

33 entries read diff v2.1.92 → v2.1.94 Markdown

This release adds Amazon Bedrock (Mantle) as a new backend provider, introduces the --thinking-display CLI flag for controlling how thinking content appears, and substantially enhances the autofix-pr feature with full PR monitoring UI. Memory system improvements include a new "Dream" mode for background memory pruning/consolidation, tiny memory mode, and LLM-based memory synthesis. A new /team-onboarding command (feature-flagged) generates team ramp-up guides, and several quality-of-life improvements land around tmux/screen terminal detection, macOS Keychain diagnostics, and settings validation error reporting.

Find
Pick an entry · j / k steps through
10 entries

New Featuresopen

--thinking-display CLI Flag#

What

New CLI option to control how model thinking content is rendered in output.

Usage
claude --thinking-display summarized
claude --thinking-display omitted
Details
  • Choices: summarized or omitted
  • Complements the existing --thinking flag (which controls enabled, adaptive, disabled)
  • Allows users to get thinking benefits without verbose output
Evidence

CLI option definition (search for "--thinking-display")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Amazon Bedrock (Mantle) Provider#

What

New backend provider option enabling Claude Code to connect through Amazon Bedrock's managed Mantle service.

Usage
export CLAUDE_CODE_USE_MANTLE=1
claude
Details
  • Set CLAUDE_CODE_USE_MANTLE to enable the Mantle provider
  • Additional env vars: ANTHROPIC_BEDROCK_MANTLE_BASE_URL, ANTHROPIC_BEDROCK_MANTLE_API_KEY, CLAUDE_CODE_SKIP_MANTLE_AUTH
  • Uses bedrock-mantle as the service name with SigV4 authentication
  • Supports explicit AWS credentials or the standard AWS credential provider chain
  • Base URL pattern: https://bedrock-mantle.{region}.api.aws/anthropic
  • Mantle endpoints added to all model deployment configurations
  • Provider detection centralised into a single function that handles Mantle alongside existing providers (Bedrock, Vertex, Foundry)
  • The ANTHROPIC_BEDROCK_MANTLE_API_KEY is treated as sensitive and masked in logs
Evidence

Provider configuration (search for "Amazon Bedrock (Mantle)", "CLAUDE_CODE_USE_MANTLE", "bedrock-mantle")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Autofix PR — Full Implementation#

What

The autofix-pr command has been upgraded from a registered task name to a fully implemented feature with a React-based UI, PR validation, and remote session management.

Usage
/autofix-pr
Details
  • Spawns a remote Claude Code session that monitors the current PR for CI failures and review comments, then pushes fixes directly
  • Validates PR eligibility: checks the current branch is not the default branch, verifies a remote is set, and detects an open PR via gh pr view
  • Warns if there are unpushed local commits: "WARNING: You have unpushed local commits, run git push so the remote session sees them"
  • Communicates with the bridge API at /v1/code/github/subscribe-pr and /v1/code/github/unsubscribe-pr
  • Tracks telemetry events: tengu_autofix_pr_started, tengu_autofix_pr_result (success/failed/cancelled)
  • Requires allow_remote_sessions policy to be enabled
  • Shows progress UI: "Detecting open PR for current branch…", "Spawning remote Claude Code session…", "Spawned remote autofix PR session on {host} (PR #{number})"
Evidence

Autofix PR component (search for "Autofix PR", "Detecting open PR for current branch", "subscribe-pr")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Memory Dream Mode (Background Pruning & Consolidation)#

Feature flag
tengu_onyx_plover Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.94: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.94. It isn't a statement about your account. What a flag value here can and cannot tell you

What

New "Dream" system that automatically prunes and consolidates memory files in the background between sessions.

Details
  • Two dream modes:
  • Pruning: "delete stale or invalidated memories, and collapse duplicates"
  • Consolidation: "synthesize what you've learned recently into durable, well-organized memories"
  • User setting: autoDreamEnabled (boolean) — "Enable background memory consolidation (auto-dream). When set, overrides the server-side default."
  • Default thresholds: minimum 24 hours and 5 sessions between dreams (configurable via server flag)
  • Memory files are treated as immutable — combining means deleting old files and writing fresh single-fact replacements
  • Tool constraints during dream: Bash restricted to read-only commands plus rm for .md files inside the memory directory
  • Existing autoDreamEnabled setting existed in v2.1.92 but the Dream prompts and pruning/consolidation logic are new
Evidence

Dream instructions (search for "Dream: Memory Pruning", "autoDreamEnabled", "tengu_onyx_plover")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

LLM-Based Memory Synthesis#

Feature flag
tengu_billiard_aviary Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.94: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.94. It isn't a statement about your account. What a flag value here can and cannot tell you

What

New memory retrieval path that uses an LLM to synthesize relevant memories into a single paragraph, replacing the previous raw-file retrieval approach.

Details
  • When tiny memory mode (tengu_billiard_aviary) is active, uses LLM synthesis to produce contextually relevant memory summaries
  • System prompt instructs: "synthesize information directly relevant to" the current query
  • Output formatted as JSON with a one-paragraph synthesis
  • Recalled memories shown to users with: "Recalled from your persistent memory system:"
  • Synthesis memories are excluded from the standard memory context to avoid duplication
Evidence

Memory synthesis (search for "Synthesize memory information relevant to", "synthesizeRelevantMemories")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Agentic Search — Session ID Extraction#

What

Refactored agentic search now returns structured session_ids arrays instead of prose-based responses, making session search results more reliable.

Details
  • Search agent returns JSON: {"session_ids": ["<uuid>", ...]}
  • Response parsed via regex: /"session_ids"\s:\s(\[[^\]]*\])/g
  • Logs "Agentic search: no session_ids array in final response" when extraction fails
  • Session metadata display now includes tag, git branch, and project path (formatted via new uCY helper)
  • Search prompt refactored with separate system prompt constant for better maintainability
Evidence

Session ID extraction (search for "session_ids", "Agentic search: no session_ids array")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

chat:clearInput Keybinding#

What

New keyboard shortcut to clear the current chat input field.

Usage: Ctrl+L (or Cmd+L on macOS)

Details
  • Event name: chat:clearInput
  • Joins existing chat keybindings: Escape (cancel), Ctrl+X Ctrl+K (kill agents), Meta+P (model picker), Meta+O (fast mode), Meta+T (thinking toggle), Enter (submit)
Evidence

Keybinding definition (search for "chat:clearInput")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

macOS Keychain Diagnostics#

What

New keychain probe during claude doctor that tests whether the macOS Keychain is writable and provides actionable fix suggestions.

Details
  • Probes keychain write access during initialisation when probeKeychain: true is passed
  • New error messages:
  • "macOS Keychain is not writable"
  • "Failed to save API key to macOS Keychain"
  • Fix suggestion: "Run: security unlock-keychain ~/Library/Keychains/login.keychain-db"
  • Keychain operations now have explicit 5-second timeout and stderr-based error detection
  • Probe service name: "Claude Code-doctor-probe"
Evidence

Keychain probe (search for "macOS Keychain is not writable", "Claude Code-doctor-probe", "probeKeychain")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Settings Parse and Validation Error Reporting#

What

Settings files that fail to parse or validate are now reported with structured error information instead of being silently skipped.

Details
  • New structured error fields: path (dot-notation to field), message (human-readable), severity (set to "warning")
  • Settings errors section: "Settings parse and validation errors. When non-empty, the listed files were skipped during the merge above — their settings are not reflected in effective or sources."
  • Error types include invalid JSON, JSON comments, and schema mismatches
  • File path of the failing settings file is included in error output
Evidence

Settings validation (search for "Settings parse and validation errors", "severity")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Session Title Hook#

What

Hooks can now set the session title programmatically, enabling automated title assignment based on conversation content.

Details
  • New hook handler applies session title updates with sanitization
  • Titles sanitized: control characters removed, limited to 200 characters
  • Emits event after title update so UI stays in sync
  • Log message: "Hook sessionTitle applied"
Evidence

Session title hook (search for "Hook sessionTitle applied", "type\":\"custom-title\"")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

16 entries

Improvementsopen

Enhanced tmux Terminal Detection#

Terminal detection in tmux sessions now queries the actual terminal type via #{client_termtype} instead of relying solely on the TERM environment variable. This enables better color support and escape sequence handling when running inside tmux.

Evidence

tmux display-message query (search for "#{client_termtype}")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Screen (STY) Escape Sequence Fix#

Escape sequences for the GNU Screen terminal multiplexer now correctly wrap content using DCS passthrough (\x1BP...\x1B\\) with proper double-escaping of embedded escape characters. Previously this wrapping could produce malformed sequences.

Evidence

STY escape handler (search for process.env.STY)

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Improved API Error Classification#

HTTP error codes are now mapped to user-friendly status messages in the retry UI:

  • 429 → "Rate limited"
  • 529 → "API overloaded" (new)
  • 401/403 → "Authentication error"

The retry display shows the error reason, retry countdown timer, and attempt number in a structured warning frame.

Evidence

Error mapping function (search for "API overloaded", "Rate limited")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

/feedback Command Authentication Check#

The /feedback command now checks for valid Anthropic credentials before attempting to submit. If no OAuth token or API key is found, it returns: "/feedback requires Anthropic credentials (OAuth or API key)."

Evidence

Feedback auth check (search for "/feedback requires")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Team Memory Sync — Forbidden Error Handling#

Team memory sync now explicitly detects HTTP 403 responses and returns "Forbidden by server policy" with skipRetry: true and errorType: "forbidden", preventing futile retry loops when server policy blocks access.

Evidence

Forbidden handling (search for "Forbidden by server policy")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Feedback Payload Size Validation#

Feedback submissions now validate payload size before sending (8 MB limit). If the payload exceeds the limit or the server returns 413, the error is surfaced as payloadTooLarge rather than a generic failure.

Evidence

Payload validation (search for "payloadTooLarge")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

WebSocket Decompression Bomb Protection#

WebSocket message handling now tracks cumulative decompressed size and enforces a maxDecompressedMessageSize limit (default 4 MB). Messages exceeding this limit are rejected with "Max decompressed message size exceeded".

Evidence

Decompression protection (search for "maxDecompressedMessageSize")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

UTF-8 Encoding for stream-json Input#

The stream-json input mode now explicitly sets UTF-8 encoding on process.stdin, preventing encoding issues that could corrupt multi-byte characters.

Evidence

Encoding fix (search for "stream-json" near "utf-8")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Plugin Bin Path Security#

Plugin bin directories are now validated against shell metacharacters before being added to PATH. Paths containing dangerous characters are dropped with a warning: "Dropping plugin bin path with shell metacharacters."

Evidence

Bin path security (search for "Dropping plugin bin path with shell metacharacters")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Memory System — Immutability Enforcement#

Memory files are now explicitly treated as immutable across the system. Edit and Write tools are blocked for memory paths with the message: "is not permitted — memories are immutable, so delete-and-recreate replaces in-place edits." In tiny memory mode, the restriction is phrased as: "is not permitted in tiny memory mode — memories are immutable, so delete via Bash rm and rewrite."

Evidence

Memory immutability enforcement (search for "memories are immutable")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Improved Memory Save Instructions#

Memory save guidance has been significantly expanded with:

  • Each memory file should contain one paragraph about a single fact
  • Frontmatter format with type, scope, and created date
  • Instructions to check for duplicates before writing
  • Separate scope guidance for private vs team memories
  • Delete-and-recreate workflow instead of in-place edits
Evidence

Memory documentation (search for "Each memory file should contain one paragraph")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Model Restart Notification#

When changing models, Claude Code now shows "Restarting Claude Code to apply the new model…" and automatically relaunches, rather than requiring a manual restart.

Evidence

Restart message (search for "Restarting Claude Code to apply the new model")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Hook Validation — Environment Variable Checks#

Hook commands now validate that environment variable references (${...}) match the correct variables available for that hook type. Invalid references produce warnings during validation.

Evidence

Hook env var validation (search for "Hook command references ${")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Skill Name Sanitization#

Skill names from plugins are now sanitized by removing invalid characters and replacing them with hyphens ([^a-zA-Z0-9_-]-), preventing registration failures from names with special characters.

Evidence

Skill name sanitization (search for "[^a-zA-Z0-9_-]")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Updated Task/Agent Tool Documentation#

The Task tool's system prompt has been condensed and reorganised. The "When NOT to use" section is now streamlined, examples are updated, and the isolation: "worktree" option and agent resumption via to field are better documented.

Evidence

Task tool help (search for "Launch a new agent to handle complex, multi-step tasks")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

1 entry

Bug Fixesopen

#

  • Fixed UTF-8 encoding for stream-json input mode to prevent multi-byte character corruption (search for "stream-json" near "utf-8")
  • Fixed escape sequence handling in GNU Screen (STY) terminal multiplexer — properly wraps DCS passthrough sequences with double-escaped embedded escapes (search for process.env.STY in tD function)
  • Fixed PATH extraction on Windows to use shell-aware subprocess for correct environment resolution (search for h1Y)
  • Added defensive guard in team memory watcher to check identifier existence before processing, preventing potential crashes (search for "team-memory-watcher: suppressing retry")
  • Session title updates now emit events to keep the UI synchronized (search for "rA7.emit()")
3 entries

In Developmentopen

#

Features with infrastructure added but not yet enabled. These are shipped "dark" and may become available in future versions.

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

/team-onboarding Command [Gradual Rollout]#

Feature flag
tengu_flint_harbor Running as an experiment

This flag is being run as an experiment, so a single reading is one arm of it and another account can be in another arm. Read the values below as a sample instead of a setting.

This account: off · anonymous baseline: on · compiled default in v2.1.94: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

tengu_flint_harbor_prompt Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.94: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.94. It isn't a statement about your account. What a flag value here can and cannot tell you

What

Generates team onboarding guides by analysing your Claude Code usage patterns across sessions, then produces a shareable guide for teammates.

Status

Feature-flagged via tengu_flint_harbor (default: false). Can also be enabled with CLAUDE_CODE_TEAM_ONBOARDING=1.

Details
  • Scans session transcripts for usage metrics: slash commands, MCP servers, project patterns
  • Generates markdown onboarding guide with team-specific recommendations
  • Uses allowed tools: Edit(ONBOARDING.md) and Bash(ls:*)
  • Shows progress: "scanning usage data"
  • Discovery variant controlled by tengu_cedar_inlet flag
  • Custom prompt/template configurable via tengu_flint_harbor_prompt
  • Onboarding banner visible to users: "On a team? Ask a teammate to run /team-onboarding and share the guide."
Evidence

Command definition (search for "team-onboarding", "tengu_flint_harbor")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Tiny Memory Mode [Gradual Rollout]#

Feature flag
tengu_billiard_aviary Off in both readings

The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.

This account: off · anonymous baseline: off · compiled default in v2.1.94: no gate table built for this version

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

Read once, for one account on one subscription tier, against v2.1.94. It isn't a statement about your account. What a flag value here can and cannot tell you

What

Alternative memory storage mode that uses a separate tiny_memory directory with reduced footprint and LLM-based synthesis for retrieval.

Status

Feature-flagged via tengu_billiard_aviary (default: false).

Details
  • When enabled, memory directory switches from memory to tiny_memory
  • Memory files get YAML frontmatter timestamps (created:, last_read:)
  • Read-only shell commands and rm for .md files only are permitted during memory operations
  • Memory retrieval uses LLM synthesis instead of raw file contents
  • Team memory paths are excluded from tiny memory mode
  • Timestamp stamping: tinyMemoryStamps tracks file modification
Evidence

Feature flag and directory selection (search for "tengu_billiard_aviary", "tiny_memory")

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

1 entry

Notesopen

#

The XML/DOM parsing library has been replaced. The previous xmldom-based parser (with error messages like "end tag name: X is not complete", "unclosed xml attribute", etc.) has been swapped for a new implementation with W3C-compliant DOM exceptions (DOMException types like HierarchyRequestError, InvalidCharacterError, NamespaceError, etc.) and stricter validation. This is an internal change but may surface different error messages if XML parsing is used by MCP servers or plugins.

Several Smithy/AWS SDK utility modules (FetchHttpHandler, buildQueryString, escapeUri, fromBase64, toBase64, etc.) have been removed as standalone CommonJS modules and replaced by native implementations, reducing bundle size.

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.94. Text is unmodified from the upstream changelog. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

  • Added support for Amazon Bedrock powered by Mantle, set CLAUDE_CODE_USE_MANTLE=1
  • Changed default effort level from medium to high for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users (control this with /effort)
  • Added compact Slacked #channel header with a 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, giving a stable name across install methods
  • Fixed agents appearing stuck after a 429 rate-limit response with a long Retry-After header — the error now surfaces immediately instead of silently waiting
  • Fixed Console login on macOS silently failing with "Not logged in" when the login keychain is locked or its password is out of sync — the error is now surfaced and claude doctor diagnoses the fix
  • 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 ${CLAUDE_PLUGIN_ROOT} resolving to the marketplace source directory instead of the installed cache for local-marketplace plugins on startup
  • Fixed scrollback showing the same diff repeated and blank pages in long-running sessions
  • Fixed multiline user prompts in the transcript indenting wrapped lines under the caret instead of under the text
  • Fixed Shift+Space inserting the literal word "space" instead of a space character in search inputs
  • Fixed hyperlinks opening two browser tabs when clicked inside tmux running in an xterm.js-based terminal (VS Code, Hyper, Tabby)
  • Fixed an alt-screen rendering bug where content height changes mid-scroll could leave compounding ghost lines
  • Fixed FORCE_HYPERLINK environment variable being ignored when set via settings.json env
  • Fixed native terminal cursor not tracking the selected tab in dialogs, so screen readers and magnifiers can follow tab navigation
  • Fixed Bedrock invocation of Sonnet 3.5 v2 by using the us. inference profile ID
  • Fixed SDK/print mode not preserving the partial assistant response in conversation history when interrupted mid-stream
  • Improved --resume to resume sessions from other worktrees of the same repo directly instead of printing a cd command
  • Fixed CJK and other multibyte text being corrupted with U+FFFD in stream-json input/output when chunk boundaries split a UTF-8 sequence
  • [VSCode] Reduced cold-open subprocess work on starting a session
  • [VSCode] Fixed dropdown menus selecting the wrong item when the mouse was over the list while typing or using arrow keys
  • [VSCode] Added a warning banner when settings.json files fail to parse, so users know their permission rules are not being applied
System prompt

The system prompt was not captured for this release, so this page cannot say whether it moved.