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 releases 最高只到 v1.3.14(2026 年 5 月 12 日)。Claude Code 内部存在的 v1.4.0 表明 Anthropic 正在分发一个尚未正式发布的 Bun 版本预览版。


Rust 代码的源码级证明

第二次检查提取出了嵌入的 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 仓库布局相匹配,证实了该二进制文件包含编译后的 Rust 源码,而非原始的 JavaScript 实现。


在运行时验证嵌入的 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 二进制文件中所引用的完全相同的构建版本。相关的 commit(2024 年 5 月 17 日)将 package.json 更新到了版本 1.4.0,且尚未被提升为稳定版标签。


社区反应与疑虑

性能 vs. 稳定性

"启动速度在 Linux 上提升了 10%,但在其他方面几乎没人注意到。无聊才是好事。" – Jarred Sumner, Bun-in-Rust 博客文章的作者。

大多数评论者都认为性能提升幅度较小,且这一变化对终端用户来说在很大程度上是透明的。

为什么不直接用 Rust 重写 Claude Code?

"为什么一个 TUI 需要通过 JavaScript 运行在终端 React 中?如果重写这么容易,为什么不直接用原生语言重写 CC?" – @weakfish

共识是 Anthropic 倾向于于保留现有的以 JavaScript 为中心的开发工作流,同时利用 Rust 移植版的运行时以获得速度和安全性。

稳定性与错误报告

"我在 Claude Code 中遇到了段错误 (segfaults)... 整个 Kitty 终端标签页都变得无法使用。" – @Aeveus

一些用户报告在切换后出现了崩溃和渲染故障,这表明 Rust 移植版继承了 Bun 的一些已知的不稳定性。

"生成的 Rust 代码非常不符合惯用法...简直是灾难。" – @feverzsj

批评者指出,从 Zig/TypeScript 到 Rust 的自动转译产生的代码难以维护,可能会增加技术债务。

开源治理

"什么是 Bun 的治理结构?... 今天这基本上就是‘Anthropic 决定了什么被完成和接受’吗?" – @embedding-shape

讨论强调了在 Anthropic 成为运行时的主要使用者后,围绕 Bun 项目治理的不确定性。


总结

Claude Code 向 Rust 移植版 Bun 运行时的迁移是真实的、可验证的,并且在 Linux 上带来了适度的启动速度提升。这一变化对用户来说在很大程度上是透明的,的,但它引入了关于稳定性、稳定性、可维护性和开源治理的新问题。随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建版本的成熟,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,随着 canary 构建,|'"} ,

Sources