Claude Code 2.1.105
Plugin background monitors, PreCompact hook, automatic API stream-stall recovery, and improvements to /doctor.
This article is a summary based on official documentation.
What changed
Claude Code 2.1.105 (April 13, 2026) expands the plugin surface (background monitors, PreCompact hook) and fixes several API, rendering, and plugin issues.
New features
-
Plugin background monitors — plugins can declare
monitorsin the manifest and auto-start them at session start or on skill invocation. Great for continuous tasks (build watcher, log tailing) owned by a plugin. -
PreCompact hook — runs before context compaction. Exit 2 or emit
{"decision":"block"}to prevent compaction (or take action — e.g. persist important state — before it runs). -
EnterWorktreepathparam — switch to an existing worktree instead of always creating a new one. -
/proactivealias — alias for/loop, reads more naturally for autonomous repeats.
Improvements
- Stream-stall recovery — if the API streams go silent for 5+ minutes, Claude Code aborts the stream and retries in non-streaming mode. Much better on flaky networks.
- Network error messages — immediate retry message instead of a silent spinner.
- Long single-line writes — UI truncates cleanly (e.g. minified JSON).
/doctorlayout — status icons plusfto let Claude auto-fix reported issues.- WebFetch — strips
<style>and<script>from fetched pages so CSS-heavy sites don’t blow the content budget. - MCP large output — hints
jqfilters for JSON, Read-tool chunk sizes for text.
Notable fixes
Rendering
- Empty screen on prompt wrap in long conversations.
- Leading whitespace strip broke ASCII art and indented diagrams.
- Bash output broke with Python
rich/loguruclickable file links. alt+enterandCtrl+Jnewline (2.1.100 regression).- Dim 16-color palette over SSH/mosh (Ghostty, Kitty, Alacritty).
Plugins and marketplace
package.jsondeps weren’t installed after plugin install/update.- Auto-update could corrupt the official marketplace if the plugin process held files.
MCP and sessions
- Headless/remote-trigger first turn missed tools from async-connecting MCP servers.
- stdio MCP servers writing non-JSON could freeze sessions.
- 429 responses now render as a clean message instead of raw JSON.
Other
- Image attachments no longer dropped from queued messages.
- Queued prompts no longer lost in focus mode.
- One-shot scheduled tasks no longer repeat.
Notes
- Plugin authors: check out
monitorsand thePreCompacthook. - The stream-stall recovery is a big reliability win on VPN or overseas connections.