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.76 v2.1.78newer

Claude Code v2.1.77

20 entries read diff v2.1.76 → v2.1.77 Markdown

This release renames /fork to /branch, adds /copy N for accessing earlier responses, introduces a comprehensive remote bridge v2 transport layer for Claude Desktop connectivity, adds local model capabilities caching, and includes a significantly expanded multi-phase /init command (behind an environment variable). Under the hood, Axios is upgraded from 1.8.4 to 1.13.4 and many lodash internals have been replaced with lighter native implementations.

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

Changesopen

/branch Command (renamed from /fork)#

What

The /fork command has been renamed to /branch for creating a branched copy of the current conversation. The old /fork name is preserved as an alias for backward compatibility.

Usage
/branch
Details
  • Creates a branch of the current conversation at the current point
  • All user-facing text updated: "Forked conversation" → "Branched conversation", "No conversation to fork" → "No conversation to branch"
  • /fork still works as an alias — no migration needed
  • Error messages updated accordingly: "Failed to branch conversation", "No messages to branch"
Evidence

Slash command definition (search for "Create a branch of the current conversation") — aliases include "fork" for backward compat

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.

Remote Bridge v2 Transport#

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

What

A complete WebSocket-based remote bridge implementation for connecting Claude Code CLI sessions to Claude Desktop, replacing the older SSE-based transport.

Details
  • New WebSocket transport with JWT-based authentication (worker_jwt)
  • Automatic JWT refresh on 401 errors with transparent transport rebuilding
  • Connection status tracking: "Disconnected", "Reconnecting…" states shown in the UI
  • Keep-alive heartbeat for session persistence
  • Message batching and history flushing on reconnection
  • Session creation via /v1/code/sessions endpoint
  • Session archival support
  • Gated by tengu_bridge_repl_v2 feature flag
Evidence

Remote bridge session manager (search for "[remote-bridge]") — 38+ log messages added; feature flag tengu_bridge_repl_v2

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

Model Capabilities Caching#

What

Model capability definitions are now cached locally in a model-capabilities.json file, reducing redundant fetches.

Details
  • Capabilities are written to disk and reused across sessions
  • Cache-change detection skips unnecessary writes: "[modelCapabilities] cache unchanged, skipping write"
  • Graceful fallback on fetch failure: "[modelCapabilities] fetch failed:"
Evidence

Cache file handling (search for "model-capabilities.json")

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

Sandbox allowRead Setting#

What

New allowRead setting lets administrators re-allow specific read paths within broad denyRead regions, and a new allowManagedReadPathsOnly flag restricts reads to only policy-approved paths.

Details
  • allowRead: array of paths that take precedence over denyRead, enabling fine-grained "deny broad, allow narrow" patterns
  • allowManagedReadPathsOnly: boolean in policySettings.sandbox.filesystem — when true, only managed allowRead paths are permitted
  • Glob expansion supported for allowRead patterns
  • Logging for re-allowed paths within denied regions
Evidence

Settings schema (search for "Paths to re-allow reading within denied regions") and policy check (search for "allowManagedReadPathsOnly")

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.

Plugin/Skill Manifest Validation#

What

New validation system for skill, agent, and command frontmatter, plus hooks.json schema checking, with clear error and warning messages.

Details
  • Validates YAML frontmatter in .claude/skills/, .claude/agents/, .claude/commands/ markdown files
  • Checks description, name, and allowed-tools field types
  • Warns on missing frontmatter or missing description
  • Validates hooks.json against the Zod schema
  • Enhanced kebab-case enforcement: warns that Claude.ai marketplace sync requires kebab-case names
  • Prints validation results with clear indicators for errors and warnings
Evidence

Frontmatter validator (search for "No frontmatter block found. Add YAML frontmatter") and allowed-tools check (search for "allowed-tools must be a string or array of strings")

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

update-config Skill#

What

New built-in skill for configuring Claude Code settings via settings.json, with embedded documentation for hooks, permissions, and environment variables.

Details
  • Provides guidance for editing .claude/settings.json and .claude/settings.local.json
  • Includes complete hooks configuration reference with event/matcher tables
  • Documents hook construction and verification workflow (7-step process)
  • References Full Settings JSON Schema for discoverability
Evidence

Skill definition (search for "update-config") with hooks documentation (search for "Constructing a Hook")

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

Full Settings JSON Schema#

What

Claude can now output the complete JSON schema for all Claude Code settings, making settings discovery easier.

Evidence

Schema header (search for "## Full Settings JSON Schema")

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.

/copy N — Copy Earlier Responses#

The /copy command now accepts an optional numeric argument to copy earlier assistant responses, not just the most recent one.

Usage
/copy       # copies latest response (same as before)
/copy 2     # copies second-most-recent response
/copy 3     # copies third-most-recent response
Details
  • Description updated: "Copy Claude's last response to clipboard (or /copy N for the Nth-latest)"
  • Validates the argument: shows usage hint for invalid input
  • Reports when there aren't enough messages: "Only N assistant messages available to copy"
Evidence

Updated command description (search for "or /copy N for the Nth-latest")

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

Axios Upgraded to 1.13.4#

The bundled Axios HTTP client was upgraded from 1.8.4 to 1.13.4. The AxiosError class has been rewritten from a prototype-based pattern to a native ES class, and the CanceledError similarly uses class inheritance.

Evidence

Version constant (search for "1.13.4" in the new version vs "1.8.4" in the old)

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

Lodash Internals Replaced#

Many lodash utility functions (ListCache, Stack, MapCache, Hash, deep clone helpers, typed array checks, key enumeration, etc.) have been removed and replaced with lighter native JavaScript implementations. This reduces bundle size without changing external behavior.

Evidence

Structural diff shows ~150+ removed lodash functions (ListCache, MapCache, Hash, Stack prototypes, baseClone, baseAssign, baseKeys, etc.)

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.

Agent Resume via SendMessage#

The agent resume mechanism has been updated. Instead of passing a resume parameter with an agent ID, agents are now continued by sending a SendMessage with the agent's ID or name as the to field. The agent resumes with its full context preserved.

Evidence

New text (search for "with the agent's ID or name as the \to\ field") replacing old resume parameter documentation

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

Enhanced /init Command [Gradual Rollout]#

The /init command has a significantly expanded multi-phase workflow (gated behind the CLAUDE_CODE_NEW_INIT environment variable):

  • Phase 1: Choose between project CLAUDE.md, personal CLAUDE.local.md, or both
  • Phase 2: Codebase exploration (build/test commands, frameworks, project structure)
  • Phase 3: Gap-fill interview with the user, synthesize proposals for hooks/skills/notes
  • Phase 4: Write minimal, high-signal CLAUDE.md
  • Phase 5: Write personal CLAUDE.local.md (added to .gitignore)
  • Phase 6: Suggest and create skills in .claude/skills/
  • Phase 7: Suggest optimizations (GitHub CLI, linting, format-on-edit hooks)
  • Phase 8: Summary with plugin recommendations (skill-creator, frontend-design, playwright)
Evidence

Multi-phase flow (search for "Phase 1: Ask what to set up") and env var gate (search for "CLAUDE_CODE_NEW_INIT")

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

Installation Deduplication#

When multiple install requests are triggered concurrently, subsequent calls now join the in-flight installation rather than starting parallel ones.

Evidence

Dedup logic (search for "installLatest: joining in-flight call")

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

Improved Remote Session Status UI#

The status line now shows connection state for remote sessions ("Disconnected", "Reconnecting…") and displays a count of active background tasks ("N in background").

Evidence

Status component (search for "Reconnecting" near status rendering) and background count (search for "in background")

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

Improved Image Error Messages#

Empty image files now produce a clearer error: "Image file is empty (0 bytes)" instead of the generic empty-file error.

Evidence

Error message (search for "Image file is empty (0 bytes)")

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

Background Command Output Limits#

Background commands that exceed output file size limits are now explicitly killed with a descriptive message.

Evidence

New message (search for "Background command killed: output file exceeded")

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

Remote Control Error Messages Refined#

Remote control error messages have been simplified and made more concise:

  • "Remote Control disabled after repeated failures this session. Restart to retry." → "disabled after repeated failures · restart to retry"
  • New: "disabled by your organization's policy" for policy-blocked remote control
  • "Connection to server lost" → lowercase "connection to server lost"
Evidence

Updated strings in the string diff (search for "disabled after repeated failures · restart to retry")

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

Conversation Summary Improvements#

The conversation compaction system now has a separate prompt for summarizing only recent messages when earlier context is retained, avoiding redundant re-summarization of already-kept content.

Evidence

New partial summary prompt (search for "Your task is to create a detailed summary of the RECENT portion")

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.

3 entries

Bug Fixesopen

#

  • Fixed potential prototype pollution: Properties starting with _PROTO_ are now stripped from objects before processing (search for "_PROTO_" in the wE6 function)
  • Fixed apiKeyHelper error handling: Clearer error messages when API key helper fails or takes too long (search for "apiKeyHelper failed:" and "apiKeyHelper is taking a while")
  • Data URL byte-size estimation now correctly handles percent-encoded base64 padding characters in data URIs (search for Lc1 function at line ~37105)

Enhanced /init Multi-Phase Flow [In Development]#

Status

Gated behind CLAUDE_CODE_NEW_INIT environment variable

What

The expanded 8-phase /init flow described above is fully implemented but requires setting CLAUDE_CODE_NEW_INIT=1 to activate. When unset, the original single-phase /init behavior is used.

Details
  • Complete implementation exists including skills setup, hooks creation, and plugin recommendations
  • Includes worktree-aware CLAUDE.local.md placement logic
  • Skill-creator plugin and frontend-design plugin recommendations baked in
  • When enabled, the description changes to: "Initialize new CLAUDE.md file(s) and optional skills/hooks with codebase documentation"
Evidence

Env var check (search for "CLAUDE_CODE_NEW_INIT") — when set, activates the QBY prompt template with full Phase 1–8 flow

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

Remote Bridge v2 [Gradual Rollout]#

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

Status

Feature-flagged under tengu_bridge_repl_v2

What

The WebSocket-based remote bridge described in New Features is gated by a server-controlled feature flag and will roll out gradually.

Evidence

Feature flag checks (search for "tengu_bridge_repl_v2")

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

  • Increased default maximum output token limits for Claude Opus 4.6 to 64k tokens, and the upper bound for Opus 4.6 and Sonnet 4.6 models to 128k tokens
  • Added allowRead sandbox filesystem setting to re-allow read access within denyRead regions
  • /copy now accepts an optional index: /copy N copies the Nth-latest assistant response
  • Fixed "Always Allow" on compound bash commands (e.g. cd src && npm test) saving a single rule for the full string instead of per-subcommand, leading to dead rules and repeated permission prompts
  • Fixed auto-updater starting overlapping binary downloads when the slash-command overlay repeatedly opened and closed, accumulating tens of gigabytes of memory
  • Fixed --resume silently truncating recent conversation history due to a race between memory-extraction writes and the main transcript
  • Fixed PreToolUse hooks returning "allow" bypassing deny permission rules, including enterprise managed settings
  • Fixed Write tool silently converting line endings when overwriting CRLF files or creating files in CRLF directories
  • Fixed memory growth in long-running sessions from progress messages surviving compaction
  • Fixed cost and token usage not being tracked when the API falls back to non-streaming mode
  • Fixed CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS not stripping beta tool-schema fields, causing proxy gateways to reject requests
  • Fixed Bash tool reporting errors for successful commands when the system temp directory path contains spaces
  • Fixed paste being lost when typing immediately after pasting
  • Fixed Ctrl+D in /feedback text input deleting forward instead of the second press exiting the session
  • Fixed API error when dragging a 0-byte image file into the prompt
  • Fixed Claude Desktop sessions incorrectly using the terminal CLI's configured API key instead of OAuth
  • Fixed git-subdir plugins at different subdirectories of the same monorepo commit colliding in the plugin cache
  • Fixed ordered list numbers not rendering in terminal UI
  • Fixed a race condition where stale-worktree cleanup could delete an agent worktree just resumed from a previous crash
  • Fixed input deadlock when opening /mcp or similar dialogs while the agent is running
  • Fixed Backspace and Delete keys not working in vim NORMAL mode
  • Fixed status line not updating when vim mode is toggled on or off
  • Fixed hyperlinks opening twice on Cmd+click in VS Code, Cursor, and other xterm.js-based terminals
  • Fixed background colors rendering as terminal-default inside tmux with default configuration
  • Fixed iTerm2 session crash when selecting text inside tmux over SSH
  • Fixed clipboard copy silently failing in tmux sessions; copy toast now indicates whether to paste with ⌘V or tmux prefix+]
  • Fixed / accidentally switching tabs in settings, permissions, and sandbox dialogs while navigating lists
  • Fixed IDE integration not auto-connecting when Claude Code is launched inside tmux or screen
  • Fixed CJK characters visually bleeding into adjacent UI elements when clipped at the right edge
  • Fixed teammate panes not closing when the leader exits
  • Fixed iTerm2 auto mode not detecting iTerm2 for native split-pane teammates
  • Faster startup on macOS (~60ms) by reading keychain credentials in parallel with module loading
  • Faster --resume on fork-heavy and very large sessions — up to 45% faster loading and ~100-150MB less peak memory
  • Improved Esc to abort in-flight non-streaming API requests
  • Improved claude plugin validate to check skill, agent, and command frontmatter plus hooks/hooks.json, catching YAML parse errors and schema violations
  • Background bash tasks are now killed if output exceeds 5GB, preventing runaway processes from filling disk
  • Sessions are now auto-named from plan content when you accept a plan
  • Improved headless mode plugin installation to compose correctly with CLAUDE_CODE_PLUGIN_SEED_DIR
  • Show a notice when apiKeyHelper takes longer than 10s, preventing it from blocking the main loop
  • The Agent tool no longer accepts a resume parameter — use SendMessage({to: agentId}) to continue a previously spawned agent
  • SendMessage now auto-resumes stopped agents in the background instead of returning an error
  • Renamed /fork to /branch (/fork still works as an alias)
  • [VSCode] Improved plan preview tab titles to use the plan's heading instead of "Claude's Plan"
  • [VSCode] When option+click doesn't trigger native selection on macOS, the footer now points to the macOptionClickForcesSelection setting
System prompt

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