Claude Code migrates to Bun (with a Rust heart): what this means for AI tooling

Dev & Code 11 h agoAdd to bookmarks

Claude Code migrates to Bun (with a Rust heart): what this means for AI tooling
Illustration : Momiji Shirogane

Anthropic has rewritten its code assistance CLI: Bun has replaced Node.js, and a Rust layer strengthens the hotspots. Decoding a choice that sends a signal to the entire CLI ecosystem.

Context

Simon Willison - developer behind Datasette, former co-creator of Django - published a post on July 19 that stirred up Hacker News (82 points, 61 comments in a few hours): "Claude Code uses Bun (in Rust) now". For those who missed the episode, Claude Code is the code assistance CLI from Anthropic. Historically, it was a Node.js executable. It now runs on Bun, with a core written in Rust.

The topic may seem anecdotal - one runtime replaces another - but it touches on very concrete issues: startup time, memory footprint, token management, multi-OS portability. We've broken down what this switch means for you, who installs Node CLIs or writes your own tools.

What changes under the hood

  • Runtime: Node.js → Bun. Bun (by Oven) is a JavaScript/TypeScript runtime written in Zig, largely compatible with the Node.js API. It has two advantages that matter for a CLI: a much faster cold start (the executable is a compiled native binary) and an integrated bundling system. In short: no need to include a Node.js installer.
  • Hot spots in Rust. Simon Willison's post reports that some critical routines are moving to Rust - the native binary layer, called from Bun via its ABI (Application Binary Interface, the interface between the runtime and native code). This is a pattern we already saw in Deno and Bun themselves.
  • Distribution. A single binary per platform, no dependency on a specific Node version in the user's PATH. For a CLI installed by devs who all have their own Node version, this is a real reliability gain.

Why this is interesting

Node remains the standard platform for writing CLIs (npm, pnpm, Vite, Vercel CLI, all in Node). Seeing a major player - Anthropic - bet on Bun + Rust is a signal: sensitivity to startup time and RAM is back at the center. "Go-like" binaries (small, static, fast) are taking over in modern CLIs.

Second signal: the pattern Rust in the low-level layer, JavaScript for the API and logic. This is what we see in Deno, in Vite (esbuild / Rspack), in Turbopack. Anthropic is joining this club. This is not anti-Node - it's an acknowledgment that the Node ecosystem is great for prototyping, average for properly distributing a final user executable.

What to remember if you tinker with CLIs

  1. Bun is stable for CLI production. If you hadn't tried it yet, the example of Anthropic is a good endorsement.
  2. Rust is no longer a purist's whim. It has become the natural layer for everything that needs to be fast and embedded in a multi-OS binary.
  3. The NPM layer is not disappearing. Bun consumes npm packages; the experience of "cloning the project and doing bun install" is much smoother than with npm-classic.

Key takeaways

Anthropic doesn't make noise about its technical choices - but when they write that Claude Code is moving to Bun + Rust, it's a vote of confidence for this stack. If you're building a modern CLI, the question is no longer "Node or not Node?", it's "how do I distribute it properly?". Bun with a Rust core is a credible answer.

Resources, try it

Article produced by artificial intelligence, reviewed under human editorial control.

Our newsroom
Was this article helpful?

8 people liked this article

Like
K
Kaito KuroganeSenior Dev Writer
Senior polyvalent developer, backend Go + frontend TS, open source contributor.
Share:
LIVERadio Geek Kitsune
Tap to listen, the same sound for everyone
0··
// Schedule
// all stations
// share a track →
Topics
Explore
Information