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.75 v2.1.77newer

Claude Code v2.1.76

21 entries read diff v2.1.75 → v2.1.76 Markdown

This release adds the /effort slash command for controlling model effort level, replaces the interactive hooks editor with a read-only viewer, introduces automatic background memory extraction (feature-flagged), adds a PostCompact hook event, and makes the --plugin-dir flag repeatable for loading multiple session-only plugin directories.

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

Changesopen

/effort Slash Command#

What

A new built-in slash command to view and set the model effort level directly from the REPL, without navigating into /config.

Usage
/effort              # Show current effort level
/effort medium       # Set to medium
/effort max          # Maximum reasoning depth (Opus 4.6 only)
/effort auto         # Reset to automatic (default)
Details
  • Effort levels: low, medium, high, max, auto
  • Named levels are persisted to user settings (effortLevel in settings.json)
  • auto clears the setting, returning to the model default
  • Each level has a descriptive summary (e.g. "Balanced approach with standard implementation and testing")
Evidence

/effort command registration (search for name: "effort", description: "Set effort level for model usage")

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.

PostCompact Hook Event#

What

A new hook event that fires after conversation compaction completes, letting you run shell commands or prompts in response to compaction.

Details
  • Hook event name: PostCompact
  • Input includes compaction details and the summary text
  • Allows post-processing after compaction (e.g., logging, notification, or custom follow-up actions)
  • Hook output: exit code 0 shows stdout to user; other exit codes show stderr only
Evidence

PostCompact hook event definition (search for hook_event_name: C.literal("PostCompact"), "Running PostCompact hooks…")

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.

Built-in Hooks#

What

A new category of hooks that are registered internally by Claude Code, distinct from user-configured and plugin hooks.

Details
  • Shown separately in the hooks viewer as "Built-in Hooks" / "Built-in hooks (registered internally by Claude Code)"
  • Cannot be modified by users—they are part of the Claude Code runtime
  • Visible in the /hooks UI for transparency
Evidence

Built-in hooks category (search for "Built-in hooks (registered internally by Claude Code)")

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

Bundled Skill Reference Files#

What

Built-in skills can now declare reference files that are extracted to a temporary directory at runtime, making them available for the skill prompt to reference.

Details
  • Skills define a files property in their registration, mapping relative paths to file content
  • Files are extracted to a per-skill directory inside the Claude Code data directory
  • Path traversal is blocked (bundled skill file path escapes skill dir: error)
  • Files are written with O_NOFOLLOW to prevent symlink attacks
  • The skill prompt is prefixed with Base directory for this skill: <path>
Evidence

Bundled skill file extraction (search for "Bundled skill reference files are allowed for reading", "Failed to extract bundled skill '")

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

Hooks UI Redesigned as Read-Only Viewer#

The /hooks command has been redesigned from a full hook management interface (add, edit, delete) to a read-only viewer. Users can browse hook events, matchers, and see hook details, but can no longer modify hooks through the UI.

What changed:

  • Removed: "Add new hook", "Delete hook?", "Delete matcher?", "Save hook configuration", "Where should this hook be saved?" dialogs
  • Added: "Hook details" detail view showing event, matcher, type, source, command/prompt, and status message
  • Added: "This menu is read-only. To add or modify hooks, edit settings.json directly or ask Claude."
  • Added: "To re-enable hooks, remove disableAllHooks from settings.json or ask Claude."
  • Navigation: "Esc to go back" / "Esc to close" guides
  • Description changed from "Manage hook configurations" to "View hook configurations"
Evidence

Read-only hooks viewer (search for "View hook configurations", "This menu is read-only", "Hook details")

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

--plugin-dir Flag Now Repeatable#

The --plugin-dir flag has been updated from accepting a single paths argument to being individually repeatable.

What changed:

  • Old: --plugin-dir <paths...> (space-separated paths in one argument)
  • New: --plugin-dir <path> (repeat the flag: --plugin-dir A --plugin-dir B)
  • Session-only plugins are now labeled as "Session-only plugins (--plugin-dir):" in the UI
  • The reserved marketplace name "inline" is used internally for --plugin-dir session plugins
Evidence

Repeatable plugin-dir flag (search for "Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)")

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

Language Setting Now Includes Voice Dictation#

The preferred language setting description has been expanded to explicitly include voice dictation.

What changed:

  • Old: Preferred language for Claude responses (e.g., "japanese", "spanish")
  • New: Preferred language for Claude responses and voice dictation (e.g., "japanese", "spanish")
  • New dictation language display: shows current dictation language with unsupported-language warning
Evidence

Language setting update (search for "Preferred language for Claude responses and voice dictation", "Dictation language:")

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

Disabled Organization Error Handling#

New error messages provide better guidance when an ANTHROPIC_API_KEY belongs to a disabled organization.

Details
  • Subscription users: "Your ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your subscription instead"
  • Other users: "Your ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the environment variable"
  • Organization verification errors now include actionable guidance about token scope and managed settings
Evidence

Disabled org handling (search for "organization has been disabled", "Your ANTHROPIC_API_KEY belongs to a disabled organization")

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

Session Transcript Retention Semantics Changed#

The transcriptRetentionDays setting now has stricter behavior when set to 0.

What changed:

  • Old: "Number of days to retain chat transcripts (0 to disable cleanup)" — 0 meant keep forever
  • New: "Number of days to retain chat transcripts (default: 30). Setting to 0 disables session persistence entirely: no transcripts are written and existing transcripts are deleted at startup."
  • This is a behavioral change: setting 0 previously preserved transcripts forever; now it deletes them
Evidence

Transcript retention change (search for "disables session persistence entirely")

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.

Stale Agent Worktree Cleanup#

Agent worktrees that are no longer active are now automatically cleaned up.

Details
  • Worktrees with no uncommitted changes and no unpushed commits are removed
  • The current session's worktree is never cleaned up
  • Cleanup runs git worktree prune after removal
  • Logged as: cleanupStaleAgentWorktrees: removed N stale worktree(s)
Evidence

Worktree cleanup (search for "cleanupStaleAgentWorktrees")

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.

Compaction Now Preserves Message Segments#

Conversation compaction can now preserve a segment of recent messages instead of summarizing everything.

Details
  • Compacted boundaries include a preservedSegment with headUuid, anchorUuid, and tailUuid
  • Loaders splice the preserved segment at the anchor point so resumed sessions include actual message content
  • Metadata is serialized as preserved_segment in transcript files
Evidence

Preserved segment in compaction (search for "preservedSegment", "Relink info for messagesToKeep")

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.

Read Tool Guidance Updated#

The Read tool system prompt now encourages partial file reads when the needed section is known.

What changed:

  • Added: "When you already know which part of the file you need, only read that part. This can be important for larger files."
  • This supplements the existing guidance about offset/limit parameters
Evidence

Read tool guidance (search for "When you already know which part of the file you need")

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

PDF Reading Now Requires Anthropic API#

Full PDF reading (without specifying page ranges) now requires the Anthropic API and poppler-utils.

What changed:

  • Old: "PDF reading is not supported. Install poppler-utils..."
  • New: "Reading full PDFs is only supported with the Anthropic API. Use the pages parameter to read specific page ranges (e.g., pages: \"1-5\", maximum N pages per request). This requires poppler-utils: install with brew install poppler on macOS or apt-get install poppler-utils on Debian/Ubuntu."
Evidence

PDF reading message (search for "Reading full PDFs is only supported with the Anthropic API")

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.

Plugin Dependency Resolution Enhanced#

Plugin dependencies can now be specified as bare names (without @marketplace) and are resolved against the declaring plugin's own marketplace.

Details
  • Dependency must be a plugin name, optionally qualified with @marketplace
  • Bare names resolve against the parent plugin's marketplace source
  • The "inline" marketplace name is reserved for --plugin-dir session plugins
Evidence

Plugin dependency resolution (search for "Dependency must be a plugin name, optionally qualified with @marketplace")

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.

LSP Server Manager Reinitialization#

A new reinitializeLspServerManager() function allows the LSP server manager to be restarted without restarting the entire session, useful when plugin configurations change.

Evidence

LSP reinit (search for "[LSP MANAGER] reinitializeLspServerManager() called")

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

MCP Tool Call Error Type#

A dedicated McpToolCallError error type has been added for MCP (Model Context Protocol) tool call failures, providing better error categorization.

Evidence

Error type (search for "McpToolCallError")

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

ExitPlanMode Tool Description Clarified#

The ExitPlanMode tool description now explicitly states it's only for plan mode: "present plan for approval and start coding (plan mode only)". An error message was also added: "You are not in plan mode. This tool is only for exiting plan mode after writing a plan."

Evidence

ExitPlanMode update (search for "present plan for approval and start coding (plan mode only)")

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

5 entries

Bug Fixesopen

#

  • Fixed autocompact circuit breaker to stop retrying after repeated failures: "autocompact: circuit breaker tripped after N consecutive failures — skipping future attempts this session" (search for "circuit breaker tripped")
  • Prompt/memory count now only counts messages after the last compaction boundary, fixing inflated counts in long sessions (search for "compact_boundary" in UFY)
  • Tool schema discovery warning now explains why typed parameters fail and how to fix it: "This tool's schema was not sent to the API — it was not in the discovered-tool set" (search for "This tool's schema was not sent to the API")

Automatic Memory Extraction [In Development]#

Feature flag
tengu_passport_quail 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.76: 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_bramble_lintel 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.76: 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.76. It isn't a statement about your account. What a flag value here can and cannot tell you

What

A background agent that automatically extracts and saves memories from conversations, running alongside the main conversation without user intervention.

Status

Feature-flagged behind tengu_passport_quail (default: false)

Details
  • After each turn, a background agent analyzes recent messages and saves relevant information to memory files
  • Uses the tengu_bramble_lintel flag to control how many turns to accumulate before running (default: 1)
  • Supports both private (user-only) and team (shared) memory scopes
  • Team memory format controlled by tengu_swinburne_dune flag (alternative two-step format)
  • Tracks which files the conversation has already written to, skipping extraction if the user manually saved memories
  • Coalesces rapid extractions: if one is already running, subsequent requests are stashed for a trailing run
  • Sends notification: "Saved N memor(y|ies)" when memories are written
  • Memory extraction agent is restricted to only Write, Read, and Edit tools within the memory directory
  • System prompt: "A background agent automatically extracts and saves memories from this conversation. If the user asks you to remember or forget something, acknowledge it — the save happens automatically."
Evidence

Memory extraction system (search for "tengu_passport_quail", "[extractMemories]", "extract_memories")

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

Session Quality Survey [In Development]#

What

An in-session quality survey that can appear when a session is eligible.

Status

Feature-flagged — controlled by a probability setting (suggested starting point: 0.05)

Details
  • Configuration: "Probability (0–1) that the session quality survey appears when eligible. 0.05 is a reasonable starting point."
  • No evidence of the survey UI itself in the diff, suggesting infrastructure only
Evidence

Survey config (search for "session quality survey")

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

Cancel Async Message [In Development]#

What

Ability to cancel a pending async user message from the command queue by UUID.

Status

Infrastructure added

Details
  • Operation: cancel_async_message drops a pending message that hasn't been dequeued yet
  • Result includes cancelled boolean: false means the message was already dequeued or never enqueued
  • Related to Remote Control bridge functionality
Evidence

Async message cancellation (search for "cancel_async_message", "Drops a pending async user message")

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

Bridge Debug Commands (Internal)#

What

A /bridge-kick debug command for injecting failure states into the Remote Control bridge for manual recovery testing.

Status

Registered but explicitly disabled (isEnabled: () => !1)

Details
  • Subcommands: close, poll, register, reconnect-session, heartbeat, reconnect, status
  • Only available when Remote Control is connected (USER_TYPE=ant)
  • Intended for internal Anthropic debugging, not user-facing
Evidence

Bridge debug command (search for "bridge-kick", "Inject bridge failure states")

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

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.76. 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 MCP elicitation support — MCP servers can now request structured input mid-task via an interactive dialog (form fields or browser URL)
  • Added new Elicitation and ElicitationResult hooks to intercept and override responses before they're sent back
  • Added -n / --name <name> CLI flag to set a display name for the session at startup
  • Added worktree.sparsePaths setting for claude --worktree in large monorepos to check out only the directories you need via git sparse-checkout
  • Added PostCompact hook that fires after compaction completes
  • Added /effort slash command to set model effort level
  • Added session quality survey — enterprise admins can configure the sample rate via the feedbackSurveyRate setting
  • Fixed deferred tools (loaded via ToolSearch) losing their input schemas after conversation compaction, causing array and number parameters to be rejected with type errors
  • Fixed slash commands showing "Unknown skill"
  • Fixed plan mode asking for re-approval after the plan was already accepted
  • Fixed voice mode swallowing keypresses while a permission dialog or plan editor was open
  • Fixed /voice not working on Windows when installed via npm
  • Fixed spurious "Context limit reached" when invoking a skill with model: frontmatter on a 1M-context session
  • Fixed "adaptive thinking is not supported on this model" error when using non-standard model strings
  • Fixed Bash(cmd:*) permission rules not matching when a quoted argument contains #
  • Fixed "don't ask again" in the Bash permission dialog showing the full raw command for pipes and compound commands
  • Fixed auto-compaction retrying indefinitely after consecutive failures — a circuit breaker now stops after 3 attempts
  • Fixed MCP reconnect spinner persisting after successful reconnection
  • Fixed LSP plugins not registering servers when the LSP Manager initialized before marketplaces were reconciled
  • Fixed clipboard copying in tmux over SSH — now attempts both direct terminal write and tmux clipboard integration
  • Fixed /export showing only the filename instead of the full file path in the success message
  • Fixed transcript not auto-scrolling to new messages after selecting text
  • Fixed Escape key not working to exit the login method selection screen
  • Fixed several Remote Control issues: sessions silently dying when the server reaps an idle environment, rapid messages being queued one-at-a-time instead of batched, and stale work items causing redelivery after JWT refresh
  • Fixed bridge sessions failing to recover after extended WebSocket disconnects
  • Fixed slash commands not found when typing the exact name of a soft-hidden command
  • Improved --worktree startup performance by reading git refs directly and skipping redundant git fetch when the remote branch is already available locally
  • Improved background agent behavior — killing a background agent now preserves its partial results in the conversation context
  • Improved model fallback notifications — now always visible instead of hidden behind verbose mode, with human-friendly model names
  • Improved blockquote readability on dark terminal themes — text is now italic with a left bar instead of dim
  • Improved stale worktree cleanup — worktrees left behind after an interrupted parallel run are now automatically cleaned up
  • Improved Remote Control session titles — now derived from your first prompt instead of showing "Interactive session"
  • Improved /voice to show your dictation language on enable and warn when your language setting isn't supported for voice input
  • Updated --plugin-dir to only accept one path to support subcommands — use repeated --plugin-dir for multiple directories
  • [VSCode] Fixed gitignore patterns containing commas silently excluding entire filetypes from the @-mention file picker
System prompt

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