Claude Code Switches to Native Binary: Faster Startup and Per-Platform Optimizations

Claude Code

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.


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.