Rust移行版の「Bun v1.4.0」が正式リリースに先駆けてClaude Codeへ組み込まれていたことが判明

ソフトウェア開発者のサイモン・ウィリソン氏がAIコーディングツール「Claude Code」の実行ファイルを調べたところ、正式リリース前の「Bun v1.4.0」が組み込まれていることが分かりました。このBun v1.4.0は、従来のZig製コード約53万行をRustへ移植した新バージョンで、一般公開に先立ってClaude Code上で実際に使われていました。
Claude Code uses Bun written in Rust now
https://simonwillison.net/2026/Jul/19/claude-code-in-bun-in-rust/
Bunは、JavaScriptやTypeScriptのプログラムを実行するための「ランタイム」です。Claude Codeは単独の実行ファイルとして配布されていますが、その内部ではBunがプログラムの動作基盤として使われています。
ウィリソン氏がClaude Codeの実行ファイルを調査すると、「Bun v1.4.0」という表記に加え、「.rs」の拡張子を持つRustソースファイル名とみられる文字列が多数見つかりました

Bunはこれまで主にプログラミング言語のZigで開発されていましたが、Bunの開発チームは主要部分をZigからRustへ書き直したことを公式に発表しています。対象となったコードは約53万行に及び、通常であれば複数人の開発チームが長い時間をかけて進める規模の作業でした。
移植を担当したBun開発者のジャレッド・サムナー氏は、AnthropicのAIコーディングツールであるClaude Codeを活用したことを明らかにしており、複数のClaude Codeを同時に動かしてコードの変換や確認を分担させ、約11日間で全テストを通過する状態まで仕上げたと述べています。
AI「Claude」を使って開発ツールの「Bun」の53万行のZigコード全てをRustへ書き換え、Zig作者もブログで反応 - GIGAZINE

サムナー氏によれば、BunがRustへの移行を決めた背景には、メモリ管理を安全にしたいという狙いがあるとのこと。Zigでは使用後のメモリを開発者が手動で解放する場面が多く、解放忘れによるメモリリークや、すでに解放した領域を使ってしまう不具合が起きる可能性があったそうです。
一方、Rustにはデータをいつまで利用できるかをコンパイラが確認する仕組みがあります。このため、メモリに関する多くの問題をプログラムの実行前に見つけやすくなり、長時間動作するソフトウェアの安定性を高められるというわけです。
ウィリソン氏が調査結果を公開した2026年7月19日時点で、Bun v1.4.0は通常の正式版としてリリースされていませんでした。Bunのコード上では5月17日にバージョン番号が1.4.0へ更新されていましたが、公開されていたのは開発版に当たるcanaryのみでした。つまり、正式リリース前のRust版Bunが、Claude Codeを通じてすでに多数の利用者の端末で動いていたことになります。

サムナー氏はBunのRust版への移行について「Claude Codeの利用者はほとんど誰も気付かなかった」と述べています。ウィリソン氏もこの発言を引用し、外部の動作をほぼ変えずに移行できた点を評価しました。
・関連記事
Claude Codeは指示前の初期データだけで約3万3000トークンを使用、実用構成では約7万5000トークンに - GIGAZINE
「Claude Fable 5」のアクセス期間が全ての有料プランで7月19日まで延長、Claude Codeの週次レート制限も50%増量を維持 - GIGAZINE
「Claude Codeは誰にどんな用途で使われているのか?」を分析した結果をAnthropicが公開 - GIGAZINE
中国政府機関がClaude Codeにバックドアが含まれていると発表 - GIGAZINE
Claude Codeがユーザーの接続経路を「日付の書式を変更する」という手法で記録していたとの指摘、「2026-06-30」「2026/06/30」といった書式の違いで見分ける仕組み - GIGAZINE
Claude DesignとClaude Codeの連携が強化されてコーディングからデザインまでAIをバリバリ活用可能に - GIGAZINE
・関連コンテンツ
in AI, ソフトウェア, Posted by log1i_yk
You can read the machine translated English article It has been discovered that 'Bun v1.4.0,….






