AI Frontier Labs Release Notes Podcast

Claude Code v2.1.121 — MCP polish, plugin prune, PostToolUse hooks expand, memory leaks fixed


Listen Later

What's new in Claude Code v2.1.121

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.

MCP alwaysLoad opts out of tool-search deferral

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.

claude plugin prune for orphaned plugin dependencies

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.

PostToolUse hooks can replace output for all tools

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.

CLAUDE_CODE_FORK_SUBAGENT works in non-interactive sessions

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.

--dangerously-skip-permissions allowlist for .claude/{skills,agents,commands}

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.

/terminal-setup enables iTerm2 clipboard for /copy (including tmux)

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.

MCP servers auto-retry transient startup errors up to 3 times

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.

Vertex AI X.509 Workload Identity Federation (mTLS ADC)

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.

SDK mcp_authenticate redirectUri + OpenTelemetry enrichments

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.

Scrollable overflow dialogs + /skills type-to-filter

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.

Memory leak fixes that ship with the release

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

  • (00:00) - MCP polish: alwaysLoad + transient retry
  • (01:07) - claude plugin prune for orphaned deps
  • (01:29) -...
  • ...more
    View all episodesView all episodes
    Download on the App Store

    AI Frontier Labs Release Notes PodcastBy Andrei