Claude Code uses Bun written in Rust now
Claude Code Now Powered by Bun (Written in Rust)
Originally posted by Simon Willison on July 19th, 2026
The Core Claim
Recently, Jarred Sumner asserted that starting with Claude Code v2.1.181 (which debuted on June 17th), the tool began utilizing a version of Bun rewritten in Rust.
"Claude Code v2.1.181 and later use the Rust port of Bun." — Jarred Sumner
Regarding the impact of this change, the results are modest:
- Linux users: Experienced a startup speed increase of .
- General users:
Noticeable differencesBarely any perceptible change.
Investigating the Evidence
To verify if my own installation of Claude Code was indeed running the Rust-based Bun, I performed a few technical checks.
Verification Checklist
- Check binary strings for versioning
- Search for Rust source file references
- Execute a runtime version check
Method 1: Version String Analysis
I ran the following command to peek into the binary:
strings ~/.local/bin/claude | grep -m1 'Bun v1'
Result: Bun v1.4.0 (macOS arm64)
This is significant because of the version discrepancy shown below:
| Source | Version | Release Date | Status |
|---|---|---|---|
| Official GitHub | v1.3.14 | May 12th | Stable |
| Claude Code | v1.4.0 | Unknown | Preview/Canary |
Note: The Rust version has since been released as a Bun canary build; you can get it via bun upgrade --canary.
Method 2: Hunting for Rust Artifacts
I searched the binary for any file paths ending in .rs (the extension for Rust files):
strings ~/.local/bin/claude | grep -Eo 'src/[[:alnum:]_./-]+\.rs'
This returned 563 distinct filenames. Some examples include:
src/runtime/bake/dev_server/mod.rssrc/runtime/bake/production.rssrc/bundler/bundle_v2.rs
This strongly suggests that the Rust implementation of Bun is currently live in production across millions of devices.
Method 3: The Runtime Trick
Thanks to a clever tip from Ajan Raj, I was able to force Claude to reveal its embedded version by preloading a TypeScript file.
The Setup:
// Save this as /tmp/bun-version.ts
cat /tmp/bun-version.ts 'EOF'
console.log("embedded bun:", Bun.version);
process.exit(0);
EOF
The Execution:
BUN_OPTIONS="--preload=/tmp/bun-version.ts" claude --version
Output: 1.4.0
Technical Summary & Timeline
The transition seems to have been codified in a commit dated May 17th, where the package.json was updated to version 1.4.0. While this version hasn't seen a formal tagged release outside of the canary channel, it is clearly the engine driving Claude Code.
Logic Flow of Verification
Related Reading:
- Kimi K3 and the pelican benchmark (July 16, 2026)
- The GPT-5.6 family: Luna, Terra, Sol (July 9, 2026)
- sqlite-utils 4.0 migrations (July 7, 2026)