打开终端敲一行 claude --version,你看到的只是版本号在跳。没有任何提示告诉你,脚下的运行时已经换了一遍。
Claude Code 从 v2.1.181(6 月 17 日发布)开始,内置的 JavaScript 运行时 Bun,从大家熟悉的 Zig 版本换成了 Rust 重写版本。Bun 创始人 Jarred Sumner 在博客里的说法很淡定:Linux 上启动速度快了约 10%,除此之外几乎没人发现——他用一句 "Boring is good" 收尾。
证据链:一个版本号和 563 个文件路径
独立开发者 Simon Willison 拿自己电脑上的 Claude Code 二进制验证了这个说法。他用 strings 命令扫出字符串 "Bun v1.4.0"。而当时 GitHub 上 Bun 公开发布的最新版本还停在 v1.3.14(5 月 12 日)。也就是说,Claude Code 里跑的是一个还没公开放出的预览版本。
同一份二进制里,他还提取出了 563 个 .rs 源码文件路径。这不是命名巧合,是编译产物里带着的 Rust 源码路径残留。
| 项目 | 已确认 | 尚未确认 / 需观察 |
|---|---|---|
| 生效版本 | Claude Code v2.1.181(6 月 17 日起) | Bun 公开发行版何时同步到 v1.4.0 |
| 性能数据 | Linux 启动提速约 10%(Sumner 说法) | macOS、Windows 表现,内存占用变化 |
| 证据来源 | strings 扫描出版本号字符串 + 563 个 .rs 路径 | 源码级审计、迁移是否覆盖全部模块 |
这份证据靠不靠得住
strings 命令只是把二进制里的可打印字符串抠出来。能扫到版本号和文件路径残留,是相当有力的旁证。但它不等于逐行审计源码,也证明不了 Bun 全部代码都已经改用 Rust。
目前能确认的,只是 Claude Code 依赖的这部分运行时用了 Rust。10% 这个数字也只针对 Linux 启动速度,macOS、Windows 表现如何,内存占用有没有变化,原文没给对照,不该脑补成"整体性能提升 10%"。
对谁有影响,该做什么
开发者和工具链工程师:不用手动做任何事,跟着 Claude Code 自动更新就行。但如果你单独用 Bun CLI 而不是 Claude Code 内置版本,别假设两者已经同步——目前的证据只覆盖 Claude Code 这个特定二进制,公开的 Bun CLI 什么时候切到 Rust 版本,还没有官方说法。
关注工程质量的技术决策者:这次案例值得记一笔,但别拔高。它说明 Bun 团队有能力把一次高风险的运行时替换做到用户无感,是执行力的正面信号。但支撑这个判断的只有 Linux 一个平台的启动数据,加上一次 strings 扫描的旁证。如果你的选型或采购流程需要更硬的稳定性证明,等官方 changelog 和多平台数据出来,别拿一次本地验证当结论。
Boring is good:无感才是硬功夫
老子说"治大国若烹小鲜",翻动次数越少,菜才不会碎。换一个软件的底层运行时,道理一样:动作越大,越怕用户感觉到。
Bun 这次干的,是把一个跑在无数开发者机器上的 CLI 工具,底层引擎从一种语言换成另一种语言,还提前塞了个未公开预览版本进 Claude Code 的生产环境。结果是启动更快、行为不变,几乎没人吵闹。这条新闻的分量不在 Rust 比 Zig 快多少,而在于团队把一次容易出岔子的架构迁移,做成了一次能直接推上线的、无聊的版本升级。
接下来该看的是三件事:官方 changelog 什么时候公开这次迁移的完整范围,macOS 和 Windows 上有没有同样的提速数据,以及 Bun 公开发行版何时正式追上这个已经在生产环境跑的 v1.4.0。这三个空白填上之前,"团队把活干扎实了"这句话,只能算是一个有依据、但还没被完全验证的判断。
