Claude Code v2.1.128: OTEL isolation, MCP fixes, plugin .zip support, and 20+ bug fixes

Claude Code v2.1.128 is out with a solid batch of fixes and minor features. The headline changes: subprocesses no longer inherit OpenTelemetry environment variables, --plugin-dir now accepts .zip archives, and MCP reconnections no longer flood the conversation. Let's dig into the practical bits.
OTEL isolation for subprocesses
Subprocesses (Bash, hooks, MCP, LSP) no longer inherit OTEL_* environment variables. If you run an OTEL-instrumented app via the Bash tool, it won’t pick up the CLI’s own OTLP endpoint anymore. This is a clean break — your app’s telemetry stays separate from Claude Code’s.
Plugin improvements
--plugin-dirnow accepts.zipplugin archives in addition to directories. Drop a.zipin your plugin directory and it’ll be loaded.- Headless
--output-format stream-json'sinit.plugin_errorsnow includes--plugin-dirload failures, not just dependency demotions. /plugin updatewas fixed — it now correctly detects new versions of npm-sourced plugins.
MCP updates
/mcpnow shows the tool count for connected servers and flags servers that connected with 0 tools.workspaceis now a reserved server name. Existing servers namedworkspacewill be skipped with a warning.- Reconnecting MCP servers no longer flood the conversation with full tool-name lists — re-announced tools are summarized by server prefix.
- Fixed MCP tool results dropping images when the server returns both structured content and content blocks.
- Fixed MCP stdio servers receiving corrupted arguments when
CLAUDE_CODE_SHELL_PREFIXis set and an argument contains spaces or shell metacharacters.
Other notable changes
--channelsnow works with console (API key) authentication. Console orgs with managed settings must setchannelsEnabled: true.EnterWorktreenow creates the new branch from local HEAD as documented, instead oforigin/<default-branch>. Unpushed commits are no longer dropped.- Auto mode: when the classifier can't evaluate an action, the error includes a hint (retry,
/compact, or run with--debug). - Parallel shell tool calls: a failing read-only command (
grep,git diff,ls) no longer cancels sibling calls. - Fixed crash loop when piping very large input (>10 MB) to
claude -pvia stdin. - Fixed vim mode:
Spacein NORMAL mode now moves the cursor right, matching standard vi/vim behavior. - Fixed
/renamewithout args failing on resumed sessions whose last entry is a compact boundary. - Fixed sub-agent progress summaries missing the prompt cache (roughly 3×
cache_creationreduction). - Fixed sub-agent summaries firing repeatedly while a sub-agent's transcript is static, capping worst-case token cost on idle sub-agents.
- Fixed Bedrock default model resolving to
global.*instead of the region-appropriate prefix.
Full changelog with all 20+ fixes is on the release page.
📖 Read the full source: GitHub Claude-Code
👀 See Also

Berkeley Study: All AI Revision Prompts Drift Prose Toward Formality, Even "Preserve Voice"
New paper from Berkeley measures 300 personal narratives through Claude, ChatGPT, and Gemini under three prompt conditions. Every model and condition reduces contractions, first-person pronouns, and narrative closeness — the "preserve voice" prompt only reduces drift magnitude, not direction.

AI's PR Problem: Flat Wages, Soaring Capital, and Public Backlash
College wage premium flat for 25 years, S&P 500 up 380%. Workers see AI as theft enabler, leading to laws against data centers.

NTSB Pulls Docket After AI Recreates Dead Pilots' Voices from Spectrograms
Using Codex and Griffin-Lim algorithm, users reconstructed cockpit audio from NTSB spectrograms. NTSB pulled public docket in response.

Neuromorphic Ising Machine on FPGA Solves Hard Combinatorial Problems
A neuromorphic Ising machine implemented on an FPGA uses quantum tunneling physics and brain-inspired architecture to solve combinatorial optimization problems like protein folding.