AI Frontier Labs Release Notes Podcast

Claude Code v2.1.128: EnterWorktree now branches from local HEAD (no more orphaned unpushed commits), /mcp shows tool count and flags 0-tool servers, --plugin-dir accepts .zip archives, --channels works with console API-key auth (channelsEnabled managed setting), MCP "workspace" is reserved (breaking), subprocesses no longer inherit OTEL_* env vars, and SDK gets a persistent localSettings suggestion for Bash permission prompts.

Show Notes

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/<default-branch>, 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/<default-branch> 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:<name>@<marketplace>.

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

What is AI Frontier Labs Release Notes Podcast?

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.