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.175 v2.1.177newer

Claude Code v2.1.176

18 entries read diff v2.1.175 → v2.1.176 Markdown

This release introduces footer link badges — a new way to configure regex patterns that turn output into clickable links in the REPL footer. It also significantly expands project file upload support (the Project tool now surfaces PDFs, images, and other file uploads alongside text docs), extends the allowed flag set for rg, and tightens rm/rmdir safety analysis with several new dangerous-pattern detections. The Agent tool's fork behavior is also made explicit.

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

New Featuresopen

Explicit Fork Selection for Agent Tool#

What

The subagent_type: "fork" value is now a named, explicitly-selectable agent type rather than the implicit default when no subagent_type is provided. This makes multi-agent code clearer and avoids accidental forking.

Details
  • Omitting subagent_type (when the fork experiment is active) previously implicitly created a fork; now the behavior is documented as explicit opt-in via "fork"
  • Remote sessions cannot use isolation: "remote" with fork — a clear error is returned
  • Other named agent types still start with zero context
  • The Agent tool description has been updated to reflect this
Evidence

Updated Agent tool description (search for "(except subagent_type: \"fork\")" and "Fork cannot use isolation: \"remote\"")

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

11 entries

Improvementsopen

Project Tool: File Uploads Now Visible and Readable#

The Project tool (project_info, project_read, project_delete) now surfaces file uploads (PDFs, images, and other binary files) alongside text docs.

  • project_info output now includes a ## Project files (N) section listing file uploads and a ## Synced sources (N) section listing connector-synced content (Google Drive, GitHub, Outline, MCP resources)
  • project_read on a file upload returns a file_kind field; for document-type uploads (PDF, docx) it returns extracted text; for other types it returns empty content with a notice explaining that no text extract is available
  • project_delete on a file upload now returns a clear error explaining that file uploads can only be removed from claude.ai, not via the tool
  • The error message when a path is not found now says "No doc or file at" instead of "No doc at" and lists both docs and files
Evidence

Project tool description update (search for "is a file upload; project_delete only removes text docs" and "## Project files (")

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

WebFetch: Artifact URLs Are Now Fetchable#

The WebFetch tool description now explicitly documents that https://claude.ai/code/artifact/{uuid} URLs (including preview.claude.ai) are fetchable using your claude.ai login — you do not need curl or a headless browser for these. The Artifact tool description also now includes a note: "To read an existing artifact's content: call WebFetch with its URL."

Evidence

WebFetch description update (search for "https://claude.ai/code/artifact/" and "Exception: claude.ai/code/artifact/{uuid} URLs ARE fetchable")

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

Grep Tool: Expanded Allowed Flags for rg#

The Grep tool's rg allowlist now includes additional flags that were previously missing:

  • --smart-case — case-insensitive if pattern is all-lowercase, case-sensitive otherwise
  • --case-sensitive — always case-sensitive (overrides --ignore-case)
  • --no-line-number — suppress line numbers
  • --multiline — allow patterns to match across newlines
  • --pcre2 — use PCRE2 regex engine
Evidence

Grep allowlist expansion (search for "--smart-case" and "--no-line-number")

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

rm/rmdir Safety Analysis Expanded#

The dangerous-removal checker that guards rm and rmdir commands has been significantly reworked with several new detection patterns:

  • Detects when a cd precedes a relative glob removal, making the target statically unresolvable
  • Detects when the removal target (after glob expansion) cannot be resolved to a directory
  • Detects when a glob pattern traverses multiple directories that cannot be statically enumerated (more than one wildcard level deep)
  • Now checks against all configured working directories, not just the primary CWD — additional working directories and their parents are also protected
  • The old check ("remove CWD or its parent") has been replaced by the more precise "workspace directory" check
Evidence

Removal safety expansion (search for "This command changes directories before the removal" and "This command's glob pattern traverses directories")

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

sed Command Static Analysis#

A new static analyzer for sed commands has been added that validates redirect targets in sed pipelines. It checks for and flags:

  • Commands that carry redirect-borne content that cannot be statically validated (swallowed arguments, unanalyzable heredocs, or expansion in a redirect target)
  • Commands that are over-length or contain characters that bash and the analyzer tokenize differently

These now require explicit approval rather than being auto-allowed.

Evidence

sed analyzer (search for "sed command carries redirect-borne content" and "sed command could not be statically validated")

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

Notification Settings UI#

A new Notifications settings panel has been added, accessible from the REPL. It lets you configure:

  • Channel: cycles through available notification backends (auto, iterm2, terminal_bell, iterm2_with_bell, kitty, ghostty, notifications_disabled)
  • "Notify when Claude needs you" — get a notification when a background session is blocked waiting for input
  • "Notify when Claude is done" — get a notification when a session finishes

The iterm2+bell combined mode (iTerm2 notification + terminal bell) is also available as a new channel option.

Evidence

Notifications UI (search for "Notify when Claude needs you" and "iterm2+bell")

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.

Chrome Integration: Clearer Offer Flow#

The Claude-in-Chrome integration now has cleaner offer and rejection messaging:

  • The startup offer now shows "Yes, use my browser" and "No, keep browser tools off" options explicitly
  • "Turn browser tools off for future sessions" guidance added
  • "This session is in Auto mode, so an AI classifier approves routine browser actions — you are only prompted when it is unsure" message
  • "This session is in Don't Ask mode, so browser actions that need approval are skipped rather than prompted" message
  • "Site-level permissions come from the Chrome extension" clarification
  • The old hardcoded system-prompt paragraph about the claude-in-chrome skill has been removed; Chrome integration is now handled through the normal MCP machinery
Evidence

Chrome flow updates (search for "Yes, use my browser" and "Turn browser tools off for future sessions")

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

MCP First-Party Auth Error Handling#

When a first-party MCP server (one using your claude.ai login) rejects the connection, Claude now emits a structured error with code FIRST_PARTY_AUTH_REJECTED and a more actionable message:

  • HTTP 403: explains the token may be missing a required scope, and suggests running /login
  • HTTP 401: tells you the token may have expired, and suggests /login

The new code enables better diagnostics and retry logic — if a 401 occurs after sending an access token, Claude automatically refreshes the token and retries the request once.

Evidence

First-party auth error (search for "FIRST_PARTY_AUTH_REJECTED" and "missing a scope this server needs")

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

Session Title Language Matching#

The session title generation prompt now instructs the model to "Write the title in the language the user wrote in, regardless of the language of the examples above." Previously the title examples were all in English and the model would sometimes generate English titles for non-English sessions.

Evidence

Title prompt update (search for "Write the title in the language the user wrote in")

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

Windows: UNC Path Warning in Background Sessions#

Background sessions on Windows now detect UNC (network) paths in the working directory and emit a warning that such paths are not supported and will be neutralized. This prevents silent failures when background agents are spawned with a UNC-path CWD.

Evidence

UNC path check (search for "warning: background sessions do not support Windows network (UNC) paths")

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

claude-api Skill: C# and cURL Reference Added#

The claude-api skill's reference corpus now includes comprehensive documentation for:

  • The official C# (Anthropic .NET) SDK — installation, basic messages, streaming, thinking/extended thinking, tool use, the BetaToolRunner, and Microsoft.Extensions.AI IChatClient integration
  • Raw HTTP / cURL examples — setup, basic message request, streaming (SSE), thinking, tool-use loops, and response parsing with jq
Evidence

C# and cURL API reference (search for "dotnet add package Anthropic" and "# Claude API — cURL / Raw HTTP")

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

1 entry

Bug Fixesopen

#

  • Fixed project_read not recognizing file uploads — it previously threw "No doc at" for any upload path; it now correctly dispatches to the /extracted endpoint for document-type uploads (PDF, docx) and returns a clear notice for non-document types (search for "/extracted")
  • Fixed daemon roster cleanup incorrectly leaving .sock.err and .sock.late files behind when the corresponding socket no longer existed — now both .err and .late orphan files are removed during roster sweeps (search for "[bg-dispatch] removed non-regular")
  • Improved project_delete error for file uploads — previously threw a generic "No doc at" error when trying to delete a file upload; now returns an actionable message explaining that file uploads must be removed from claude.ai (search for "is a file upload; project_delete only removes text docs")
  • The safety classifier unavailability notice is now dynamic — it names the specific classifier that was unavailable rather than using a generic phrase (search for "(the safety classifier)")
  • Remote Control session reconnection handling improved — login-triggered account changes now cleanly disconnect the Remote Control session with a clear log message (search for "Account changed via /login — disconnecting Remote Control session")
Verbatim
Official · Anthropic

Anthropic’s official release notes

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

  • Session titles are now generated in the language of your conversation (set the language setting to pin a specific language)
  • Added footerLinksRegexes setting for regex-matched link badges in the footer row, configurable via user or managed settings
  • Improved Bedrock credential caching: credentials from awsCredentialExport are now cached until their Expiration instead of a fixed 1 hour
  • Fixed availableModels enforcement: alias model picks can no longer be redirected to a blocked model via ANTHROPIC_DEFAULT_*_MODEL environment variables, and /fast now refuses to toggle when it would switch to a model outside the allowlist
  • Fixed auto mode failing on Fable 5 for organizations without Opus 4.8 enabled — the classifier now falls back to the best available Opus model
  • Fixed hook if conditions for Read/Edit/Write tool paths: documented patterns like Edit(src/), Read(~/.ssh/), and Read(.env) now match correctly
  • Fixed Linux sandbox failing to start when .claude/settings.json is a symlink with an absolute target
  • Fixed /copy and mouse-selection copy not reaching the system clipboard inside tmux over SSH, and tmux paste buffer not loading on versions older than 3.2
  • Fixed Remote Control connecting from web/mobile silently switching the session's model
  • Fixed Remote Control disconnect notifications showing a bare numeric code instead of a human-readable reason, and connection failures adding a duplicate line to the conversation transcript
  • Fixed Remote Control sessions not disconnecting when you sign in to a different account
  • Fixed /cd and worktree moves leaving the session reporting the previous directory's git branch
  • Fixed claude agents: pressing back in one window no longer detaches other windows attached to the same session
  • Fixed backgrounded sessions showing "Working" forever when /bg mid-turn had nothing left to continue
  • Fixed background agent search by PR URL: PRs opened during scheduled wakeups or while a job was blocked now appear in claude agents search
  • Fixed the agents view input showing no text cursor on Windows
  • Fixed claude --bg -cn <name> not seeding the session name
  • Fixed background sessions to neutralize Windows network paths in persisted state before respawn
  • Fixed background-session respawn rejecting malformed resume IDs from corrupted state files
  • Fixed the Windows background-service daemon not starting when ~/.claude/daemon has the ReadOnly attribute set
  • Fixed cloud sessions failing with "Could not resolve authentication method" when idle for too long before being claimed
  • Background sessions now show clearer guidance when a window left open across an auto-update can't submit a reply, and claude daemon status explains version-skew behavior
System prompt

1 of 25 tool descriptions changed.

Claude Code, interactive mode