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.2 v2.1.4newer

Claude Code v2.1.3

10 entries read diff v2.1.2 → v2.1.3 Markdown

This release introduces a customizable keybindings system, allowing users to remap keyboard shortcuts via ~/.claude/keybindings.json. The notification system was refactored with better terminal-specific handlers. The permission explainer UI was enhanced with a Ctrl+E shortcut to toggle explanations, and the /doctor command now reports unreachable permission rules. The Task* tools (TaskCreate, TaskGet, TaskUpdate, TaskList) were removed in favor of the simpler TodoWrite system.

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

Changesopen

Custom Keybindings Support#

What

Configure custom keyboard shortcuts via a JSON file in your Claude config directory.

Usage

Create ~/.claude/keybindings.json with your custom mappings:

[
  {
    "context": "Chat",
    "bindings": {
      "ctrl+k": "chat:submit",
      "ctrl+l": null
    }
  }
]
Details
  • Supports contexts: Global, Chat, Autocomplete, Confirmation, Transcript, HistorySearch, Task, ThemePicker, Help
  • Set a binding to null to disable it
  • File is hot-reloaded on changes—no restart required
  • Invalid keybindings show warnings via notifications, with details available in /doctor
  • Reserved keys (ctrl+c, ctrl+d) cannot be remapped
  • Validation warns about OS-specific conflicts (e.g., cmd+c on macOS)
Evidence

TJ() at line 358886 (KeybindingSetup component, initializes with "[keybindings] KeybindingSetup initialized"), Q_A() at line 213102 (returns keybindings.json path), g_5() at line 358862 (displays "keybinding-config-warning" notifications)

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.

Permission Explainer Keyboard Shortcut#

What

Press Ctrl+E during permission prompts to toggle an AI-generated explanation of what the command does and its risk level.

Usage

When Claude asks for permission to run a command, press Ctrl+E to see:

  • What the command does (explanation)
  • Why Claude is running it (reasoning)
  • Potential risks with severity level (LOW/MEDIUM/HIGH)
Details
  • Explanations are generated on-demand using a fast model
  • Toggle the explanation panel on/off with Ctrl+E
  • Risk levels: LOW (safe dev workflows), MEDIUM (recoverable changes), HIGH (dangerous/irreversible)
  • Only appears when the permission explainer feature flag is enabled
Evidence

hg2() at line 417649 (checks X.ctrl && J === "e", calls tengu_permission_explainer_shortcut_used), gg2() at line 417666 (renders "ctrl+e to " + "hide" or "explain"), wc5() at line 417675 (displays explanation with riskLevel)

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.

Unreachable Permission Rules Detection#

What

The /doctor command now detects and displays permission rules that will never be applied due to being shadowed by broader rules.

Usage
/doctor

Look for the "Unreachable Rules" section showing:

  • Which rules are shadowed
  • Which broader rule is shadowing them
  • How to fix the configuration
Details
  • Detects allow rules shadowed by ask rules
  • Detects allow rules shadowed by deny rules
  • Shows the source of conflicting rules (project settings, policy, etc.)
  • Provides specific fix suggestions
Evidence

xKA() at line 302515 (checks for shadowedBy and builds unreachable rules list), jg2() at line 416765 (renders "Unreachable Rules" UI component with shadowType of "ask" or "deny")

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

Refactored Notification System#

The terminal notification system was refactored with cleaner abstractions. Notifications now use dedicated handler functions (sendITerm2, sendKitty, sendGhostty, sendBell) instead of inline escape sequences, making the code more maintainable and easier to extend.

Evidence

gd() at line 367233 (new notification dispatcher using FT5), FT5() at line 367243 (notification router with B.sendITerm2(Q), B.sendKitty(...), etc.), HT5() at line 367266 (auto-detection handler)

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

Enhanced Remember Skill#

The /remember skill now has clearer instructions about evidence thresholds—patterns must appear in 2+ sessions before being added to memory. This prevents one-off items from polluting project memory.

Evidence

Iq7 variable at line 530741 (contains "Evidence Threshold (2+ Sessions Required)" and "Only extract themes and patterns that appear in 2 or more sessions")

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

Todo System Migration#

Automatic migration from the old todo system (v1) to the new task system (v2) when upgrading. Existing todos are preserved and converted to the new format.

Evidence

fG0() at line 284033 (contains "[Todo Migration] Migrating" and "Successfully migrated")

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

Dynamic Keybinding Display#

Keyboard shortcut hints throughout the UI now reflect custom keybindings. If you remap ctrl+o, hints will show your custom binding instead of the default.

Evidence

g4() at line 213290 (resolves display text for action/context, logs "tengu_keybinding_fallback_used" when falling back), gq() at line 213305 (similar resolution function), iP() at line 282054 (uses g4("app:toggleTranscript", "Global", "ctrl+o"))

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.

Task* Tools Removed#

The TaskCreate, TaskGet, TaskUpdate, and TaskList tools have been removed. These were a more complex team collaboration-oriented task system that has been superseded by the simpler TodoWrite tool.

Details
  • TodoWrite continues to work for tracking todos during sessions
  • Old todos are automatically migrated to the new system
  • Team collaboration features are no longer available through these tools
Evidence

Diff shows 23 occurrences of TaskCreate/TaskGet/TaskUpdate/TaskList in v2.1.2, reduced to 2 in v2.1.3 (legacy references only)

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.

Incremental TUI (tengu_sumi)#

What

An experimental incremental terminal UI rendering system.

Status

Feature-flagged via tengu_sumi

Details
  • Controlled by ENABLE_INCREMENTAL_TUI environment variable or tengu_sumi feature flag
  • Infrastructure is in place but gated
Evidence

Sz() at line (contains dX(process.env.ENABLE_INCREMENTAL_TUI) and y8("tengu_sumi"))

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.

Scratch Feature (tengu_scratch)#

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

What

Purpose unclear from code, but infrastructure exists for a "scratch" feature.

Status

Feature-flagged via tengu_scratch

Evidence

gzA() at line 526466 (returns y8("tengu_scratch"))

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.

Verbatim
Official · Anthropic

Anthropic’s official release notes

Published verbatim by Anthropic for v2.1.3. 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.

  • Merged slash commands and skills, simplifying the mental model with no change in behavior
  • Added release channel (stable or latest) toggle to /config
  • Added detection and warnings for unreachable permission rules, with warnings in /doctor and after saving rules that include the source of each rule and actionable fix guidance
  • Fixed plan files persisting across /clear commands, now ensuring a fresh plan file is used after clearing a conversation
  • Fixed false skill duplicate detection on filesystems with large inodes (e.g., ExFAT) by using 64-bit precision for inode values
  • Fixed mismatch between background task count in status bar and items shown in tasks dialog
  • Fixed sub-agents using the wrong model during conversation compaction
  • Fixed web search in sub-agents using incorrect model
  • Fixed trust dialog acceptance when running from the home directory not enabling trust-requiring features like hooks during the session
  • Improved terminal rendering stability by preventing uncontrolled writes from corrupting cursor state
  • Improved slash command suggestion readability by truncating long descriptions to 2 lines
  • Changed tool hook execution timeout from 60 seconds to 10 minutes
  • [VSCode] Added clickable destination selector for permission requests, allowing you to choose where settings are saved (this project, all projects, shared with team, or session only)
System prompt

1 new prompt appeared. 1 of 17 tool descriptions changed.

Agent SDK, print mode