AI Frontier Labs Release Notes Podcast

Claude Code v2.1.128 — EnterWorktree HEAD fix, /mcp tool counts, OTEL inheritance, workspace reserved


Listen Later

What's new in Claude Code v2.1.128

A polish-heavy release with one real data-safety fix. EnterWorktree used to create the new branch from origin/, silently orphaning any unpushed commits — it now branches from local HEAD as documented. /mcp shows the tool count for each connected server and explicitly flags servers that connected with 0 tools (the most common silent MCP failure mode). --plugin-dir accepts .zip archives in addition to directories. --channels now works with API-key console auth, gated behind a new channelsEnabled: true managed setting. Subprocesses (Bash, hooks, MCP, LSP) no longer inherit OTEL_* env vars, so OTel-instrumented apps under the Bash tool stop accidentally sharing Claude Code's collector. MCP workspace is now a reserved server name (breaking — existing servers with that name are skipped with a warning). And SDK hosts receive a persistent localSettings suggestion for Bash permission prompts so "Always allow" persists to .claude/settings.local.json.

EnterWorktree branches from local HEAD

Why: Creating a worktree from origin/ quietly orphaned unpushed commits on your current branch — a silent data-loss path if you launched a worktree mid-session.

What: EnterWorktree now creates the new branch from your local HEAD as documented, so unpushed commits travel with you into the worktree.

How: claude -w feature-branch (or the EnterWorktree tool) — branches off your current local commit, no git stash needed.

/mcp shows tool count + flags 0-tool servers

Why: When an MCP server connected but exposed zero tools (auth scope mismatch, broken tool registration), it looked "fine" in /mcp and silently did nothing — you only noticed when you tried to use it.

What: /mcp now displays the tool count alongside each connected server and explicitly flags servers that connected with 0 tools. Reconnects also stop flooding the conversation with full tool-name lists — re-announces are summarized by server prefix.

How: Run /mcp — the count appears inline; 0-tool servers are highlighted so you can investigate before noticing in production.

MCP: workspace is now a reserved server name

Why: A new built-in workspace MCP capability ships in 2.1.128, and any user-defined server named workspace would silently shadow or conflict with the built-in.

What: workspace is now a reserved MCP server name. Existing servers configured with that name are skipped on startup with a warning, not silently overridden.

How: Check /doctor or /mcp after upgrading; rename any "workspace" entry in your MCP config.

--plugin-dir accepts .zip archives

Why: Sharing or testing a plugin meant unzipping it first and pointing --plugin-dir at the unpacked tree — fine locally, awkward for CI artifacts and review packets.

What: --plugin-dir now accepts .zip plugin archives in addition to directories.

How: claude --plugin-dir ./build/my-plugin.zip — same flag, archives load alongside unpacked dirs.

--channels works with console (API key) auth

Why: Channels research preview previously required Claude.ai authentication, which excluded API-key console orgs running on Bedrock/Vertex/Foundry.

What: --channels now works with API-key console authentication. Console orgs with managed settings opt in via a new channelsEnabled: true managed setting before users can attach channels.

How: As an admin, set channelsEnabled: true in your managed settings.json; users then run claude --channels plugin:@.

Subprocesses no longer inherit OTEL_* env vars

Why: OTel-instrumented apps run via the Bash tool inherited Claude Code's own OTEL_EXPORTER_OTLP_ENDPOINT and friends, so their telemetry got mailed to Claude Code's collector instead of the app's.

What: Bash, hook, MCP, and LSP subprocesses now have OTEL_* env vars stripped from their environment. Claude Code keeps its own telemetry; child processes use whatever they were configured with, or nothing.

How: No action needed. If you intentionally want a subprocess to share Claude Code's OTel config, set the env vars explicitly in your hook or wrapper script.

SDK: persistent localSettings suggestion for Bash prompts

Why: SDK hosts choosing "Always allow" for a Bash command had no canonical place to persist the rule — every host implemented its own local store.

What: SDK hosts now receive a persistent localSettings suggestion for Bash permission prompts. Selecting "Always allow" writes the rule to .claude/settings.local.json, so the next session honors it.

How: Update your SDK host to surface the localSettings suggestion field; "Always allow" then auto-persists the matching Bash(...) rule.

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) - EnterWorktree branches from local HEAD
  • (00:41) - /mcp shows tool count + flags 0-tool servers
  • (01:30) - MCP: workspace is reserved server name
  • (01:56) - --plugin-dir accepts .zip archives
  • (02:13) - --channels works with API key console auth
  • (02:45) - Subprocesses don't inherit OTEL_* env vars
  • (03:36) - SDK localSettings for Bash permission prompts
  • ...more
    View all episodesView all episodes
    Download on the App Store

    AI Frontier Labs Release Notes PodcastBy Andrei