Claude Code v2.1.143 Update: Plugin Dependency Chain Management & Background Session State Persistence

Claude Code v2.1.143 comprehensively upgrades plugin system, background sessions, Agent mode and fixes numerous bugs
Claude Code v2.1.143 delivers a comprehensive upgrade: the plugin system adds intelligent dependency chain management with automatic detection and handling of transitive dependencies; background sessions achieve model parameter and MCP configuration persistence with a new WorkTree isolation mode; Agent mode supports full parameter passing for multi-level workflows; PowerShell defaults to Bypass policy improving Windows experience; and numerous critical bugs are fixed including startup freezes, macOS false positive disconnections, and directory permission issues.
Overview
Claude Code has received a v2.1.143 update, and this is no minor iteration—it's a comprehensive upgrade covering the plugin system, Background Sessions, Agent mode, and a massive number of bug fixes. For developers who use Claude Code daily, nearly every change in this update addresses a real pain point.

Plugin System Overhaul: Intelligent Dependency Chain Management
The plugin system is the first major focus of this update. Previously, disabling plugins often led to disasters—a plugin might be depended upon by other plugins, and disabling it directly would cause all dependent functionality to break, making troubleshooting extremely painful.
In the new version, the cloud plug disable command automatically detects dependency chains and clearly informs you that "plugins A, B, and C all depend on this plugin—please disable them first." Conversely, cloud plug enable automatically enables all transitive dependencies, activating the entire dependency chain when you enable a single plugin. This "all-in-one" dependency management dramatically reduces the cognitive overhead of plugin management.
Dependency chains are a classic problem in package management, similar to npm's peerDependencies or Linux package manager (apt, yum) dependency resolution mechanisms. When plugin A depends on plugin B's API or functionality, directly removing B causes A to throw undefined reference errors at runtime. Transitive dependency refers to the chain relationship where A depends on B, and B depends on C. Claude Code previously lacked this topological-sort-style dependency graph analysis, forcing users to manually track dependency relationships. The automatic detection mechanism introduced in the new version essentially builds a Directed Acyclic Graph (DAG) in the plugin registry, performing graph traversal validation before disable or enable operations to ensure operations don't break system integrity.
Background Session: Epic-Level Enhancements
The Background Session feature received several critical improvements in this update, addressing core issues of state loss and configuration resets.
WorkTree Isolation Mode
The new WorkTree BG Isolation feature is designed for projects where creating a WorkTree isn't convenient. Background tasks can now directly modify the working copy, making usage scenarios much more flexible.
Git WorkTree is a feature introduced in Git 2.5 that allows checking out multiple working directories from the same repository, with each work tree corresponding to a different branch. In CI/CD and parallel development scenarios, WorkTree avoids the filesystem change overhead of frequent branch switching. Claude Code's background sessions previously relied on WorkTree for task isolation—each background task ran in an independent work tree without interfering with others. However, certain projects (such as those using extensive symlinks, hardcoded paths, or special build systems) aren't suitable for creating additional work trees. The new BG Isolation mode allows background tasks to operate directly on the main working copy, using file locks or operation queues to avoid conflicts, providing a flexible alternative for these special scenarios.
Model and Parameter Persistence
This is an improvement that deserves applause: when you send a session to the background and return to it, your model selection and thinking budget are no longer reset. Previously, every time you resumed a session from the background, the model would revert to defaults requiring reconfiguration. This problem is now completely resolved.
Thinking Budget is a unique parameter of Claude models that controls the amount of computation the model performs in internal reasoning before generating a final answer. A higher thinking budget allows the model to perform deeper step-by-step reasoning (Chain-of-Thought), suitable for complex code architecture design or deep bug analysis; a lower value lets the model respond quickly, suitable for simple code completion or formatting operations. This parameter directly affects API call token consumption and response latency, so users typically adjust it manually based on task complexity. The previous behavior of resetting this value after background session resumption meant that carefully tuned reasoning depth settings would be lost, causing degraded output quality for complex tasks or slower responses for simple tasks.
Additionally, background sessions now support parameter passing for --mcp-config, --settings, and more—MCP server configurations are no longer lost when entering the background. MCP (Model Context Protocol) is an open protocol launched by Anthropic to standardize communication between AI models and external tools and data sources. MCP servers can be locally running database connectors, filesystem browsers, or remote API gateways. Through the --mcp-config parameter, users can specify MCP server addresses, authentication information, and capability declarations. In background session scenarios, if these configurations are lost after process hibernation, Claude Code loses access to previously connected tools and data sources—essentially experiencing "amnesia." Persisting these configurations ensures background tasks can still correctly invoke external tools after running for extended periods.
There's also a detail optimization: if the local Beam Cloud connection is lost or not rendered, the background daemon automatically falls back to the currently running executable, ensuring tasks aren't interrupted.
Agent Mode: Fully Armed
Claude Agents can now accept complete configuration parameters like --input, --settings, and --mcp-config, passing them directly to sub-sessions and background tasks. It also supports setting --model and --dangerously-skip-permissions as defaults.
On the interaction front, Shift + Tab now cycles through modes in attached sessions, with auto mode included in the rotation. This wave of improvements elevates Agent mode from "toy-level" to "productivity tool-level"—previously, Agent mode lacked parameterized configuration capabilities, meaning every sub-task launch required manual environment setup with no possibility of automated orchestration. Now through parameter passing, users can build multi-level Agent workflows: a primary Agent assigns tasks to sub-Agents, which inherit the parent's model configuration, permission settings, and tool connections, truly achieving "configure once, effective across the entire chain."
Spring Has Come for PowerShell Users
For Windows users, this update is a game-changer:
- PowerShell now defaults to
ExecutionPolicy Bypass(can be disabled via environment variable if unwanted) - PowerShell tools are enabled by default, also applicable to Bedrock and Vertex/Foundry users
- Windows Terminal is no longer treated as a second-class citizen, receiving a consistent experience with other platforms
PowerShell's ExecutionPolicy is Windows' script execution security policy, defaulting to Restricted (prohibits running any scripts) or RemoteSigned (requires remote scripts to have digital signatures). For development tools, this policy frequently becomes an obstacle—temporary scripts generated by Claude Code can't execute, and users need to manually modify system policy or add -ExecutionPolicy Bypass every time. The new version adds the Bypass flag by default, circumventing this limitation. Note that Bypass only affects PowerShell child processes launched by Claude Code and doesn't modify the system-wide policy, keeping security risks manageable. For users in enterprise environments with strict security compliance requirements, this behavior can be disabled via environment variable.
Bug Fixes: Ending a Bunch of Critical Issues
Bug fixes are a major highlight of this update, resolving multiple issues that could cause users to "lose their minds."
Startup Freeze Issue
If the config.json file was corrupted, Claude Code would previously freeze on the startup screen with no indication whatsoever. Now it properly reports errors instead of "playing dead." This type of issue typically occurs when abnormal exits (system crashes, forced shutdowns) cause incomplete configuration file writes, the JSON parser encounters format errors and throws uncaught exceptions, and the startup flow lacks corresponding error handling branches.
macOS False Positive Disconnection Storm
On macOS, background agents previously had false positive detection issues—after closing the laptop lid for sleep or being hibernated by App Nap, waking up would flood the screen with "disconnected" reports. This issue has been fixed.
App Nap is a power-saving technology introduced in macOS 10.9 Mavericks. When an application's window is completely obscured or minimized, the system dramatically reduces that application's CPU time slice allocation and timer precision, and may even pause its network activity. For Claude Code's background daemon, App Nap causes heartbeat detection signals to be delayed or lost, with the frontend incorrectly determining the process as "disconnected" and triggering alerts. Similarly, macOS lid-close sleep suspends all user-space processes, and network connections need to be re-established after wake. The fix typically involves adding a grace period after system wake in the heartbeat detection logic, or resetting the detection timer by listening for NSWorkspaceDidWakeNotification notifications.
Documents/Desktop Directory Permission Issues
Previously, even after granting Full Disk Access, Documents and Desktop directories would still report "Operation Not Permitted." This has been fixed. This relates to the TCC (Transparency, Consent, and Control) permission framework introduced since macOS Catalina—even when an application has Full Disk Access authorization, certain protected directories still require specific entitlements or correct code signing to access.
Windows-Specific Fixes
- Right-click paste in Agent mode finally works properly
- Listing sessions no longer frantically spawns PowerShell processes causing machine slowdown
- Scroll rendering artifacts in attached background sessions have been fixed
- Pressing the left arrow key during streaming response output in Windows Terminal no longer freezes the entire interface
Other Critical Fixes
- Sub Hooks Infinite Loop: If hooks repeatedly blocked, they would previously loop infinitely and freeze. Now after 8 consecutive blocks, they automatically terminate with a warning. Hooks are the event hook system in Claude Code that allows users to insert custom logic before and after specific operations. When a hook returns a blocking signal and the condition can never be resolved (such as two hooks mutually blocking each other forming a deadlock), it falls into an infinite loop. The "8 consecutive blocks auto-terminate" mechanism introduced in the new version is a typical Circuit Breaker Pattern, widely used in distributed systems to prevent cascading failures from spreading throughout the entire system.
- Terminal Color Pollution: Previously it would override the host terminal's interface colors; now it only affects child processes
- WorkTree Cleanup Safety: If
git worktree removefailed, it would previously fall back torm -rf, potentially losing files ignored by.gitignore(such as environment configs, local database files, build caches, etc.). This no longer happens. This is an important data safety improvement—files in.gitignore, while not tracked by version control, often contain unrecoverable local state. - 5xx Error Message Optimization: Error messages no longer always point to status.claude.com; instead they display the actual gateway or cloud provider address you've configured (such as AWS Bedrock endpoint or Google Vertex AI endpoint), helping users quickly determine whether it's an Anthropic service issue or their own infrastructure problem
How to Upgrade
The upgrade command is simple—just one line:
npm update -g @anthropic-ai/claude-code
Summary
While this v2.1.143 update isn't a major version number jump, the volume and quality of changes are remarkably solid. Plugin system dependency chain management, background session state persistence, Agent mode parameterized configuration, and numerous bug fixes targeting Windows and macOS—each one addresses a real pain point in developers' daily workflows. Claude Code is rapidly evolving from an AI programming tool that "works" into a productivity platform that "works well."
Related articles
Product ReviewsQoder vs Cursor Real-World Comparison: Which $20/Month AI IDE Is Better?
Hands-on comparison of Qoder vs Cursor AI IDEs: Agent autonomy, human interaction count, and architecture decisions. Qoder needed only 2 interactions vs Cursor's 8.
Product ReviewsCursor Cloud Agent Demo: Eliminating Bottlenecks Across the Entire Software Development Lifecycle
Deep analysis of Cursor's Cloud Agent demo showing how cloud VMs, automated test artifacts, and a full-chain control plane systematically eliminate human bottlenecks across the software development lifecycle.
Product ReviewsCursor 3.0 Deep Dive: Multi-Agent Parallelism, Design Mode, and Best-of-N Model Comparison
Cursor 3.0 evolves from an AI coding assistant into an Agent fleet command center. Explore multi-agent parallelism, Design Mode, and Best-of-N model comparison.