Claude Code が Rust ベースの Bun ランタイムに移行
Claude Code が Rust ベースの Bun ランタイムに移行
Claude Code は Rust ポートされた Bun ランタイム上で動作するようになりました
Claude Code バージョン 2.1.181 (2026年6月17日リリース) 以降には、Bun JavaScript ランタイムの Rust 実装が組み込まれています。この変更により、Linux 上での起動が約 10% 高速化されますが、それ以外の動作は従来の JavaScript ベースのバージョンと区別がつかないほど同様です。
バイナリからの直接的な証拠
一般的なインストール環境で strings ~/.local/bin/claude | grep -m1 'Bun v1' を実行すると、次のように表示されます:
Bun v1.4.0 (macOS arm64)
公式の Bun GitHub リリースは v1.3.14 (2026年5月12日) が最新です。Claude Code 内に v1.4.0 が存在することは、Anthropic がまだ公式ではない Bun のプレビュー版を同梱していることを示しています。
Rust コードのソースレベルでの証明
2つ目の調査により、組み込まれた Rust ソースのパスが抽出されました:
strings ~/.local/bin/claude | grep -Eo 'src/[[:alnum:]_./-]+\.rs'
このコマンドは 563 個のファイル名を返し、最初の数個は以下の通りです:
src/runtime/bake/dev_server/mod.rs
src/runtime/bake/production.rs
src/bundler/bundle_v2.rs
これらのパスは Rust ポートされた Bun リポジトリのレイアウトと一致しており、バイナリが元の JavaScript 実装ではなく、コンパイルされた Rust ソースを含んでいることを裏付けています。
実行時に組み込まれた Bun バージョンを確認する
@Ajan Raj による巧妙なトリックにより、ランタイムが同じバージョンを報告することが証明されました:
cat > /tmp/bun-version.ts <<'EOF'
console.log("embedded bun:", Bun.version);
process.exit(0);
EOF
BUN_OPTIONS="--preload=/tmp/bun-version.ts" claude --version
出力は 1.4.0 であり、先ほど抽出した文字列と一致します。
リリースチャネルの詳細
Rust ベースの Bun は canary チャネルで配布されています。bun upgrade --canary を実行すると、Claude Code バイナリで参照されているものと全く同じビルドがインストールされます。関連するコミット (2026年5月17日) は package.json をバージョン 1.4.0 に更新しましたが、安定版タグはまだ付与されていません。
コミュニティの反応と懸念事項
パフォーマンス vs. 安定性
"Startup got 10% faster on Linux but otherwise, barely anyone noticed. Boring is good."– Jarred Sumner, Bun-in-Rust ブログ記事の著者。
ほとんどのコメント投稿者は、パフォーマンスの向上はわずかであり、変更はエンドユーザーにとってほとんど目に見えないものであるという意見で一致しています。
なぜ Claude Code を直接 Rust で書き直さないのか?
"Why the hell does a TUI need to run in terminal React by way of JavaScript? If rewrites are so easy, why not rewrite CC in a native language?"– @weakfish
共通の認識は、Anthropic が速度と安全性のために Rust ポートされたランタイムを利用しつつ、既存の JavaScript 中心的な開発ワークフローを維持することを好んでいるということです。
安定性とバグ報告
"I've I've been getting segfaults in Claude Code... the entire Kitty tab becomes unusable."– @Aeveus
一部のユーザーは、移行後にクラッシュや描画の不具合が発生したと報告しており、これは Rust ポートが Bun の既知の不安定さを引き継いでいる可能性を示唆しています。
"The generated Rust code is far from idiomatic... an abomination."– @feverzsj
批判的な意見として、自動的な Zig/TypeScript から Rust へのトランスピレーションが、メンテナンスが困難なコードを生成し、技術的負債を増大させる可能性があることが指摘されています。
オープンソースのガバナンス
"What is the governance structure for Bun? ... Is it essentially just 'Anthropic decides what gets done and accepted' today?"– @embedding-shape
Anthropic がランタイムの主要な利用者である現在、Bun のプロジェクトガバナンスに関する不確実性が浮き彫りになっています。
結論
Claude Code の Rust ポートされた Bun ランタイムへの移行は事実であり、検証可能であり、Linux 上でのわずかな起動速度の向上をもたらします。この変更はユーザーにとってほぼ透明ですが、安定性、メンテナンス性、およびオープンソースのガバナンスに関する新たな疑問を投げかけています。canary ビルドが成熟するにつれて、 developers 開発者は、Rust ポートが「boring」かつ高速なランタイムという約束を果たせるかどうかを評価するために、バグ報告やパフォーマンス指標を監視し続ける必要があります。