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

Claude Code source leak reveals autoDream memory system and multi-agent patterns
Anthropic accidentally shipped Claude Code's TypeScript source in npm source maps, revealing autoDream memory consolidation, modular system prompt architecture, and multi-agent coordinator patterns.

The AI Bubble Isn't Like the Internet Bubble — Workers Won't Smuggle AI Like They Smuggled Spreadsheets
Cory Doctorow argues the AI bubble differs fundamentally from the dot-com era: workers smuggled internet tools onto corporate networks because those tools helped them do their jobs. No one is smuggling AI agents — they're being force-fed by management.

Claude Code's 'Honest Caveat' Tell Spikes: Data-Driven Analysis from r/ClaudeAI
A Reddit user tracked the rise of 'honest caveat' hedging in Claude Code outputs using Google search result counts as a proxy frequency measure.

Qwen3.5-27B 8-bit vs 16-bit Performance Comparison
A Reddit user tested Qwen3.5-27B with vLLM comparing bf16 weights and 16-bit KV cache against Qwen's fp8 quantization with 8-bit KV cache, finding practically identical results on the Aider benchmark using an RTX 6000 Pro.