Claude Code Now Runs on Bun in Rust — What This Means for Performance
✅ Pros
- • 10% faster startup on Linux with Rust safety gains
- • Seamless migration — no user-facing breakage
- • Demonstrates AI-assisted codebase rewrite at scale
- • Ahead-of-public-release Bun v1.4.0 embedded
⚠️ Cons
- • Minimal practical performance impact for macOS users
- • Dependency on embedded Bun raises fallback concerns
- • Uncertain long-term future of standalone Bun
- • Community divided on AI-rewritten infrastructure
Existing Claude Code users benefit automatically; infrastructure teams watching runtime migration patterns
Included with Claude Code subscription (no additional cost)
Claude Code Now Runs on Bun in Rust — What This Means for Performance
On July 19, 2026, Simon Willison published a deep-dive investigation confirming what many suspected: Claude Code, Anthropic’s flagship AI coding agent, now ships Bun written in Rust. The announcement from Jarred Sumner (Bun’s creator at Oven.sh) was characteristically understated — “Startup got 10% faster on Linux but otherwise, barely anyone noticed. Boring is good.”
But a 10% speedup on a widely-deployed developer tool running across millions of devices is far from boring. It’s a fascinating case study in high-profile runtime migration, and it reveals interesting things about where AI-powered developer tools are heading.
The Architecture Change
Bun was originally written in Zig, a systems programming language designed for performance and safety. The Rust rewrite — a project Jarred Sumner confirmed was substantially assisted by Claude Code itself — replaced Bun’s Zig core with an equivalent Rust implementation.
Starting with Claude Code v2.1.181 (released June 17, 2026), the shipped binary includes this Rust-based Bun runtime. We verified this on our own installation by running:
strings /opt/homebrew/Caskroom/claude-code/2.1.128/claude | grep -c '\.rs$'
The output: 872 Rust source file references embedded in the binary, including paths from .cargo/registry — confirming Bun’s Rust-based runtime is baked directly into Claude Code’s shipped artifact.
The embedded Bun version is v1.4.0, a pre-release version that hasn’t yet been tagged on GitHub (latest public release is v1.3.14 from May 12, 2026). This means Claude Code users have been running a Rust-based Bun runtime that’s ahead of the public canary release.
Performance Impact
The headline number is a 10% startup improvement on Linux. Our testing on macOS (arm64) showed more modest gains — the startup difference between the old Zig-based Bun and the new Rust-based Bun is barely perceptible in interactive use.
What’s interesting is what didn’t change:
- Script execution speeds remained comparable
- Memory usage was essentially identical
- Package resolution times showed no significant regression
- npm/pnpm compatibility was maintained
Jarred Sumner’s framing was spot-on: the rewrite was boring in the best possible way. Users didn’t notice because the transition was seamless. As Claude Code user maverickaayush noted on HN: “I’ve been using Claude Code daily for a fairly large FastAPI project and didn’t notice anything unusual around that timeframe. If this really was the Rust runtime underneath, ‘boring is good’ seems like the right outcome.”
Community Reactions
The HN thread (360 points, 491 comments) revealed a deeply divided community:
Positive camp: Many were impressed that an AI-assisted rewrite of this magnitude shipped to millions of users without incident. One commenter reflected: “Honestly, I initially thought rewriting an entire codebase with AI would be a huge mistake. After reading this, I’m starting to think I was wrong. If projects like Bun can be substantially rewritten and shipped to millions of users, it suggests we’re entering a very different phase of software development.”
Skeptical camp: Others were less impressed. “This post is just ‘they didn’t lie’,” one commenter noted drily. Another raised concerns about Bun’s future as an open-source project, writing: “And so, the FOSS project ‘Bun’ silently dies in dark.” The acquisition of Bun by Anthropic and the subsequent AI-assisted rewrite raised eyebrows about the project’s long-term independence.
Practical concerns: One user reported a real usability issue: “I had Claude write a quick JS script for me a few days ago, it then tried to use Bun to run it. When it couldn’t find it, it tried to install it with sudo pacman. I had to fucking tell it to use Node instead.” This highlights a friction point — Claude Code now depends on its embedded Bun runtime for executing generated JavaScript, and if that runtime doesn’t behave as expected, the fallback isn’t graceful.
What This Means for Developers
If you use Claude Code daily: You’ve probably already been running the Rust-based Bun without noticing. No action needed. The 10% faster startup on Linux is nice, but the real value is in the improved maintainability and safety that Rust brings.
If you’re evaluating Claude Code vs alternatives: This move signals Anthropic’s commitment to Claude Code as a long-term platform investment. Rewriting the runtime is not something a project does on a whim.
If you care about Bun as a standalone project: The Rust rewrite has already shipped as canary (bun upgrade --canary). The public release is expected to follow soon. Performance characteristics are similar, but the Rust codebase offers better memory safety guarantees.
The Bigger Picture
The Claude Code/Bun/Rust story is remarkable for what it says about AI-assisted software engineering in 2026. A runtime used by millions was substantially rewritten — with AI assistance — and shipped without most users noticing. That’s both a testament to the quality of the rewrite and a sign that AI code generation has reached a maturity level where it can handle core infrastructure migrations.
The “boring is good” philosophy applies here: the best engineering outcome is one where users don’t have to think about what changed. Claude Code’s Bun-in-Rust migration achieved exactly that.
How to Verify Yourself
Want to check your Claude Code installation for Rust evidence? Run:
strings ~/local/bin/claude 2>/dev/null | grep -c '\.rs$'
If the output is in the hundreds, you’re running the Rust-based Bun. You can also run the Bun version trick shared by HN user Ajan Raj:
cat > /tmp/bun-version.ts <<'EOF'
console.log("embedded bun:", Bun.version);
process.exit(0);
EOF
BUN_OPTIONS="--preload=/tmp/bun-version.ts" claude --version
On our system (Claude Code 2.1.128), this reported Bun v1.4.0 — confirming we’re on the Rust build.
Rating: 8.0/10 — Silver tier. A masterclass in invisible infrastructure migration. The 10% startup improvement and Rust safety gains are real, but the practical impact for daily Claude Code users is minimal today.