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.178 v2.1.181newer

Claude Code v2.1.179

24 entries read diff v2.1.178 → v2.1.179 Markdown

This release adds Claude Design MCP integration, a HIPAA compliance indicator, and a "not used recently" section in the model picker. It also brings multiple reliability improvements: better connection-drop messages with partial-response recovery, OAuth retry logic for remote sessions, graceful worktree cwd recovery, and clearer error messages for --json-schema, plugin SHA pins, and ultrareview size limits.

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

New Featuresopen

Claude Design MCP Integration [Gradual Rollout]#

What

A built-in first-party MCP server called claude_design is now available, connecting to Anthropic's Design API at https://api.anthropic.com/v1/design/mcp. When enabled, Claude can mock up UI screens directly in your session. A tip reads "Use Claude Design to mock up screens before you build."

Status

Controlled by feature flag tengu_omelette_whisk. Can also be force-enabled via the environment variable CLAUDE_CODE_ENABLE_DESIGN_MCP=true.

Details
  • Server name claude_design is treated as first-party — it auto-attaches login OAuth tokens and renders with a bare name (no URL prefix in the UI)
  • Setting CLAUDE_CODE_ENABLE_DESIGN_MCP=1 bypasses the feature flag for self-hosting or testing
Evidence

Design MCP server name (search for "claude_design") and URL (search for "https://api.anthropic.com/v1/design/mcp")

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

HIPAA Compliance Indicator#

What

When your session is operating under HIPAA compliance constraints, the status bar now displays a persistent indicator: "HIPAA · some features are restricted · /status for details".

Usage
# Appears automatically in the status bar if your organization has HIPAA mode active
# Run /status to see which specific features are restricted
Details
  • The indicator uses tier "warning" styling so it stands out
  • The /status command will show the full list of restricted features
Evidence

HIPAA status bar notification (search for "HIPAA · some features are restricted")

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.

Model Picker "Not Used Recently" Section#

What

The /model picker now surfaces models you haven't used in a while in a dedicated "Not used recently" section, and shows "Last used: X days ago" on individual entries. This helps you spot models you may have tried and moved away from.

Usage
/model
# Models not recently used appear in a "Not used recently" section
# Each entry shows "· Last used: 3 days ago" (or "today")
Details
  • Models are grouped in this section if they haven't been selected recently
  • The day-count label appears dimmed next to the model name
  • This section appears below Attention and Favorites in the picker
Evidence

Section header label (search for "Not used recently") and per-entry label (search for "· Last used:")

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

CLAUDE_CODE_ALTGR_AS_TEXT Environment Variable#

What

New env var for Windows users on keyboards with an AltGr key. AltGr is used on many European and international layouts to produce characters like @, , [, ], etc. — but it's also interpreted as Ctrl+Alt in Windows, which can interfere with Claude Code shortcuts.

Usage
# Force AltGr combinations to always be treated as text (recommended for most EU users)
CLAUDE_CODE_ALTGR_AS_TEXT=true claude

# Disable AltGr text mode entirely
CLAUDE_CODE_ALTGR_AS_TEXT=false claude

# Auto-detect (default): enabled if WT_SESSION is set (Windows Terminal)
Details
  • true/1 forces "force" mode — AltGr combos always produce text
  • false/0 forces "off" mode — AltGr combos pass through as Ctrl+Alt key events
  • Omitted: "auto" mode, enabled when WT_SESSION is present (Windows Terminal)
  • Only applies to printable character ranges (codepoints 32–126 and 160–55295)
Evidence

New env var handler (search for "CLAUDE_CODE_ALTGR_AS_TEXT")

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

CLAUDE_CODE_OTEL_DIAG_STDERR Environment Variable#

What

When set, OpenTelemetry diagnostic errors are written directly to stderr in addition to the internal debug log. Useful when debugging custom telemetry or OTEL integrations.

Usage
CLAUDE_CODE_OTEL_DIAG_STDERR=1 claude
# OTEL errors now appear on stderr prefixed with "[3P telemetry] OTEL diag error:"
Details
  • Without this flag, OTEL errors only appear in the internal log (visible via /debug)
  • With the flag, errors are also streamed to process.stderr immediately
  • The flag is stripped before spawning subprocesses so it doesn't leak
Evidence

New stderr path (search for "CLAUDE_CODE_OTEL_DIAG_STDERR")

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

CLAUDE_CODE_SUPPRESS_SESSION_ATTRIBUTION Environment Variable#

What

In remote sessions, Claude now adds a Claude-Session: attribution line to git commit messages and PR bodies. This new env var lets you suppress that attribution.

Usage
# Suppress session attribution in commits and PRs (remote mode only)
CLAUDE_CODE_SUPPRESS_SESSION_ATTRIBUTION=1 claude
Details
  • When attribution is active (remote session, no suppression), commit messages get a Claude-Session: <session-id> trailer
  • PR bodies get the session ID appended as a paragraph
  • Only applies in remote mode — no effect in interactive sessions
Evidence

Attribution suppression check (search for "CLAUDE_CODE_SUPPRESS_SESSION_ATTRIBUTION") and header format (search for "Claude-Session:")

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

13 entries

Improvementsopen

Better Error Messages for --json-schema#

Two new validation messages are now shown when --json-schema is passed invalid input:

  • If the value is not parseable JSON: Error: --json-schema is not valid JSON: <parse error detail>
  • If the JSON is valid but not an object (e.g., an array or string): Error: --json-schema must be a JSON object

Previously these failures silently continued with an undefined schema object.

Evidence

Validation error strings (search for "Error: --json-schema is not valid JSON:" and "Error: --json-schema must be a JSON object")

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

Plugin SHA Pin Verification: Clearer Errors#

When installing a plugin that specifies a SHA pin and verification fails, the error message is now specific about what went wrong:

SHA pin verification failed: expected HEAD to be <expected-sha>, got <actual-sha>.
The pinned commit may have been removed upstream, or a ref with the same name exists.
Refusing to install.

If the underlying git rev-parse call itself fails, the got field shows (rev-parse failed) so the root cause is always clear.

Evidence

SHA verification error (search for "SHA pin verification failed: expected HEAD to be")

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

Ultrareview Now Checks PR Size Before Starting#

The /ultrareview command now fetches additions, deletions, and changedFiles from GitHub before attempting the review. If the PR is too large, you get an early, clear error:

PR #42 is too large for ultrareview (85 files, 3,200 lines).
Split it into smaller PRs, or run `claude` on a narrower local diff.

The local-diff too-large message was also improved — it no longer suggests pushing a PR:

Before: "Push a PR and use claude <PR#>, or pass a closer base branch…" After: "Pass a closer base branch (claude <branch>) to narrow the scope, or split the change."

Evidence

Size-check error (search for "is too large for ultrareview (") and field fetch (search for "additions,deletions,changedFiles")

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

Git Log Isolated from Local Hooks and fsmonitor#

When scanning recently-added files, Claude now passes four safety flags to git:

-c core.fsmonitor=
-c core.hooksPath=/dev/null
-c core.pager=
-c log.showSignature=false

This prevents fsmonitor daemons from slowing the call, local git hooks from running, pagers from blocking output, and commit-signature verification from failing on machines without GPG. The call was occasionally slow or broken on repos with heavy hook setups.

Evidence

New git flags (search for "core.fsmonitor=" and "log.showSignature=false")

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

NUL Redirect Replacement Is Now Safer#

Claude translates Windows-style NUL redirections (e.g., 2>NUL) into /dev/null for cross-platform compatibility. This substitution is now skipped if the command contains <, $, or a backtick — characters that indicate shell expansion or redirection contexts where a static replacement would produce incorrect results.

Evidence

Safety guard (search for "H.includes(\"<\") || H.includes(\"$\") || H.includes(\"\\")"`)

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

ExitWorktree: Graceful cwd Recovery#

When exiting a git worktree, if the original working directory no longer exists (e.g., it was deleted while Claude was running in the worktree), Claude now tries fallback locations in order: the original worktree path, the home directory, and the process root. A clear message is shown:

The original directory /path/to/old-dir no longer exists, so the session is now in /home/user.
Consider restarting Claude from an existing directory.

If the fallback landed back in the worktree itself, the suggestion to restart is omitted.

Evidence

Recovery message (search for "The original directory") and log entry (search for "ExitWorktree: original directory")

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

Better Messages When API Connection Drops#

Three new user-facing messages now appear when a streaming connection is lost:

  • Mid-response (after some content was already delivered): Connection closed mid-response. The response above may be incomplete.
  • During thinking (before any content): Connection closed while thinking, before producing a response. Try again.
  • Network-level errors (ECONNRESET, EPIPE, etc.): Connection to the API was lost (<error_code>). This is usually temporary — try again.

Previously these all surfaced as generic error messages.

Evidence

Stream-drop messages (search for "Connection closed mid-response" and "Connection closed while thinking") and network-error handler (search for "Connection to the API was lost (")

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.

OAuth Retry with Exponential Backoff in Remote Sessions#

When a remote session receives a 401 response and OAuth token refresh fails, the client now retries the refresh up to oauth_retry_max_attempts times with exponential backoff. During each attempt, the status shows:

OAuth refresh failed — waiting for a fresh login (1/3)

If all attempts fail: OAuth token refresh failed — re-authenticate, then re-enable Remote Control.

Evidence

Retry message (search for "OAuth refresh failed — waiting for a fresh login (") and failure message (search for "OAuth token refresh failed — re-authenticate")

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.

Artifact Share Status Display#

The artifact WebFetch tool now probes the sharing status of an artifact before reading it. The mode is now shown in descriptive human-readable form instead of raw enum values:

  • "owner" → "a private page on claude.ai"
  • "org" → "a page shared with your organization"
  • "users" → "a page shared with specific users"
  • Live-shared → "on claude.ai (viewers see updates immediately)"
  • Unknown mode → "others (unrecognized share mode — treating as shared)"
Evidence

Share mode labels (search for "a private page on claude.ai" and "your organization")

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

Spinner State Is Now Per-Agent#

Internally, the status bar spinner state (responding/thinking/tool-input, compacting status, turn effort) is now tracked per agent ID in a keyed store instead of a single global singleton. This is a prerequisite for correct multi-agent displays where parallel agents each need their own status line. Spinner state for removed agents is cleaned up automatically.

Evidence

Per-agent state store (search for "defaultVerb" in spinner state initialization) and per-agent accessor (search for "n64(H.agentId)")

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

Tool List Truncation Notice#

When a tool result or file listing is too long for the context window and must be truncated, the cutoff now shows:

... and 42 more (truncated for prompt size)

Previously the list was silently cut with no indication of how much was omitted.

Evidence

Truncation notice (search for "more (truncated for prompt size)")

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.

machineID Is Now Resilient to Storage Failures#

If saving the machine ID to disk fails (e.g., permissions issue), Claude now falls back to an in-memory ID for the current session rather than leaving the field empty. A warning is logged: getOrCreateMachineID: could not persist machineID: <error>.

Evidence

Fallback error log (search for "getOrCreateMachineID: could not persist machineID:")

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

1 entry

Bug Fixesopen

#

  • Worktree cleanup (process.chdir) now catches and logs errors instead of crashing if the original directory is gone during teardown (search for "Could not chdir to original directory while cleaning up worktree:")
  • Worktree keep (process.chdir) similarly catches errors gracefully (search for "Could not chdir to original directory while keeping worktree:")
  • git core.hooksPath resolution now canonicalizes relative paths before writing them back, preventing the wrong path being stored when core.hooksPath is specified as a relative reference
3 entries

In Developmentopen

#

Features with infrastructure added but not yet enabled for users.

Related

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

Screen Reader / Accessibility Support [In Development]#

Feature flag
tengu_ax_screen_reader Gate removed from the code

This release deleted the gate from the code while it was still reading on for the account this site reads, so the code path no longer asks a flag before running.

This account: on · anonymous baseline: on · compiled default in v2.1.179: not a boolean we can read

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

What

Infrastructure for a screen reader accessibility mode has been added under the feature flag tengu_ax_screen_reader.

Status

Feature-flagged — not yet enabled for any users. No user-visible behavior yet.

Evidence

Feature flag constant (search for "tengu_ax_screen_reader")

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

Precompute Compaction Setting [Gradual Rollout]#

Feature flag
tengu_sepia_moth 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.179: on

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

What

A new experimental setting precomputeCompactionEnabled allows Claude to precompute the compaction summary in the background before it's actually needed, making context-window compaction faster when it triggers.

Status

Setting infrastructure exists and is wired to the settings UI, but the setting toggle is only shown when the server flag tengu_sepia_moth is enabled. The actual precompute behavior also requires this flag. The setting description reads: "@internal Precompute the compaction summary in the background before it is needed. Only applies when auto-compact is on."

Details
  • Appears in the Experimental section of /settings when enabled
  • Default value is true when the flag is active
  • Emits a tengu_precompute_compaction_setting_changed telemetry event on change
Evidence

Setting description (search for "Precompute the compaction summary in the background") and setting key (search for "precomputeCompactionEnabled")

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.179. 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.

  • Fixed mid-stream connection drops: partial responses are now preserved instead of showing a raw error, and the spinner no longer gets stuck at "running tool"
  • Fixed mouse-wheel scrolling in WSL2 under Windows Terminal and VS Code (regression in 2.1.172)
  • Fixed a sandbox denyRead/allowRead glob over a large directory tree making the Bash tool description enormous and the session unusable on Linux
  • Fixed the feedback survey capturing a single-digit reply as a session rating immediately after a turn completes
  • Fixed the welcome screen stacking multiple promotional banners — at most one promo now shows per session
  • Fixed Ctrl+O not showing the subagent's transcript when viewing a subagent
  • Fixed clicking the prompt input not returning focus from the subagent/footer panel
  • Fixed remote session background tasks appearing stuck as "still running" between turns
  • Improved plugin loading performance in remote sessions
System prompt

No change to the system prompt since v2.1.178.

Claude Code, interactive mode