共有:

Rust Runtime, Pre-GA

Claude Codeは、まだ世に出ていない
Bun v1.4.0で動いていた

Rustで全面書き直しされた次期 Bun ランタイムは、GitHub に正式タグすら無い段階で Claude Code v2.1.181 に静かに組み込まれていた。リリースノートより先に、現場のマシンでランタイムの世代交代が始まっていた。

AI Navigate 編集部2026.07.24読了 7分

2026.05.13 v1.3.14 GitHub正式タグ (最終Zig版) 2026.05.17頃 内部表記が1.4.0へ (canary扱いのまま) 正式タグより先に配布 2026.06.17 Claude Code v2.1.181が Bun 1.4を同梱 2026.07.24 現在もv1.4.0の 正式タグは無し
01
The Discovery

リリースノートの一行が、
ランタイムをまるごと入れ替えていた

気づいた人はまだ少ない。だが起きていたのは、静かな世代交代だった。

2026年6月17日に配信された Claude Code v2.1.181 の公式 CHANGELOG.md には、他の機能追加に混じって「Upgraded the bundled Bun runtime to 1.4」という一行だけが記されている。Claude Code は内部の JavaScript 実行に Bun を使っており、これまでは Zig 言語で書かれた旧世代のランタイムのままだった。

ところが Bun 本体の GitHub Releases を確認すると、正式タグとして公開されているのは今も v1.3.14(2026年5月13日公開)のままで、npm レジストリの `latest` タグも同じく v1.3.14 を指している。v1.4.0 のタグは、本稿執筆時点(2026年7月24日)でも GitHub 上に存在しない。つまり Claude Code は、開発者が自ら `bun upgrade` で手に入れることすらできない正式リリース前の Bun を、本体アップデートの一部として数百万台の開発マシンに先行配布していたことになる。

Bun v1.3.14(旧・Zig版)Bun v1.4.0(新・Rust版)
実装言語はZig実装言語をRustへ全面刷新
GitHubに正式タグあり・一般公開中タグ未公開、Claude Code経由でのみ流通中
ビルドを繰り返すたびメモリを消費し続けるメモリ使用量が頭打ちになりリーク傾向が解消
バイナリサイズが相対的に大きいLinux/Windowsで約20%小型化
02
Under the Hood

53万行のZigを、
11日間でRustに移した

開発元Bunチームが公式ブログで明かした、書き換えの規模と検証の中身。

BEFORE (v1.3.14) 535,496行 Zigで書かれたコード全体 Claude×64を ループ実行 11日間で移植 AFTER (v1.4.0) 約780,000行 Rustで書かれたコード全体 検証 RISK 約4% unsafeな Rustコード マージ後: セキュリティレビュー11ラウンド + 24時間ファジング
FIG. Zigの53万5,496行をRustへ移植し、マージ後は多段の検証を重ねた
128件
v1.3.14で再現するバグを修正
2〜5%
自社ベンチマークでの実行速度向上
約20%
Linux/Windowsでのバイナリ縮小

開発元Bunチームは公式ブログ「Rewriting Bun in Rust」で、この書き換えの詳細を公開している。Zigで書かれた53万5,496行をRustへ移す作業は、Anthropicのエンジニア1名が「ループ状に走らせた約64体のClaude」を使い、わずか11日間で終えたという。移植後のコードはBun自身のテストスイートの99.8%を通過した一方、Rustコード全体の約4%は依然として`unsafe`ブロックが占める。

マージ後には、Claude Codeにもベータ搭載されたばかりの脆弱性スキャナー「Claude Code Security」による11ラウンドのセキュリティレビューが行われ、指摘事項への対応も進んだ。あわせてJavaScript・TypeScript・CSS・YAMLなど主要パーサーを対象に24時間体制のファジングを導入し、検出したバグはClaudeが自動でPRを起票、人間が最終レビューする体制を敷いている。

03
Why It Matters

なぜ今、これが重要なのか

JS実行基盤は、C++(Node.js)→Rust(Deno)ときて、Bunも「速いランタイムはRustで書く」側に回った。

これまでBunは「Zigで書かれているから速い」ことを差別化の軸にしてきた。それを開発元自身がRustへ書き換えたという事実は、単なる内部リファクタではない。Node.jsがC++/libuv、Denoが元々Rust製であることを踏まえると、主要なJSランタイムがそろってRustに寄っていくという業界的な流れの中に、Bunも合流したことを意味する。メモリ安全性を言語レベルで担保しながら速度も追う、という選択が「例外」ではなく「標準」になりつつある局面だ。

もう一つの論点は、開発の主体そのものだ。今回の移植は人手ではなく、AIエージェントを大量並列で走らせて短期間に終わらせている。速さの追求そのものを、AIによる大規模書き換えという速さで実現したという二重の意味で、今回の一件は象徴的だった。

Claude Codeを日常で使う開発者

とくにアクションは不要。内部のBunがRust版に切り替わったことで、ビルドや起動処理は体感でやや軽くなる可能性がある。Linux環境では起動が10%ほど速くなったという報告もある。

自分のプロジェクトでBunを使うエンジニア

v1.4.0が正式タグ化される前に、Claude Code経由でRust版の挙動を間接的に体験していることになる。本番環境への直接導入は、GitHubに正式タグが立つのを待つのが無難。

CI・ビルド環境の担当者

自己ホスト環境でClaude Codeを走らせている場合、内部ランタイムの切り替えでビルド時間の傾向が変わりうる。導入前後でベンチマークを取っておくと、変化を後から追いやすい。

「速いから」で終わらせていい話ではない。
全体の約4%がunsafeなRustで書かれたコードが、
すでに手元で動いている。


04
What's Next

次に何が起きるか、
何に注意すべきか

短期的には、Bun側がv1.4.0を正式タグとしてGitHubとnpmに公開する動きを待つ段階に入る。公開されれば、Claude Codeの中でしか触れなかったRust版Bunを、開発者が自分のプロジェクトで直接試せるようになる。推奨アクションは3つ——(1) 個人利用は特に対応不要、Claude Codeの更新をそのまま受け取ればよい。(2) 自作プロジェクトでBunを使うなら、正式タグ公開まで本番導入は待つ。(3) ビルド時間や起動速度の変化に関心があるなら、更新前後で簡単な計測を取っておく。

一方で、楽観一辺倒にはできない事情もある。今回の移植はAIエージェントによる大量並列作業で11日という短期間に終えられており、Rustコードの約4%は依然として`unsafe`ブロックが占める。11ラウンドのセキュリティレビューと24時間ファジングという多段の検証は行われているものの、正式リリース前のコードが世界中の開発マシンにすでに配布されているという順序自体が異例であることに変わりはない。安定性に敏感な現場では、GitHubの正式タグが立つまで様子見に回るのが合理的な判断だろう。