Claude Code 2.1.105: Worktree Paths, MCP Fixes

Claude Code 2.1.105 fixes MCP server issues, improves error messages, and adds worktree path switching. Major fixes for file handling and terminal display.

Claude Code 2.1.105: Worktree Paths, MCP Fixes

TL;DR

  • EnterWorktree now accepts a path parameter to switch into existing worktrees
  • Major fixes for MCP servers, file handling, and terminal display issues
  • Improved error messages and UI truncation for long outputs

New

  • EnterWorktree path parameter — switch into an existing worktree of the current repository without creating a new one
  • PreCompact hook blocking — hooks can now block compaction by exiting with code 2 or returning {"decision":"block"}
  • Background monitor support — plugins can now define monitors via a top-level monitors manifest key that auto-arm at session start or on skill invoke
  • /proactive alias/proactive is now an alias for /loop

Improved

  • Stalled API streams — streams now abort after 5 minutes of no data and retry non-streaming instead of hanging indefinitely
  • Network error messages — connection errors now show a retry message immediately instead of a silent spinner
  • Long file writes — minified JSON and other single-line writes are now truncated in the UI instead of paginating across many screens
  • /doctor layout — added status icons; press f to have Claude fix reported issues
  • Skill descriptions — raised the listing cap from 250 to 1,536 characters and added a startup warning when descriptions are truncated
  • WebFetch — now strips <style> and <script> contents from fetched pages so CSS-heavy pages no longer exhaust the content budget
  • Worktree cleanup — stale agent worktrees are now removed when their PR was squash-merged instead of kept indefinitely
  • MCP large-output truncation — improved prompt now gives format-specific recipes (e.g. jq for JSON)

Fixed

  • Images attached to queued messages (sent while Claude is working) being dropped
  • Screen going blank when the prompt input wraps to a second line in long conversations
  • Leading whitespace getting copied when selecting multi-line assistant responses in fullscreen mode
  • Leading whitespace being trimmed from assistant messages, breaking ASCII art and indented diagrams
  • Garbled bash output when commands print clickable file links (e.g. Python rich/loguru logging)
  • Alt+Enter not inserting a newline in terminals using ESC-prefix alt encoding, and Ctrl+J not inserting a newline (regression in 2.1.100)
  • Duplicate "Creating worktree" text in EnterWorktree/ExitWorktree tool display
  • Queued user prompts disappearing from focus mode
  • One-shot scheduled tasks re-firing repeatedly when the file watcher missed the post-fire cleanup
  • Inbound channel notifications being silently dropped after the first message for Team/Enterprise users
  • Marketplace plugins with package.json and lockfile not having dependencies installed automatically after install/update
  • Marketplace auto-update leaving the official marketplace in a broken state when a plugin process holds files open during the update
  • "Resume this session with..." hint not printing on exit after /resume, --worktree, or /branch
  • Feedback survey shortcut keys firing when typed at the end of a longer prompt
  • Stdio MCP server emitting malformed (non-JSON) output hanging the session instead of failing fast with "Connection closed"
  • MCP tools missing on the first turn of headless/remote-trigger sessions when MCP servers connect asynchronously
  • /model picker on AWS Bedrock in non-US regions persisting invalid us.* model IDs to settings.json when inference profile discovery is still in-flight
  • 429 rate-limit errors showing a raw JSON dump instead of a clean message for API-key, Bedrock, and Vertex users
  • Crash on resume when session contains malformed text blocks
  • /help dropping the tab bar, Shortcuts heading, and footer at short terminal heights
  • Malformed keybinding entry values in keybindings.json being silently loaded instead of rejected with a clear error
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC in one project's settings permanently disabling usage metrics for all projects on the machine
  • Washed-out 16-color palette when using Ghostty, Kitty, Alacritty, WezTerm, foot, rio, or Contour over SSH/mosh
  • Bash tool suggesting acceptEdits permission mode when exiting plan mode would downgrade from a higher permission level

Update Claude Code to 2.1.105 via the in-app updater or download from code.claude.com.

Source: Claude Code