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.19 v2.1.21newer

Claude Code v2.1.20

20 entries read diff v2.1.19 → v2.1.20 Markdown

Version 2.1.20 introduces a comprehensive keybindings customization system via a new /keybindings skill, adds several new CLI debugging flags (--debug-file, --hard-fail, --who-owns), significantly enhances sandbox security with Unix socket ownership verification, and refactors the teammate messaging system with a new SendMessageTool. The release also removes the git attribution system and improves UI notifications throughout.

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

Changesopen

Keybindings Customization Skill#

What

New /keybindings skill enables full customization of keyboard shortcuts via ~/.claude/keybindings.json configuration file.

Usage
/keybindings
Details
  • Create custom keybindings organized by context (Global, Chat, Autocomplete, etc.)
  • Support for chord bindings (multi-keystroke shortcuts like ctrl+k ctrl+s)
  • Validation integrated into /doctor command with detailed error/warning messages
  • Unbind default shortcuts by setting them to null
  • Schema validation with JSON Schema support for editor autocomplete
  • Documentation at https://code.claude.com/docs/en/keybindings
Evidence

Skill registration at line 748555 (name: "keybindings-help", contains "Use when the user wants to customize keyboard shortcuts")

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.

Debug Logging to File#

What

New --debug-file CLI flag writes debug logs to a specific file path.

Usage
claude --debug-file /path/to/debug.log
claude --debug-file=/path/to/debug.log
Details
  • Implicitly enables debug mode when specified
  • Useful for persistent debugging and troubleshooting
Evidence

Argument parser at line 2836 (if (K.startsWith("--debug-file="))) and help text at line 577087 ("--debug-file <path>")

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

Hard Fail Mode#

What

New --hard-fail CLI flag causes Claude Code to exit immediately on certain errors rather than attempting recovery.

Usage
claude --hard-fail
Details
  • Useful for CI/CD pipelines and automated testing
  • Ensures failures are detected rather than silently handled
Evidence

Detection at line 5582 (return process.argv.includes("--hard-fail"))

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

Package Manager Ownership Detection#

What

New --who-owns integration for Alpine Linux (apk) package manager to verify file ownership.

Usage

Internal feature - automatically used when verifying Claude Code installation on Alpine Linux.

Details
  • Detects apk-managed installations with logging: "Detected apk installation: ..."
  • Also detects deb, rpm, and pacman installations
  • Enables better package manager integration and update guidance
Evidence

APK query at line 419998 (OP1("apk", ["info", "--who-owns", K]) and detection logs at lines 420004, 420011, 420018, 420025

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.

SendMessageTool for Teammate Communication#

What

New SendMessageTool replaces previous teammate messaging implementation with clearer protocol separation.

Usage

Internal tool used by agents in swarm mode.

Details
  • Handles message, broadcast, request, and response types
  • Protocol subtypes for shutdown and plan approval workflows
  • Better error messages for missing parameters
  • Improved in-process teammate abort handling
Evidence

Tool definition at line 448126 (SendMessageTool: () => tT2) with logging prefix [SendMessageTool] at lines 448249, 448275, 448284

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.

Compact Conversation Keybinding#

What

New ctrl+k ctrl+k chord keybinding to trigger /compact command.

Usage
ctrl+k ctrl+k
Details
  • Quick access to conversation compaction
  • Uses the new chord keybinding system
  • Replaces removed ctrl+k ctrl+c for /commit
Evidence

Keybinding definition at line 486662 ("ctrl+k ctrl+k": "command:compact")

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

"Newspapering" Feature#

What

New feature or mode referenced in codebase (details unclear from minified code).

Usage

Internal implementation detail.

Evidence

String literal at line 388067 ("Newspapering")

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

Enhanced Sandbox Security#

What

Significantly improved Unix domain socket security with ownership verification and stale socket cleanup.

Details
  • Socket directory ownership check: warns if directory owned by different user
  • Stale socket cleanup: removes sockets for non-running PIDs
  • Better seccomp filter path discovery for global @anthropic-ai/sandbox-runtime installations
  • Added .npm-global to seccomp binary search paths
  • Improved error messages with actionable installation instructions
  • Warning when seccomp binaries unavailable: "[Sandbox Linux] Seccomp binaries not available - unix socket blocking disabled. Install @anthropic-ai/sandbox-runtime globally for full protection."
Evidence

Socket ownership check at line 523583 ("Socket directory not owned by current user"), stale socket cleanup messages, seccomp search paths at line 95936 (".npm-global"), warning at line 96398

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

Browser MCP Accessibility Tree Improvements#

What

MCP browser tool's accessibility tree output limit is now configurable.

Details
  • Default limit remains 50,000 characters
  • New parameter allows setting custom limits for clients that can handle larger outputs
  • More flexible description: "Output is limited to 50000 characters by default" (was: "Output is limited to 50000 characters")
  • New parameter: "Maximum characters for output (default: 50000). Set to a higher value if your client can handle large outputs."
Evidence

Description change at line 522359 and parameter at line 522387

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

Updated Conversation Compaction Notification#

What

Compaction notification now shows "✻ Conversation compacted" with visual symbol instead of plain text.

Details
  • Old: Conversation compacted · {keybinding} for history
  • New: ✻ Conversation compacted ({keybinding} for history)
  • More visually distinct in transcript
Evidence

Notification text at line 410281 ("✻ Conversation compacted (")

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

Improved Permission Dialog Text#

What

Refined safety check messaging for workspace trust.

Details
  • Slightly more concise wording in safety prompt
  • Old: "Quick safety check: ... If not, take a moment to review what's in this folder first."
  • New: "Quick safety check: ... If not, take a moment to review what"
  • Message continues with context about Claude Code's file access capabilities
Evidence

Safety message at line 570322

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

Guest Pass Notification Enhancement#

What

Clearer guest pass sharing notification in UI.

Details
  • More prominent formatting: "You have free guest passes to share · /passes"
  • Encourages user engagement with referral system
Evidence

Notification at line 562731

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

Enhanced Task and Agent Status Logging#

What

More detailed logging for task claiming and agent operations.

Details
  • New logs: [inProcessRunner] Claimed task #N: {subject}
  • Task failure logging: [inProcessRunner] Failed to claim task #N
  • Task list check errors: [inProcessRunner] Error checking task list:
  • New logs for task assignment and completion
Evidence

Logs at lines 422622, 522622, 522628 with prefix [inProcessRunner]

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

Layout Engine Identification#

What

Explicit layout engine logging for debugging rendering issues.

Details
  • Logs: "Layout engine: yoga" and "[render] initLayout starting/complete"
  • Helps diagnose UI rendering problems
Evidence

Engine log at line 174577, render logs at lines 182436-182438

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.

Message Structure Repair#

What

Automatic repair of malformed tool result pairings in conversation history.

Details
  • Detects and repairs missing tool_result blocks
  • Logs: ensureToolResultPairing: repaired missing tool_result blocks (X -> Y messages)
  • Prevents conversation corruption from improperly paired tool uses
Evidence

Repair logging at line 469512

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

Team Workflow Enhancements#

What

Improved teammate communication and protocol handling.

Details
  • Operation descriptions now mention "discoverTeams to list available teams to join"
  • Better error messages for missing parameters in teammate operations
  • Clearer separation between message types (message, broadcast, request, response)
Evidence

Operation description updates in SendMessageTool schema, error messages for missing recipient, request_id, etc.

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

Git Attribution System#

What

Removed automatic git commit trailer attribution system.

Details
  • Removed all "Attribution hook:" logging
  • Removed Claude-Generated-By: git trailers
  • Removed Claude-Escapes:, Claude-Permission-Prompts:, Claude-Session:, Claude-Steers: trailers
  • No longer tracks file contributions or calculates Claude percentage
  • Simplifies git workflow and removes potentially confusing commit metadata
Evidence

All Attribution: and Attribution hook: log strings removed from codebase (verified absent in v2.1.20)

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.

Removed /commit Keybinding#

What

Removed ctrl+k ctrl+k keybinding for /commit command.

Details
  • Previous binding: ctrl+k ctrl+c/commit
  • Now unbound by default
  • Users can re-add via custom keybindings if desired
Evidence

Binding "ctrl+k ctrl+c": "command:commit" existed in v2.1.19 line 483280, not present in v2.1.20

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.

Removed Permission UI Elements#

What

Simplified permission request UI removed some verbose text and interactive elements.

Details
  • Removed: "Do you trust the files in this folder?"
  • Removed: "(shift+↑/↓ to select)" navigation hints
  • Removed: Several verbose permission dialog messages
  • Streamlined to clearer, more concise safety checks
Evidence

Strings like "Do you trust the files in this folder?", "shift+↑/↓ to select" removed from v2.1.20

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.20. 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 arrow key history navigation in vim normal mode when cursor cannot move further
  • Added external editor shortcut (Ctrl+G) to the help menu for better discoverability
  • Added PR review status indicator to the prompt footer, showing the current branch's PR state (approved, changes requested, pending, or draft) as a colored dot with a clickable link
  • Added support for loading CLAUDE.md files from additional directories specified via --add-dir flag (requires setting CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1)
  • Added ability to delete tasks via the TaskUpdate tool
  • Fixed session compaction issues that could cause resume to load full history instead of the compact summary
  • Fixed agents sometimes ignoring user messages sent while actively working on a task
  • Fixed wide character (emoji, CJK) rendering artifacts where trailing columns were not cleared when replaced by narrower characters
  • Fixed JSON parsing errors when MCP tool responses contain special Unicode characters
  • Fixed up/down arrow keys in multi-line and wrapped text input to prioritize cursor movement over history navigation
  • Fixed draft prompt being lost when pressing UP arrow to navigate command history
  • Fixed ghost text flickering when typing slash commands mid-input
  • Fixed marketplace source removal not properly deleting settings
  • Fixed duplicate output in some commands like /context
  • Fixed task list sometimes showing outside the main conversation view
  • Fixed syntax highlighting for diffs occurring within multiline constructs like Python docstrings
  • Fixed crashes when cancelling tool use
  • Improved /sandbox command UI to show dependency status with installation instructions when dependencies are missing
  • Improved thinking status text with a subtle shimmer animation
  • Improved task list to dynamically adjust visible items based on terminal height
  • Improved fork conversation hint to show how to resume the original session
  • Changed collapsed read/search groups to show present tense ("Reading", "Searching for") while in progress, and past tense ("Read", "Searched for") when complete
  • Changed ToolSearch results to appear as a brief notification instead of inline in the conversation
  • Changed the /commit-push-pr skill to automatically post PR URLs to Slack channels when configured via MCP tools
  • Changed the /copy command to be available to all users
  • Changed background agents to prompt for tool permissions before launching
  • Changed permission rules like Bash(*) to be accepted and treated as equivalent to Bash
  • Changed config backups to be timestamped and rotated (keeping 5 most recent) to prevent data loss
System prompt

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