Claude Code Switches to Native Binary: Faster Startup and Per-Platform Optimizations
Claude Code version 2.1.113 replaces its bundled JavaScript execution model with a per-platform native binary, distributed as an optional dependency alongside the npm package. The shift enables faster cold starts, deeper OS-level system integration, and a more modular delivery model where platform-specific fixes and features can ship independently. A new sandbox.network.deniedDomains setting also ships in this release, allowing fine-grained network policy β blocking specific domains even within an otherwise permissive allowedDomains wildcard.
Sources & Mentions
3 external resources covering this update
Claude Code Switches to Native Binary Architecture
With version 2.1.113, released on April 17, 2026, Claude Code made a significant change to how it runs on the host machine. The CLI now spawns a native per-platform binary β distributed as an optional npm dependency β rather than executing the bundled JavaScript that has powered the tool since launch.
Why This Architecture Change Matters
Running as compiled native code rather than as a Node.js bundle opens up categories of improvement that were not feasible before.
Performance. Cold-start time and per-operation overhead decrease when the binary is compiled and linked natively rather than parsed and JIT-compiled as JavaScript at each launch. Developers who open Claude Code frequently throughout the day will notice faster terminal responsiveness from startup onward.
Platform-specific integration. Native binaries link against OS-level libraries and system APIs directly. This lays the groundwork for deeper macOS, Linux, and Windows integration β including features requiring native audio, OS file-watching APIs, platform-specific terminal rendering, or direct system calls. A prior release had already fixed voice mode failing on Windows native binary with an audio module loading error; that class of fix becomes easier to ship per-platform without touching the full bundle.
Reduced dependency fragility. The npm packaging model meant the core execution engine was coupled to a large JavaScript bundle and its full dependency chain. Per-platform native binaries decouple these concerns, narrowing the surface area for dependency-related failures and reducing the risk that an upstream npm package change breaks Claude Code's runtime.
Network Policy: Denied Domains Within Wildcards
Alongside the binary change, 2.1.113 introduces sandbox.network.deniedDomains. This setting lets administrators block specific domains even when a broader allowedDomains wildcard would otherwise permit them β enabling precise network sandboxing without needing to enumerate every allowed domain by hand. For teams running Claude Code in controlled environments, this fills a meaningful gap in the existing network policy model.