Claude Code перешёл на Bun после переписывания runtime на Rust

20.07.2026 · 5 мин

Что изменилось в Claude Code

Знаете, что происходит, когда компания с миллиардными оборотами тихо меняет фундамент своего продукта и никто этого не замечает? Именно это и случилось.

Тихая революция под капотом

В середине июня 2026 года Anthropic выпустила Claude Code версии 2.1.181. Никаких анонсов, никаких презентаций — просто апдейт. Но внутри него спряталась интересная деталь: код теперь работает на Bun (среда выполнения JavaScript — альтернатива Node.js, которая работает быстрее) — среде выполнения JavaScript, которая сама недавно переписана на Rust (язык программирования, известный своей безопасностью — компилятор ловит ошибки работы с памятью ещё до запуска кода).

Через несколько недель Jarred Sumner (создатель Bun) раскрыл карты: да, это тот самый Rust-порт. Да, запуск на Linux стал быстрее на 10 процентов. И да, почти никто этого не заметил.

Что самое забавное — Саймон Виллисон решил проверить это сам. И нашёл.

Как убедиться, что это правда

Оказывается, есть как минимум два способа докопаться до истины, если у вас установлен Claude Code.

Первый — посмотреть строки внутри бинарника (скомпилированная программа — готовый исполняемый файл, который можно запустить):

strings ~/.local/bin/claude | grep -m1 'Bun v1'

У Саймона этот запрос вернул `Bun v1.4.0` для macOS ARM64 (архитектура процессора — используется в Mac с чипом M-серии и большинстве смартфонов). Проблема: на тот момент последняя стабильная версия Bun в репозитории была 1.3.14 от 12 мая. Версия 1.4.0 ещё даже не вышла. Это означает, что Anthropic уже поставляют превью-версию Bun, которая станет публичной только в будущем.

Второй способ — поискать внутри бинарника ссылки на 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, которые теперь работают внутри Claude Code на миллионах устройств.

Почему это вообще важно

Bun — это альтернатива Node.js (среда выполнения JavaScript — «движок», который позволяет запускать JS-код на сервере, а не только в браузере). Создатели Bun хвастались скоростью с самого начала, но настоящий фокус был в другом: они хотели переписать core-часть на Rust, чтобы получить безопасность памяти без потери производительности.

CLAUDE CODE STACK
────────────────
┌─────────────────────────────────────────────┐
│  Claude Code (ваш интерфейс)                │
├─────────────────────────────────────────────┤
│  Bun Runtime (исполнение JS/TS)             │◀── Rust-порт
├─────────────────────────────────────────────┤
│  Rust Core (io, парсинг, сеть)              │
└─────────────────────────────────────────────┘

БЫЛО:                              СТАЛО:
┌─────────┐                        ┌─────────┐
│ Node.js │                        │ Bun/Rust│
│  (C++)  │    ──▶ замена ──▶     │  (Rust) │
└─────────┘                        └─────────┘
  10% медленнее                     10% быстрее
Архитектурный сдвиг в Claude Code: Bun вместо Node.js

Переход на Rust даёт несколько преимуществ:

Скорость. Не 10x, не 2x — но 10 процентов на старте. Это означает, что когда вы открываете Claude Code, он быстрее поднимается, быстрее подключается к API (способ, которым программы «разговаривают» друг с другом — как розетка и вилка), быстрее начинает работу.

Стабильность. Rust известен своей системой безопасности памяти на уровне компилятора. Это значит меньше segfault-ов (сегфолт — критический сбой программы, когда она пытается обратиться к «чужой» памяти), меньше утечек памяти, меньше неожиданного поведения.

Будущее. Anthropic явно готовятся к чему-то большему. Загрузка невыпущенной версии Bun — это не случайность. Это как минимум доверие к проекту, а как максимум — желание влиять на его развитие.

Что это говорит о рынке AI-инструментов

Виллисон в конце своей заметки приводит слова Sumner: «Скучно — это хорошо» (Boring is good). И это, пожалуй, главный вывод из всей этой истории.

Мы привыкли к хайпу: новые модели, новые фреймворки, новые подходы. Но настоящая инженерия — это часто именно про выбор скучных, надёжных решений, которые просто работают.

Bun на Rust — это не сексуально. Это не привлечёт внимание на конференции. Но это делает Claude Code быстрее, стабильнее и лучше подготовленным к масштабированию.

ЖИЗНЕННЫЙ ЦИКЛ БОЛЬШИХ РЕШЕНИЙ
───────────────────────────────
           ▲
           │
    ┌──────┴──────┐
    │   СКУЧНО    │  ← Выбрано
    ├─────────────┤
    │  РАБОТАЕТ   │  ← Реализовано
    ├─────────────┤
    │ НИКТО НЕ    │  ← Замечено?
    │ ЗАМЕТИЛ     │
    ├─────────────┤
    │  +10% скорости│ ← Бенефит
    └─────────────┘
           │
           ▼
    "Boring is good"
Идеальный путь для production-решения: никто не заметил, все довольны

Моя оценка

Вот что меня зацепило в этой истории: Anthropic не стали писать собственный runtime (среда выполнения — «движок», который запускает и исполняет код) с нуля. Они взяли готовый инструмент (Bun), дождались, пока его перепишут на Rust, и встроили его в свой продукт.

Это прагматизм высшего уровня.

Вместо того чтобы нанимать команду под конкретную задачу, они:

  1. Выбрали open-source (открытый исходный код — когда код проекта публично доступен, и любой может его изучить или предложить изменения) решение (Bun)
  2. Подождали, пока оно дозреет до нужного уровня
  3. Внедрили с минимальным шумом
  4. Получили результат

Для нас, пользователей, это значит две вещи. Первая: Claude Code будет работать быстрее без каких-либо наших действий. Вторая: экосистема AI-инструментов взрослеет и начинает опираться на инфраструктуру, которая работает стабильно, а не на хайповые прототипы.

«Скучно — это хорошо» — сказал Sumner. Я бы добавил: «Скучно — это профессионально».

Ссылки

Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.