← All briefs
Matins
35 changes / 4 actionable / 2 deep dives
Claude Code
  • EnterWorktree now branches from local HEAD, not origin/<default-branch>. Unpushed commits are no longer silently dropped when entering a worktree. If you had workarounds (cherry-picking after worktree entry), remove them.

  • --plugin-dir accepts .zip archives. You can now distribute plugins as zipped bundles instead of requiring an extracted directory.

  • workspace is a reserved MCP server name. If you have an MCP server named workspace in your config, it will be skipped with a warning. Rename it now to avoid silent failures.

  • Parallel shell calls no longer cancel siblings on read-only failure. A failing grep, git diff, or ls in a parallel batch no longer kills the other commands. If you were serializing read-only calls to work around this, you can stop (more below).

New in 2.1.128

2.1.128 (May 5, 2026)

  • Bare /color (no args) now picks a random session color
  • /mcp now shows the tool count for connected servers and flags servers that connected with 0 tools
  • --plugin-dir now accepts .zip plugin archives in addition to directories
  • --channels now works with console (API key) authentication
  • Updated /model picker: collapsed duplicate Opus 4.7 entries
  • Subprocesses (Bash, hooks, MCP, LSP) no longer inherit OTEL_* environment variables
  • MCP: workspace is now a reserved server name
  • Reconnecting MCP servers no longer flood the conversation with full tool-name lists on every reconnect
  • SDK hosts now receive a persistent localSettings suggestion for Bash permission prompts
  • EnterWorktree now creates the new branch from local HEAD as documented, instead of origin/<default-branch>
  • Auto mode: when the classifier can't evaluate an action, the error now includes a hint
  • Fixed focus mode briefly dimming the previous response when submitting a new prompt
  • Fixed stray "4;0;" desktop notification on every /exit in Kitty
  • Fixed Remote Control showing an empty message on rate limit instead of actionable upsell options
  • Fixed drag-and-drop image upload hanging on "Pasting text..." when the image read 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
  • Fixed markdown link labels being lost on terminals without OSC 8 hyperlink support
  • Fixed sessions on 1M-context models being falsely blocked with "Prompt is too long"
  • Fixed parallel shell tool calls: a failing read-only command no longer cancels sibling calls
  • Fixed banner showing "with X effort" on models that don't support effort
  • Fixed /fast on 3P providers fuzzy-matching to an unrelated skill
  • Fixed Bedrock default model resolving to global.* instead of the region-appropriate prefix
  • Fixed vim mode: Space in NORMAL mode now moves the cursor right
  • Fixed terminal progress indicator (OSC 9;4) flickering off between tool calls
  • Fixed /rename without args failing on resumed sessions
  • Fixed stale "remote-control is active" status lines from prior sessions appearing after --resume/--continue
  • Fixed stale installed_plugins.json entries polluting PATH
  • Fixed MCP stdio servers receiving corrupted arguments when CLAUDE_CODE_SHELL_PREFIX is set
  • Fixed sub-agent progress summaries missing the prompt cache (~3x cache_creation reduction)
  • Fixed /plugin update never detecting new versions of npm-sourced plugins
  • Fixed sub-agent summaries firing repeatedly while a sub-agent's transcript is static
  • Headless --output-format stream-json: init.plugin_errors now includes --plugin-dir load failures

Notes

The EnterWorktree HEAD fix closes a data-loss footgun that's existed since 2.1.105. When EnterWorktree was introduced in 2.1.105, it created branches from origin/<default-branch>. If you had unpushed local commits, they vanished from the new worktree with no warning. The fix aligns the behavior with what the docs always described. If you built a habit of pushing before entering worktrees, you can relax that, but verify on your next worktree entry that your local commits carry over.

Parallel read-only shell fix removes a long-standing friction point for agent workflows. Since parallel tool calls landed, a single failing grep (e.g. no match, exit code 1) would cancel sibling git diff or ls calls in the same batch. This forced users and agent prompts to serialize read-only commands or swallow grep failures with || true. That workaround is no longer necessary. The fix only applies to read-only commands; a failing write command still cancels siblings as before.