Bun JavaScript runtime migrates from Zig to Rust in 10-day sprint
Anthropic's Bun JavaScript runtime has been rewritten from Zig to Rust in a ten-day sprint, passing 99.8% of tests and moving to canary status ahead of the next stable release to address memory instability.

Bun, the JavaScript runtime Anthropic acquired late last year, has been rewritten from Zig to Rust in a ten-day sprint by its lead developer working with Claude. The port maintains the original code structure, effectively translating the same logic into a different language. It passes 99.8 percent of Bun's test suite and shows no performance regressions—in some cases running faster than the Zig version.
The migration began as an experiment that reached the front page of Hacker News. The developer initially signaled the Rust branch was exploratory and might be discarded. Within days, however, the Rust version had overtaken the original in stability and test coverage, and the Zig codebase is now headed for retirement. Anthropic cited memory bugs and broader instability in the Zig build as the primary driver for the switch.
The rewritten runtime is currently in canary status and will replace the Zig version in the next stable release. The canary period will be critical for confirming whether the memory issues are fully resolved and whether the Rust toolchain introduces friction for contributors already familiar with Zig's ecosystem.