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.181 v2.1.183newer

Claude Code v2.1.182

24 entries read diff v2.1.181 → v2.1.182 Markdown

Version 2.1.182 introduces /migrate, a new command for importing configuration from OpenAI Codex and Google Gemini CLI into Claude Code — covering MCP servers, slash commands, subagents, skills, and instruction files with path-safety guards and a dry-run preview mode. The release also adds a built-in /artifact-design skill for structured UI design, a disableClaudeAiConnectors setting to block auto-fetching of cloud MCP connectors, a git.sessionUrl setting to control whether session links appear in commits and PRs, and a CLAUDE_CODE_CONNECT_TIMEOUT_MS environment variable for streaming time-to-first-byte timeouts.

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

New Featuresopen

/migrate — Import config from Codex or Gemini CLI#

What

A new slash command and CLI subcommand that scans for OpenAI Codex or Google Gemini CLI configuration and imports compatible items into Claude Code.

Usage
# Interactive TUI picker (terminal only)
claude migrate

# Import from a specific agent
claude migrate codex
claude migrate gemini

# Preview without writing anything
claude migrate --dry-run

# Non-interactive: auto-import user-level items (skips ⚠-flagged and project-level items)
claude migrate --yes
claude migrate codex --yes --dry-run

Or from inside a session:

/migrate
/migrate codex --dry-run
/migrate --yes
Details
  • Detects Codex config at ~/.codex/config.toml, ~/.codex/AGENTS.md, ~/.codex/prompts/, and .codex/config.toml in the current project
  • Detects Gemini CLI config at ~/.gemini/settings.json, ~/.gemini/GEMINI.md, ~/.gemini/commands/, and GEMINI.md / .gemini/ in the current project
  • Importable item types: MCP servers, slash commands, subagents, skill directories, and instruction files (AGENTS.md / AGENTS.override.md / GEMINI.md → CLAUDE.md)
  • Items requiring extra review are flagged with ⚠ and held back by --yes; they can be individually toggled in the terminal checkbox picker
  • Project-level config (from .codex/ or .gemini/ in the repo) is detected and listed but never auto-imported — project config can be authored by anyone with write access to that repo. Run claude migrate from a terminal to review project items individually
  • Items that cannot be mapped automatically (hooks, sandbox settings, named profiles, Gemini extensions) generate a /migrate-to-claude-code fallback skill listing each one with guidance
  • On surfaces without an interactive picker, /migrate asks Claude to summarize what was found and guide the user to run --yes or use the terminal
  • Path-traversal guards prevent importing files that escape the config directory (symlinks and .. components are rejected)
  • Files exceeding the size limit are refused with "file exceeds MIGRATE_MAX_FILE_BYTES; refusing to load"
Evidence

Full migration subsystem — search for "Import config from another AI coding agent (Codex, Gemini CLI)" and "claude migrate [codex|gemini] [--dry-run] [--yes]"

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-design — Built-in design skill for Artifacts#

What

A new built-in skill that provides comprehensive design guidance for building distinctive, production-grade frontend pages published as claude.ai Artifacts.

Usage
/artifact-design
Details
  • Guides a two-pass design process: (1) brainstorm a compact token system — 4–6 named hex values, 2+ typeface roles, a layout concept with ASCII wireframes; (2) critique the plan against the subject before building, revise anything that reads as a generic default, then build from the revised plan exactly
  • Design principles: hero as a thesis, typography as personality, structure as information, deliberate motion (one orchestrated moment), copy as design material
  • Includes a palette-commit format (<palette_commit> block) to pin color decisions before writing CSS
  • References three common AI design defaults to avoid (warm cream + high-contrast serif + terracotta; dark + acid-green; broadsheet hairlines) when the user has not specified a visual direction
  • User-invocable on all surfaces that support skills
Evidence

New artifact-design skill definition — search for "artifact-design" or "Design guidance for Artifact pages — process, principles, palette, copy."

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

disableClaudeAiConnectors Setting#

What

A new boolean setting that prevents Claude Code from automatically fetching and connecting claude.ai MCP cloud connectors.

Details
  • Set in any settings source:
  { "disableClaudeAiConnectors": true }
  • Any-source-true wins: a project can opt out (set true), but a project-level false cannot override a user-level true
  • Only gates auto-fetched connectors; a claudeai-proxy server passed explicitly via --mcp-config or the SDK mcpServers option still follows the normal MCP config trust flow
  • Useful for air-gapped environments, strict compliance setups, or projects requiring explicit MCP server control
Evidence

New settings schema field — search for "When true in any settings source, claude.ai MCP cloud connectors are not auto-fetched or connected."

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

attribution.sessionUrl Setting#

What

Controls whether Claude Code appends a claude.ai session link to commits and pull requests created during web or Remote Control sessions.

Details
  • Set in settings.json under the attribution key:
  { "attribution": { "sessionUrl": false } }
  • Default is true — the Claude-Session commit trailer and PR-body link are added automatically
  • Set to false to omit both the trailer and the link (useful for organizations that want clean commit history or disallow external links in PRs)
Evidence

New settings schema field — search for "Whether to append the claude.ai session link to commits and PRs created from web or Remote Control sessions"

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

CLAUDE_CODE_CONNECT_TIMEOUT_MS — Streaming time-to-first-byte timeout#

What

A new environment variable that sets a hard timeout for receiving the first response headers on streaming API calls. When the API does not return headers within the configured time, the request is aborted with a clear error instead of hanging.

Usage
CLAUDE_CODE_CONNECT_TIMEOUT_MS=15000 claude   # abort if no headers within 15 s
Details
  • Applies only to streaming requests (event-stream, Bedrock eventstream, :streamRawPredict paths)
  • Error message: "Request timed out: no response headers after 15s (CLAUDE_CODE_CONNECT_TIMEOUT_MS)"
  • Warning logged: "[TTFB] no response headers after Nms — aborting (CLAUDE_CODE_CONNECT_TIMEOUT_MS)"
  • Previously there was no way to configure a TTFB timeout; streaming requests would wait indefinitely for the first byte before any timeout applied
Evidence

New yVu() function and timeout logic — search for "CLAUDE_CODE_CONNECT_TIMEOUT_MS" and "[TTFB] no response headers after"

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

MCP resources/directory/read Support#

What

Claude Code now supports MCP servers that implement directory listing via the io.modelcontextprotocol/skills protocol extension, enabling skill-serving MCP servers to expose navigable directory structures.

Details
  • MCP servers advertise the capability via extensions["io.modelcontextprotocol/skills"].directoryRead: true
  • Claude can list directory contents at a URI and descend into subdirectories; subdirectories appear with mimeType: "inode/directory"
  • When a skill at a URI references a supporting file by relative path (e.g. templates/invoice.md), Claude is told to call the MCP read tool with the full composed URI rather than reading locally
  • Cursor-based pagination is handled automatically; an InvalidParams error mid-pagination returns prior-page results with a warning rather than throwing
  • URI sanitization strips Unicode control characters, private-use codepoints, and bidirectional markers to prevent path confusion
Evidence

New mZi() directory-read function — search for "readMcpDirectory called on a server without directoryRead capability" and "resources/directory/read"

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

13 entries

Improvementsopen

Fable Model Disabled State — Clearer Messaging#

When Fable is unavailable because your organization has not provisioned usage credits, it now appears in the model picker as "Fable (disabled)" instead of a selectable option, with the label "— contact your admin to turn on usage credits".

Contextual messages are also now more specific by plan type:

  • Team plan: "Run /usage-credits to request more from your admin, or switch models to keep working."
  • Individual: "Buy more to keep using Fable, or switch models to keep working."
  • When /usage-credits is disabled via env: "Switch models to keep working."
Evidence

New YCd() and Xwn() functions — search for "Fable (disabled)" and "contact your admin to turn on usage credits"

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

Legacy Model Remapping — Clearer Warning and Opt-Out#

When Claude Code automatically remaps a deprecated model ID to a current one, the warning now includes the model name being used and mentions the opt-out env var:

Before: ⚠ Claude Opus 4.7 has been updated to claude-opus-4-8.

After: ⚠ claude-opus-4-7 is automatically remapped to Claude Opus 4.8 (claude-opus-4-8). Set CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 to keep the requested model.

Also, the status-line model indicator now shows the same opt-out hint in shortened form: ⚠ Opus 4.7 remaps to Claude Opus 4.8. CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 opts out.

Evidence

Modified DCo() and new lzn() functions — search for "is automatically remapped to" and "CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=1 opts out"

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.

Auto-Compact Diff — Branch Changes Context#

The compact view's diff header now distinguishes between uncommitted working-tree changes and changes on a feature branch relative to its upstream base:

  • Working-tree only → Uncommitted changes (git diff HEAD)
  • Branch relative to upstream → Branch changes (vs main)
Evidence

Modified compact diff function — search for "Branch changes"

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

Linux Sandbox Bridge Error — Actionable Message#

When the Linux sandbox's socat bridge socket disappears (e.g., because socat died), Claude Code now raises a named SandboxBridgeUnavailableError with a clear message instead of an opaque socket error:

Linux sandbox SOCKS bridge socket is missing (socat may have died). Restart to retry.

Evidence

New SandboxBridgeUnavailableError class — search for "SandboxBridgeUnavailableError" or "bridge socket is missing (socat may have died)"

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

Agent Proxy CA Certificate Installed to Linux System Trust#

When the CCR agent proxy runs on Linux, Claude Code now attempts to install its CA certificate into the system-level certificate store in addition to using environment variable trust. Supports:

  • Debian/Ubuntu: /usr/local/share/ca-certificates/ccr-agent-proxy.crt + update-ca-certificates
  • RHEL/CentOS: /etc/pki/ca-trust/source/anchors/ccr-agent-proxy.crt + update-ca-trust extract

Falls back to env-var trust if the system install fails. A notification is logged when system trust succeeds: [agent-proxy] CA installed to system trust via update-ca-certificates.

Evidence

New Bjl() function — search for "[agent-proxy] CA installed to system trust via" and "/etc/pki/ca-trust/source/anchors"

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

Design MCP Connector Scope Auto-Expansion#

When a session accesses the Design MCP connector (/v1/design/ paths), Claude Code now automatically requests the required user:design:read and user:design:write OAuth scopes if not already present. A one-time notification is shown when the scopes are added:

Added user:design:read and user:design:write to your claude.ai login (for the Design MCP connector).

Evidence

New EWd() function — search for "Added user:design:read and user:design:write to your claude.ai login"

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

MCP Per-Server Permission Mode Override (Control Channel)#

The MCP control channel now supports a tighten-only per-server permission mode override. Orchestration layers can downgrade specific MCP server permissions to 'default' (or clear the override with null) without a full session restart. Escalation attempts (e.g., setting 'auto') are rejected:

Permission mode override over the control channel is tighten-only ('default' or null); rejected 'auto'

Evidence

New Qta() function — search for "set_mcp_permission_mode_override" and "tighten-only"

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

Team Memory Index Size Warning#

When a team memory index file is approaching or exceeding its read limit (configurable via promptIndexMaxBytes), Claude now surfaces a contextual warning during reads:

The memory index at team/[mount]/[path] is [size], approaching the [limit] read limit — content beyond that is dropped when this index is loaded. Compact it to under [target] now: keep one line per entry, move detail into topic files, and merge or drop stale entries.

Evidence

New FXa() function — search for "Compact it to under" and "approaching the" with "read limit"

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

In-Process Teammate Resume — Improved Reliability#

Resuming an in-process teammate now:

  • Verifies the team context is active before attempting resume, with a clear error: "Cannot resume teammate: no team is active in this session"
  • Checks team membership and reports missing teammates: "No teammate named 'X' is currently on team 'Y'. Spawn one with …"
  • Loads prior transcript and content replacements before spawning
  • Re-registers the teammate in the team file and lifecycle tracker after spawn
  • Drops stale protocol frames before delivering the new prompt
Evidence

New Lza() function — search for "resumeInProcessTeammate" and "Cannot resume teammate: no team is active in this session"

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

/doctor Hint on Setup Issue Count#

When Claude Code detects setup issues at startup (MCP failures, keybinding errors, etc.), the log message now appends "(run /doctor for details)" so users know how to investigate:

2 setup issues: settings, MCP (run /doctor for details)

Evidence

New dD() function — search for "run /doctor for details"

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

CCR WebSearch Proxy#

For Remote Control sessions with CLAUDE_CODE_WEBSEARCH_USE_CCR_PROXY=1 set, web searches are now routed through the Anthropic API's session WebSearch proxy (/worker/web-search) instead of directly to the search provider. Error messages from the proxy are surfaced clearly with type-specific descriptions.

Evidence

New L8a() function — search for "ccr websearch-proxy transport error" and "/worker/web-search"

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

Removed Repeated Tool Validation Schema Dump#

The feature that appended a verbose JSON schema dump to tool results after multiple consecutive InputValidationError responses (the "This call has now failed validation N times in a row. The tool's input schema is: …" message) has been removed. Tool input errors are now handled without the repeated schema echo, reducing noise and token consumption.

Evidence

Removed Bfi() function — search for removed string "This call has now failed validation"

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

SendUserFile Tool — Usage Example Added#

The SendUserFile tool description now includes a concrete example: Example: SendUserFile({ files: ["report.md"], caption: "Here's the report.", status: "normal" })

Evidence

Updated R5r string — search for "Example: SendUserFile({ files:"

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

1 entry

Bug Fixesopen

#

  • Fixed extra keys on {type:'disabled'} thinking parameters being forwarded to the API (gh-68567). A leftover display field or similar on a disabled thinking config is now stripped before the request is sent, preventing API validation failures. (search for "extra key(s) from {type:'disabled'} thinking param (gh-68567)")
  • Fixed VirtualMessageList crash when the message array contains an undefined element. Bounds-checked access now emits a diagnostic error event with neighbor context instead of throwing. (search for "VirtualMessageList: undefined element in messages[]")
  • Fixed opaque socket errors when the Linux sandbox bridge dies. Claude Code now raises a named SandboxBridgeUnavailableError with the message "Linux sandbox [SOCKS|HTTP] bridge socket is missing (socat may have died). Restart to retry." (search for "SandboxBridgeUnavailableError")
  • Fixed input JSON failed to parse errors not including the payload size. The error message now reads input JSON failed to parse — N bytes, making it easier to diagnose oversized or malformed tool inputs. (search for "input JSON failed to parse —")
  • Fixed Codex never approval policy mapping: it is now explicitly mapped to auto permission mode with a warning explaining the sandbox difference, rather than being silently dropped. (search for "Codex \never\ relies on Codex's own sandbox")
1 entry

Notesopen

#

The /migrate command's --yes flag imports only user-level items that have no ⚠ warning. Items flagged as requiring review — such as commands with shell exec (!{cmd}), MCP servers with repo-authored configs, or permission-mode escalations — are held back and must be reviewed individually via the terminal picker (claude migrate without --yes). Project-level items from .codex/ or .gemini/ in your repo are always held back in --yes mode because project config can be authored by anyone with write access to the repository.

Related

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

Verbatim
No official entry

Not individually listed upstream

v2.1.182 does not have its own entry in Anthropic’s official changelog, because prerelease builds are often folded into a neighbouring release. Browse the full changelog for the closest official notes. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

System prompt

No change to the system prompt since v2.1.181.

Claude Code, interactive mode