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.74 v2.1.76newer

Claude Code v2.1.75

28 entries read diff v2.1.74 → v2.1.75 Markdown

This release introduces Opus 1M context as the default for first-party Opus users, adds a memory staleness system that warns when recalled memories may be outdated, redesigns the SendMessage tool for more intuitive agent-to-agent communication, and introduces plugin configurable options. Several quality-of-life improvements include concurrent session detection, an auto mode circuit breaker, and a new SSH startDirectory setting.

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

Changesopen

Opus 1M Context Window Default#

Feature flag
tengu_cobalt_compass On for this account, and not off by default

The flag server returned on for the one account this site reads, and nothing in this release compiles it off by default. The compiled default is shown below, and says which it is when we cannot read one: a fifth of gates compile in a string or a number rather than on or off, and most published releases have no gate table behind them at all. No client can see what the server returns for your account.

This account: on · anonymous baseline: on · compiled default in v2.1.75: 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.75. It isn't a statement about your account. What a flag value here can and cannot tell you

What

First-party Opus users now default to a 1M token context window (5x larger), with automatic migration from the standard Opus setting.

Details
  • Controlled by the tengu_cobalt_compass feature flag (gradual rollout)
  • Users who had "opus" selected are automatically migrated to "opus[1m]"
  • A merge notice is shown up to 6 times: "Opus now defaults to 1M context · 5x more room, same pricing"
  • When Opus 1M is active, Opus no longer triggers "Billed as extra usage" — same pricing as before
  • The model picker now offers an explicit "Opus (1M context)" entry labeled [NEW]
Evidence

Opus 1M migration and display (search for "tengu_cobalt_compass", "Opus now defaults to 1M context", "tengu_opus_to_opus1m_migration")

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

Plugin Configurable Options#

What

Plugins can now declare user-configurable options in their manifest via a userConfig schema, with typed fields, defaults, and secure storage for sensitive values.

Details
  • Plugin manifests can include a userConfig block with named options of type string, number, boolean, directory, or file
  • Each option supports title, description, required, default, sensitive, min/max, and multiple fields
  • Option keys must be valid identifiers — they become CLAUDE_PLUGIN_OPTION_<KEY> environment variables in hooks
  • Sensitive values are stored in secure storage (macOS keychain or .credentials.json), non-sensitive values in settings.json
  • Available as ${user_config.KEY} in MCP/LSP server config, hook commands, and (non-sensitive only) skill/agent content
Evidence

Plugin options schema and env var injection (search for "CLAUDE_PLUGIN_OPTION_", "User-configurable values this plugin needs")

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.

SSH Start Directory Setting#

What

SSH remote configurations now support a startDirectory field to set the default working directory on the remote host.

Usage
{
  "sshRemotes": {
    "my-server": {
      "host": "example.com",
      "startDirectory": "~/projects"
    }
  }
}
Details
  • Supports tilde expansion (e.g., ~/projects)
  • If not specified, defaults to the remote user's home directory
  • Can be overridden by the [dir] positional argument in claude ssh <config> [dir]
Evidence

SSH start directory setting (search for "startDirectory", "Default working directory on the remote host")

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

Memory Staleness Warnings#

What

Memories recalled from CLAUDE.md and project memory files are now annotated with their age, warning Claude when recalled information may be outdated.

Details
  • Memories older than 1 day display their age (e.g., "Memory (saved yesterday)" or "Memory (saved 5 days ago)")
  • Memories older than 1 day include a system reminder: "Memories are point-in-time observations, not live state — claims about code behavior or file:line citations may be outdated. Verify against current code before asserting as fact."
  • This helps prevent Claude from asserting stale file:line references or code behavior as current fact
Evidence

Memory age formatting and staleness warnings (search for "Memories are point-in-time observations", "claims about code behavior")

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

Agent Message Queuing to Running Agents#

What

When resuming a running agent via Agent({resume: id}), the prompt is now queued for delivery instead of throwing an error. Coordinators can also send messages to running agents via SendMessage.

Details
  • If an agent is already running, calling Agent({resume: id}) queues the prompt and returns a queued_to_running status
  • The agent receives the queued message at its next tool-round boundary
  • SendMessage({to: "<name>", message: "..."}) can also queue messages to running local agents
  • A coordinator message is rendered with: "The coordinator sent a message while you were working: [...] Address this before completing your current task."
Evidence

Agent message queue system (search for "queued_to_running", "Message queued for delivery", "pendingMessages")

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

Concurrent Session Detection#

What

Claude Code now detects when multiple sessions are running simultaneously and offers a relevant tip.

Details
  • Sessions register PID files in the Claude Code data directory
  • When 2+ sessions are detected, a tip suggests: "Running multiple Claude sessions? Use /color and /rename to tell them apart at a glance."
  • Session count is also reported via telemetry (tengu_concurrent_sessions)
Evidence

Concurrent session tracking (search for "concurrentSessions", "color-when-multi-clauding")

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

SendMessage Tool Redesigned#

The SendMessage tool schema has been simplified from a discriminated union with type/recipient/content fields to a more intuitive to/message/summary format. Agents now use to: "<name>" for direct messages and to: "*" for broadcasts. Structured protocol messages (shutdown requests, plan approvals) are sent as objects in the message field. A backward-compatibility shim (backfillObservableInput) translates old-format calls.

Evidence

Simplified SendMessage schema (search for "Recipient: teammate name", 'to must be a bare teammate name or "*"')

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

Auto Mode Circuit Breaker#

Auto mode can now be remotely disabled via a server-side gate. When the circuit breaker is active, auto mode requests silently fall back to the default permission mode with a warning logged. The claude auto-mode subcommand is also hidden when auto mode is disabled.

Evidence

Auto mode circuit breaker (search for "auto mode circuit breaker active (cached)", "Cannot transition to auto mode")

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

File Read Size Controlled by Feature Flag#

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

File read limits (maxSizeBytes and maxTokens) are now configurable via the tengu_amber_wren feature flag, allowing server-side tuning of read limits without client updates. A new CLAUDE_CODE_AUTO_COMPACT_WINDOW environment variable also allows users to override the auto-compaction window size.

Evidence

Feature-flag-controlled read limits (search for "tengu_amber_wren", "CLAUDE_CODE_AUTO_COMPACT_WINDOW")

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

Background Task Monitor Distinction#

The status bar now distinguishes between regular background tasks and monitors, showing counts like "2 background tasks, 1 monitor" instead of a single combined count.

Evidence

Monitor/task distinction in status line (search for "Monitor details", kind === "monitor")

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.

Shift+Arrow Navigation for Teammates#

The keyboard shortcut to expand teammate views has changed from to shift + ↓. A new shift + ↑ shortcut navigates upward through the teammate list.

Evidence

Updated keybindings (search for "shift + ↓")

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

Leader Idle State Display#

When the team leader is idle but teammates are still working, the spinner now shows a distinct "Idle · teammates running" state instead of the generic working indicator.

Evidence

Leader idle state in spinner (search for "· teammates running", leaderIsIdle)

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

Session Metadata Enrichment#

Session metadata returned by listSessions and getSessionInfo now includes tag (user-set session tag) and createdAt (creation timestamp). The fileSize field is now optional and only populated for local JSONL storage.

Evidence

Expanded session metadata schema (search for "User-set session tag", "Creation time in milliseconds since epoch")

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.

Marketplace Name Security Validation#

Marketplace names now reject path traversal patterns — names containing /, \, .. sequences, or consisting of just . are rejected with a clear error message.

Evidence

Path traversal validation (search for 'Marketplace name cannot contain path separators')

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.

Credential Redaction in Git Clone Logs#

URLs containing embedded usernames or passwords are now redacted when logged during git clone operations, preventing accidental credential exposure in logs.

Evidence

URL credential redaction function A96() (search for q.username = "***")

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 Mode Change Events#

Permission mode changes (default, acceptEdits, bypassPermissions, auto, etc.) are now emitted as system status events on the outbound stream, enabling external integrations to track permission state.

Evidence

Permission mode event emission (search for "permissionMode", Tkq)

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

Skill/Prompt Aliases#

Skills and prompts now support an aliases field, enabling multiple names for the same slash command.

Evidence

Aliases support in prompt definitions (search for aliases: A.aliases)

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.

Hook Source Tracking#

Hooks now carry hookSource metadata indicating their origin (e.g., plugin:name, skill:name, or settings), improving debuggability.

Evidence

Hook source annotation (search for "hookSource")

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

Error Details on Prompt Too Long#

When an API request fails with "prompt is too long", the error response now includes errorDetails with the full exception message, providing more diagnostic context.

Evidence

Error details propagation (search for "errorDetails")

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

1 entry

Bug Fixesopen

#

  • Fixed readFileState being recomputed from messages on every turn — the main session class now caches and reuses it, improving performance (search for "readFileState")
  • Removed redundant existsSync checks before readFileSync and unlinkSync calls, fixing potential race conditions (search for unlinkSync)
  • Fixed the tag-clearing behavior: setting an empty tag now correctly clears it (tag || void 0) instead of keeping the empty string (search for "currentSessionTag")
  • Voice-enabled checks now additionally gate on $I(), preventing voice features from activating when conditions aren't fully met (search for voiceEnabled)
  • The user:file_upload OAuth scope is now requested for first-party authenticated sessions (search for "user:file_upload")
  • Fixed async hook response rendering: previously only showed for PreToolUse/PostToolUse when tool hooks were enabled; now also shows for SessionStart and other hook types when session hooks are enabled (search for "async_hook_response")
1 entry

Removedopen

#

  • Nested session restriction removed: The check that prevented launching Claude Code inside another Claude Code session (via the CLAUDECODE=1 environment variable) has been removed. Users can now nest sessions freely. (search for "Nested sessions share runtime resources" — present in v2.1.74, absent in v2.1.75)
  • Windows ProgramData deprecation warning removed: The notification warning about migrating C:\ProgramData\ClaudeCode\managed-settings.json to C:\Program Files\ClaudeCode\ has been removed, along with the associated detection logic. (search for "programdata-deprecation-warning" — present in v2.1.74, absent in v2.1.75)

Related

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

2 entries

In Developmentopen

#

Features with infrastructure added but not yet enabled or partially gated.

Related

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

Opus 1M Context [Gradual Rollout]#

Feature flag
tengu_cobalt_compass On for this account, and not off by default

The flag server returned on for the one account this site reads, and nothing in this release compiles it off by default. The compiled default is shown below, and says which it is when we cannot read one: a fifth of gates compile in a string or a number rather than on or off, and most published releases have no gate table behind them at all. No client can see what the server returns for your account.

This account: on · anonymous baseline: on · compiled default in v2.1.75: 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.75. It isn't a statement about your account. What a flag value here can and cannot tell you

What

The Opus 1M context window default is controlled by the tengu_cobalt_compass feature flag with a default of false.

Status

Feature-flagged, rolling out gradually.

Details
  • The function UH() checks tengu_cobalt_compass — returns false by default
  • Only applies to first-party users (not API key users or third-party)
  • Excluded when je() (demo mode) or ZC() (certain restricted contexts) is active
  • Once enabled server-side, migration is automatic
Evidence

Feature gate check (search for "tengu_cobalt_compass") — UH() at line ~532570

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.75. 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 1M context window for Opus 4.6 by default for Max, Team, and Enterprise plans (previously required extra usage)
  • Added /color command for all users to set a prompt-bar color for your session
  • Added session name display on the prompt bar when using /rename
  • Added last-modified timestamps to memory files, helping Claude reason about which memories are fresh vs. stale
  • Added hook source display (settings/plugin/skill) in permission prompts when a hook requires confirmation
  • Fixed voice mode not activating correctly on fresh installs without toggling /voice twice
  • Fixed the Claude Code header not updating the displayed model name after switching models with /model or Option+P
  • Fixed session crash when an attachment message computation returns undefined values
  • Fixed Bash tool mangling ! in piped commands (e.g., jq 'select(.x != .y)' now works correctly)
  • Fixed managed-disabled plugins showing up in the /plugin Installed tab — plugins force-disabled by your organization are now hidden
  • Fixed token estimation over-counting for thinking and tool_use blocks, preventing premature context compaction
  • Fixed corrupted marketplace config path handling
  • Fixed /resume losing session names after resuming a forked or continued session
  • Fixed Esc not closing the /status dialog after visiting the Config tab
  • Fixed input handling when accepting or rejecting a plan
  • Fixed footer hint in agent teams showing "↓ to expand" instead of the correct "shift + ↓ to expand"
  • Improved startup performance on macOS non-MDM machines by skipping unnecessary subprocess spawns
  • Suppressed async hook completion messages by default (visible with --verbose or transcript mode)
  • Breaking change: Removed deprecated Windows managed settings fallback at C:\ProgramData\ClaudeCode\managed-settings.json — use C:\Program Files\ClaudeCode\managed-settings.json
System prompt

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