Claude Code has been running a Rust rewrite of Bun in production since mid-June, and almost nobody spotted it. Simon Willison reports that Bun creator Jarred Sumner made the claim in his post “Rewriting Bun in Rust”: Claude Code v2.1.181, released June 17th, and every version after it ship the Rust port. Willison then went digging through his own install to verify it.
He found the evidence.
The Verification
Two commands did the job, according to Willison:
strings ~/.local/bin/claude | grep -m1 'Bun v1'returnedBun v1.4.0 (macOS arm64). The newest public Bun release on GitHub is v1.3.14 from May 12th. So Claude Code is shipping a preview of a version that hasn’t launched yet.strings ~/.local/bin/claude | grep -Eo 'src/[[:alnum:]_./-]+\.rs'returned 563 Rust filenames. Among them:src/runtime/bake/dev_server/mod.rs,src/bundler/bundle_v2.rs.
Those .rs extensions are the tell. Bun’s original runtime was written in Zig. A binary stuffed with Rust source paths is a binary running Rust.
Why This Matters
Bun is the JavaScript runtime Claude Code is built on. Swapping out the language a runtime is written in, while it’s deployed on millions of developer machines, is the kind of migration that usually produces a week of incident reports.
This one produced a 10% faster startup on Linux and near silence.
Sumner’s own summary: “Boring is good.”
That’s the real story. Not the Rust part. The invisible part.
The Context
Bun launched in 2021 built on Zig, a young systems language with a small ecosystem and a compiler that’s still pre-1.0. It was a bet on raw speed. The tradeoff was a smaller contributor pool and thinner tooling.
Rust has the opposite profile: bigger ecosystem, mature tooling, far more engineers who can read the codebase. For a runtime that now sits under commercial products used at scale, that shift makes sense on maintenance grounds alone.
What stands out is the delivery method. Anthropic shipped an unreleased preview of a rewritten runtime to production users a month before anyone published a blog post about it. No flag, no opt-in beta, no announcement.
What This Means For You
If you use Claude Code:
- You’ve been running Rust-based Bun since June 17th. Check your version with
claude --version. - Startup is measurably faster on Linux. Everything else works the same, which is the point.
- Run Willison’s two commands yourself if you want to confirm it on your own machine.
If you build on Bun:
- v1.4.0 is coming and it’s a different engine underneath. Expect the public release to land with a real changelog.
- Native addons and anything touching Bun’s internals deserve a test pass before you upgrade.
- The Zig to Rust switch likely means faster fixes and more outside contributors going forward.
The Broader Read
There’s a pattern worth naming here. AI tooling companies are shipping infrastructure-level changes fast, quietly, and to large user bases without ceremony. Claude Code isn’t a research demo. It runs on real machines doing real work, and Anthropic swapped its foundation without breaking it.
Compare that to how most infrastructure migrations go. Long deprecation windows, migration guides, dual-running periods, angry threads. Here the only public trace was a developer running strings on a binary out of curiosity.
That’s either impressive engineering discipline or a preview of how little visibility you’ll have into the tools you depend on. Probably both.
The practical takeaway: your AI dev tools are moving fast underneath you. Pin your versions if stability matters more than speed. Otherwise enjoy the free 10%.
Willison’s full write-up has the exact commands and output if you want to run the check yourself.