Claude Code v2.1.121: MCP gains alwaysLoad and transient-error auto-retry, claude plugin prune cleans orphaned deps, PostToolUse hooks now replace tool output for all tools (was MCP-only), CLAUDE_CODE_FORK_SUBAGENT works in --print/SDK, /terminal-setup fixes iTerm2+tmux /copy, plus Vertex X.509 federation, SDK mcp_authenticate redirectUri, OTEL enrichments, scrollable dialogs, /skills filter, and memory leak fixes that flatten multi-GB session bloat.
A quietly meaty release. MCP gets two real polish wins (alwaysLoad opt-out of tool-search deferral, transient-error auto-retry up to 3x). Plugin authors get claude plugin prune for orphaned deps. PostToolUse hooks expand to all tools (previously MCP-only). Headless and SDK get CLAUDE_CODE_FORK_SUBAGENT parity and a --dangerously-skip-permissions allowlist for .claude/skills/, agents/, and commands/. /terminal-setup fixes the iTerm2+tmux /copy footgun. Vertex AI gains X.509 Workload Identity Federation; SDK mcp_authenticate gains redirectUri. OTEL spans add stop_reason, finish_reasons, and gated user_system_prompt. Plus scrollable overflow dialogs, /skills type-to-filter, and three serious memory leak fixes that flatten multi-GB session bloat.
Why: Tool-search deferral keeps MCP tools out of the model's view until needed, but for must-be-available servers that introduces latency and discoverability gaps.
What: Adds an alwaysLoad option to MCP server config; when true, all tools from that server skip tool-search deferral and are always available.
How: Set "alwaysLoad": true on the MCP server entry in your settings JSON.
Why: Auto-installed plugin dependencies stayed on disk after their parent plugin was uninstalled, leaving orphaned state that nothing collected.
What: Adds claude plugin prune to remove orphaned auto-installed plugin dependencies; plugin uninstall --prune cascades through dependents.
How: Run claude plugin prune standalone, or pass --prune to claude plugin uninstall.
Why: Hook authors could only mutate tool output for MCP tools — every other tool surface was read-only from a hook's perspective.
What: PostToolUse hooks can now replace tool output for all tools via hookSpecificOutput.updatedToolOutput, not just MCP-originated tools.
How: Set hookSpecificOutput.updatedToolOutput in your hook return; works for any tool that fires PostToolUse.
Why: Forked subagents shipped for interactive use but were silently ignored under claude --print and the SDK, blocking automation pipelines.
What: Enables CLAUDE_CODE_FORK_SUBAGENT=1 for SDK and claude -p non-interactive sessions, matching interactive-mode behavior.
How: export CLAUDE_CODE_FORK_SUBAGENT=1 before launching claude -p or your SDK process.
Why: Even with the dangerous flag, writes to common authoring directories prompted, slowing skill/agent/command iteration loops.
What: --dangerously-skip-permissions no longer prompts for writes to .claude/skills/, .claude/agents/, and .claude/commands/.
How: Run claude --dangerously-skip-permissions as before; writes to those three directories now fall through silently.
Why: /copy from inside tmux on iTerm2 silently failed because iTerm2's "Applications in terminal may access clipboard" setting was off by default.
What: /terminal-setup now enables iTerm2's "Applications in terminal may access clipboard" setting, so /copy works including from tmux.
How: Run /terminal-setup once on iTerm2; /copy then works through tmux without manual iTerm2 settings changes.
Why: A flaky MCP server hitting a transient error during startup left the connection permanently dead until the user manually reconnected.
What: MCP servers that hit a transient error during startup now auto-retry up to 3 times before staying disconnected.
How: Automatic — no config; flaky servers self-heal up to 3 attempts before surfacing.
Why: Enterprises on Vertex AI standardized on certificate-based Workload Identity Federation but Claude Code only accepted service account keys or OAuth tokens.
What: Adds support for X.509 certificate-based Workload Identity Federation (mTLS Application Default Credentials) on Vertex AI.
How: Configure Vertex Workload Identity Federation with X.509 certs in your gcloud ADC; Claude Code picks them up automatically.
Why: Claude.ai connectors and custom-scheme OAuth flows had no way to specify their redirect URI, and OTEL spans lacked stop_reason and full prompt context.
What: SDK mcp_authenticate now supports redirectUri for custom-scheme completion and claude.ai connectors; OTEL adds stop_reason, gen_ai.response.finish_reasons, and user_system_prompt (gated by OTEL_LOG_USER_PROMPTS) to LLM request spans.
How: Pass redirectUri to mcp_authenticate; set OTEL_LOG_USER_PROMPTS=1 to opt into user-prompt span attributes.
Why: Dialogs taller than the terminal viewport had unreachable rows, and /skills lists scrolled off-screen with no way to jump to a specific skill.
What: Dialogs that overflow the terminal are now scrollable with arrow keys, PgUp/PgDn, home/end, and mouse wheel in both fullscreen and non-fullscreen; /skills gains a type-to-filter search box.
How: Automatic — overflow dialogs accept the standard navigation keys; /skills filter activates when you start typing.
Why: Long-running sessions leaked multi-GB of RSS through several distinct paths — image processing, /usage with large transcript histories, and stalled progress events on long-running tools.
What: Fixes unbounded memory growth when processing many images, /usage leaking up to ~2GB on machines with large transcript histories, and a memory leak when long-running tools fail to emit a clear progress event.
How: Automatic on upgrade; long-running sessions stop accumulating ghost memory.
Hosts: Alex Chen & Sarah Kim · Generated from the official Claude Code CHANGELOG.
Full changelog: github.com/anthropics/claude-code/CHANGELOG.md
Claude Code docs: code.claude.com/docs
Each episode breaks down the latest release notes from AI frontier labs, so you know exactly what changed and why it matters for your workflow.
NOTE: This podcast is AI-generated, both in terms of content and in terms of voice over. AI can make mistakes. Please double-check content before any decisions based on this content.