source: simon willison: claude code uses bun written in rust now
level: technical
claude code has quietly switched its embedded javascript runtime from the original zig-based bun to a new rust implementation. jarred sumner, bun's creator, noted that claude code v2.1.181, released june 17th, and later versions use the rust port. startup time improved by about 10% on linux, but otherwise the change was uneventful.
simon willison verified this by inspecting his own claude code binary. running strings on the binary and filtering for 'bun v1' returned bun v1.4.0, a version not yet in a stable bun release. the latest public bun release is v1.3.14 from may 12th, so the v1.4.0 string suggests claude code ships a canary build. a second command listing rust source filenames found 563 .rs files, confirming the rust rewrite is baked into the shipped binary.
a further trick by ajan raj uses a small typescript script to print the embedded bun version when claude code starts. it outputs 1.4.0, matching the version set in a may 17th commit that has not yet appeared in a tagged release outside canary. this means millions of claude code users are already running the rust-based bun in production without noticing any issues.
why it matters: this shows how production ai tools can adopt major runtime rewrites transparently, improving performance without disrupting users.
source: simon willison: claude code uses bun written in rust now