v2.1.128
Claude CodeSummary
This release introduces several usability enhancements, including support for loading plugins from .zip archives and improved handling of MCP server reconnections. Numerous bugs have been resolved, particularly around focus management, large input handling, and ensuring correct behavior for markdown links and parallel tool calls. Additionally, subprocesses now correctly isolate environment variables, improving stability for instrumented applications.
New Features
- Added support for picking a random session color when using the bare /color command.
- Enabled /mcp command to show tool counts for connected servers and flag servers with 0 tools.
- Enabled --plugin-dir to accept .zip plugin archives in addition to directories.
- Enabled --channels to work with console (API key) authentication, requiring managed orgs to set channelsEnabled: true.
- Updated /model picker to collapse duplicate Opus 4.7 entries and display the current Opus model simply as "Opus".
- Introduced persistent localSettings suggestion for SDK hosts regarding Bash permission prompts, ensuring "Always allow" writes to .claude/settings.local.json.
- Changed EnterWorktree to create the new branch from local HEAD instead of origin/<default-branch>, preventing the dropping of unpushed commits.
Bug Fixes
- Fixed focus mode briefly dimming the previous response when submitting a new prompt.
- Fixed stray "4;0;" desktop notification appearing on every /exit in terminals like Kitty.
- Fixed Remote Control showing an empty "Opening your options…" message on rate limit instead of actionable upsell options.
- Fixed drag-and-drop image upload hanging on "Pasting text…" when image reading fails.
- Fixed crash loop when piping very large input (>10 MB) to claude -p via stdin.
- Fixed long URLs not being individually clickable on every wrapped row in fullscreen mode.
- Fixed /plugin Components panel showing "Marketplace 'inline' not found" for plugins loaded via --plugin-dir.
- Fixed MCP tool results dropping images when the server returns both structured content and content blocks.
- Fixed fenced code blocks inside list items carrying leading whitespace into the clipboard on copy-paste.
- Fixed tab navigation in /config stranding focus; the tab header now stays focused.
- Fixed markdown link labels being lost on terminals without OSC 8 support by rendering them as label (url).
- Fixed sessions on 1M-context models with smaller autocompact windows being falsely blocked with "Prompt is too long".
- Fixed parallel shell tool calls where a failing read-only command no longer cancels sibling calls.
- Fixed banner incorrectly showing "with X effort" on models that do not support effort.
- Fixed /fast on 3P providers fuzzy-matching to an unrelated skill instead of showing "not available".
- Fixed Bedrock default model resolving incorrectly to global.* instead of the region-appropriate prefix.
- Fixed vim mode: Space in NORMAL mode now correctly moves the cursor right.
- Fixed terminal progress indicator flickering off between tool calls; it now stays visible across the full turn.
- Fixed /rename without args failing on resumed sessions whose last entry is a compact boundary.
- Fixed stale "remote-control is active" status lines from prior sessions appearing after --resume/--continue.
- Fixed stale installed_plugins.json entries pointing at deleted cache directories polluting PATH.
- Fixed MCP stdio servers receiving corrupted arguments when CLAUDE_CODE_SHELL_PREFIX is set and an argument contains spaces or shell metacharacters.
- Fixed sub-agent progress summaries missing the prompt cache, resulting in significant creation time reduction.
- Fixed /plugin update never detecting new versions of npm-sourced plugins.
- Fixed sub-agent summaries firing repeatedly when a sub-agent's transcript is static, capping token cost on idle sub-agents.
- Fixed Headless --output-format stream-json: init.plugin_errors now correctly includes --plugin-dir load failures.
Improvements
- MCP reconnecting servers no longer flood the conversation with full tool-name lists; re-announced tools are now summarized by server prefix.
- Auto mode errors now include a hint (retry, /compact, or run with --debug) when the classifier cannot evaluate an action.
- Subprocesses (Bash, hooks, MCP, LSP) no longer inherit OTEL_* environment variables, preventing instrumented apps from using the CLI's OTLP endpoint.
- MCP reserved "workspace" as a server name; existing servers with that name are now skipped with a warning.
- Reduced worst-case token cost on idle sub-agents by capping repeated sub-agent summaries.