Скрытые функции Claude Code

Что нашлось в исходном коде npm-пакета @anthropic-ai/claude-code

Что произошло

31 марта 2026 года в открытый доступ попал снапшот исходного кода Claude Code — CLI-инструмента Anthropic для разработчиков. В архиве около 33 МБ и 1 884 файла: код местами обфусцирован, но достаточно читаем, чтобы восстановить скрытые команды, feature gates и продуктовые заготовки.

Это важно не потому, что “слили внутренности”, а потому, что по коду стало видно направление продукта: persistent assistant, удалённое планирование, bridge-режим, фоновая память, multi-agent orchestration и другие возможности, которых в публичной документации ещё не было в таком виде. Ниже — сжатый разбор того, что именно нашли и что это даёт пользователю.


Ключевые скрытые функции

Ниже — 7 ключевых находок из утечки. Для каждой — как работает, где спрятана в коде и что реально даёт пользователю.

BUDDY
Виртуальный питомец
Пасхалка Не выпущено

У каждого пользователя появляется свой виртуальный спутник рядом со строкой ввода. Его вид, редкость и поведение вычисляются по формуле из идентификатора аккаунта, так что питомец не случайный на каждый запуск, а по сути постоянная часть аккаунта.

Подробности: механика, параметры, где лежит в коде
Сроки релиза
Тизер: 1–7 апреля 2026. Полный запуск: май 2026.
Модель генерации
Внешность вычисляется по формуле из идентификатора аккаунта (Mulberry32). Питомец генерируется один раз и сохраняется навсегда.
Разнообразие
18 видов, 5 характеристик, 6 типов глаз, 7 шляп, блестящая версия с шансом 1%.
Поведение
Обновление каждые 500мс, анимации моргания и ожидания, пузырьки реплик около 10 секунд, /buddy pet даёт реакцию-сердечко.
Что это даёт пользователю

CLI перестаёт быть стерильным. BUDDY добавляет ощущение индивидуальности, эмоциональную обратную связь и ощущение, что Claude Code проектируется не только как чисто рабочий инструмент, но и как «продукт-компаньон».

Где это в коде
src/buddy/companion.ts mulberry32, species, eye, hat, shiny — генерация характеристик по userId.
src/buddy/types.ts SPECIES, EYES, HATS, STATS, StoredCompanion — словари и модель хранения.
src/buddy/CompanionSprite.tsx BUBBLE_SHOW, FADE_WINDOW, PET_BURST_MS, tick — тайминг пузырей, анимаций ожидания и всплеска сердечек.
KAIROS
Постоянный ассистент
Долгоживущий режим Не выпущено

Это режим постоянной работы, где Claude не обнуляется между сессиями. Он ведёт логи памяти (записи только добавляются, не удаляются), получает периодические сигналы, умеет проактивно действовать и ночью "видит сны" — консолидирует накопившуюся память в более полезные заметки.

Подробности: память, процесс «сна», инструменты, кодовые следы
Флаг активации
feature('KAIROS') + tengu_kairos.
Дневные логи
~/.claude/.../logs/YYYY/MM/DD.md, формат «только дозапись», без переписывания старой истории.
Фазы «сна»
Ориентация → Сбор → Объединение → Очистка. Весь процесс идёт в режиме только чтение.
Модель работы
15 секунд на активный ответ, потом уходит в фон. Два режима: обычный и проактивный. Специальные инструменты: отправка файлов, уведомления, подписка на PR, пауза.
Что это даёт пользователю

Не "ещё один чат", а персональный инженер, который помнит контекст, отслеживает долгие ветки работы и сам поддерживает непрерывность между днями, PR и идеями.

Где это в коде
src/main.tsx feature('KAIROS'), assistantModule, kairosGate, proactivePrompt — включение и системный режим.
src/memdir/memdir.ts logPathPattern, ежедневные логи (только дозапись), ночная дистилляция в MEMORY.md.
src/tools.ts SendUserFileTool, PushNotificationTool, SubscribePRTool, SleepTool — набор инструментов KAIROS.
ULTRAPLAN
Удалённое планирование
Облачное планирование Не выпущено

Для сложных задач Claude поднимает отдельный облачный сервер и может планировать до 30 минут отдельно от локальной сессии. План собирается удалённо, а пользователь потом утверждает или отклоняет его в браузере до запуска.

Подробности: удалённое планирование, цикл одобрения, кодовые следы
Модель
Opus 4.6 через tengu_ultraplan_model.
Бюджет
До 30 минут на отдельную сессию удалённого планирования.
Цикл управления
Опрос каждые 3 секунды → выход из режима планирования → одобрить/отклонить → новый цикл или выполнение.
Телепорт
Кнопка «Телепорт в терминал» архивирует удалённую ветку и переносит выполнение обратно в локальный терминал.
Что это даёт пользователю

Вместо того чтобы жечь локальную сессию на размышления, можно вынести planning в облако, получить более глубокий план и включиться уже на этапе принятия решения.

Где это в коде
src/commands/ultraplan.tsx getUltraplanModel(), ULTRAPLAN_TIMEOUT_MS, teleportToRemote() — точка входа и модель.
src/utils/ultraplan/ccrSession.ts POLL_INTERVAL_MS, ExitPlanModeScanner, pollForApprovedExitPlanMode() — цикл опроса одобрения/отклонения.
src/tools/ExitPlanModeTool/ ExitPlanMode — механизм выхода из режима планирования и передачи одобренного плана обратно в поток.
Coordinator Mode
Управление агентами
Параллельные воркеры Через переменную

Здесь Claude ведёт себя как менеджер: режет задачу на подзадачи, раздаёт их воркерам, ждёт структурированные отчёты и собирает финальный синтез. Это уже не "один агент с долгим промптом", а слой координации поверх нескольких исполнителей.

Подробности: оркестрация, воркеры, XML-уведомления
Активация
CLAUDE_CODE_COORDINATOR_MODE=1.
Протокол
Воркеры шлют XML-уведомления формата <task-notification>.
Поля уведомлений
status, summary, tokens, duration.
Изоляция
Рабочие папки через tengu_scratch, продолжение диалога идёт через SendMessage.
Что это даёт пользователю

Нормальную параллельную работу над крупной задачей. Не один медленный проход модели, а распределённый execution с отдельными контекстами и управляемым merge результатов.

Где это в коде
src/coordinator/coordinatorMode.ts CLAUDE_CODE_COORDINATOR_MODE, tengu_scratch — активация режима и изоляция рабочих папок.
src/coordinator/coordinatorMode.ts <task-notification>, status, summary, total_tokens, duration_ms — формат сообщений от воркеров.
src/tools/SendMessageTool/ SEND_MESSAGE_TOOL_NAME и продолжение диалога с конкретным воркером по ID.
UDS Inbox
Обмен между сессиями
Локальные сообщения Не выпущено

Если на машине запущено несколько Claude-сессий, они могут общаться друг с другом как маленькая локальная команда. Транспорт основан на Unix domain sockets, а адресация поддерживает локальные, peer и bridge-маршруты.

Подробности: адресация, обнаружение, реестр сессий
Схемы адресации
to: "researcher", to: "uds:/.../sock", to: "bridge:...".
Обнаружение
ListPeersTool и реестр сессий в ~/.claude/sessions/.
Роль
Обмен данными между агентами, локальными сессиями и удалёнными подключениями.
Применение
Передача задач между сессиями, сбор результатов из нескольких параллельных потоков.
Что это даёт пользователю

Возможность строить собственную сеть агентов на одной машине: отдельная сессия ресёрчит, другая пишет, третья координирует и всё это может разговаривать без внешнего слоя оркестрации.

Где это в коде
src/setup.ts --messaging-socket-path — запуск локального сервера сообщений и ручное переопределение пути сокета.
src/utils/peerAddress.ts uds:, bridge:, разбор адресов и маршрутизация сообщений.
src/utils/concurrentSessions.ts ~/.claude/sessions/, реестр PID/сессий, перечисление соседей и именование сессий.
Bridge
Удалённое управление
Веб ↔ локальная связь Не выпущено

Claude запускается локально, но управляется с телефона или через claude.ai в браузере. Разрешения, смена модели и подтверждения на использование инструментов передаются через мост в реальном времени, а локальная сессия остаётся источником исполнения.

Подробности: точка входа, транспорт, управляющие сообщения
Точка входа
claude remote-control.
API инициализации
POST /v1/environments/bridge.
Транспорт
Опрос на старте, затем двусторонняя связь через WebSocket. Есть путь синхронизации для управления удалёнными сессиями.
Управляющие сообщения
initialize, set_model, can_use_tool и другие запросы управления сессией в реальном времени.
Что это даёт пользователю

Локальная машина становится движок выполнения, а интерфейс можно вынести куда угодно. По сути это удалённый рабочий стол для Claude Code без потери локальных файлов, прав и инструментов.

Где это в коде
src/entrypoints/cli.tsx remote-control, rc, remote, sync, bridge — псевдонимы CLI и быстрый путь.
src/bridge/bridgeApi.ts POST /v1/environments/bridge, bridgeId, точки переподключения/архивации и регистрация окружения.
src/remote/RemoteSessionManager.ts / src/remote/SessionsWebSocket.ts can_use_tool, запросы управления в реальном времени, /v1/sessions/ws/{id}/subscribe, логика переподключения WebSocket.
Daemon Mode
Фоновый супервизор
Фоновая работа Не выпущено

Это управляющий слой для долгоживущих фоновых сессий. Claude можно запускать как фоновый сервис, смотреть список, логи, переподключаться и завершать нужную сессию без потери контекста на каждом закрытии терминала.

Подробности: супервизор, фоновые сессии, отсоединение tmux
Команды
daemon, ps, logs, attach, kill.
Фоновый режим
claude --bg <prompt> запускает сессию в tmux.
При выходе
Не завершение, а отсоединение — сессия продолжает жить после выхода из терминала.
Назначение
Супервизор сессий для удалённого управления, фоновых задач, долгих процессов и отложенных задач.
Что это даёт пользователю

Claude начинает вести себя как фоновый рабочий процесс, а не как одноразовая интерактивная команда. Это база для фоново живущих агентов и длинных автоматизаций.

Где это в коде
src/entrypoints/cli.tsx daemon, --daemon-worker, ps, logs, attach, kill, --bg, --background.
src/utils/concurrentSessions.ts SessionKind, 'bg', 'daemon', 'daemon-worker', isBgTmuxSession() — типы и состояние сессий.
src/commands/exit/exit.tsx tmux detach-client внутри claude --bg вместо kill при выходе.
ULTRAREVIEW
Глубокая проверка кода
Облачный ревью Не выпущено

Команда /ultrareview поднимает облачный контейнер и запускает систему bughunter — оркестратор, который параллельно ищет и верифицирует баги. Работает в двух режимах: проверка PR по номеру и проверка текущей ветки. Результаты приходят асинхронно.

Подробности: флот агентов, стадии, биллинг, где в коде
Флот агентов
По умолчанию 5, максимум 20. Каждый агент работает до 10 минут (потолок 1800 сек).
Общее время
До 22 минут на ревью (потолок 27 мин). Локальный поллер ждёт до 30 минут.
Стадии
Поиск багов → Верификация найденных → Дедупликация и синтез отчёта.
Биллинг
Для Pro/Max: квота бесплатных ревью, далее Extra Usage ($10 мин. баланс). Для Team/Enterprise: без ограничений.
Что это даёт пользователю

Вместо ручного ревью — параллельная команда агентов-багхантеров, которая за 10–20 минут проверяет ветку или PR и возвращает отчёт с верифицированными багами. Живой счётчик «N найдено · M проверено» в интерфейсе.

Где это в коде
src/commands/review/reviewRemote.ts Основная логика: проверка квоты, запуск удалённого ревью, все переменные окружения bughunter, регистрация задачи.
src/commands/review/ultrareviewEnabled.ts Флаг активации: GrowthBook tengu_review_bughunter_config, проверка enabled === true.
src/tasks/RemoteAgentTask/RemoteAgentTask.tsx Поллер с таймаутом 30 мин, парсинг heartbeat-тегов прогресса, стадии finding/verifying/synthesizing.
Verification Stack
Независимая верификация
Агент-проверщик Не выпущено

Отдельный агент, задача которого — не подтвердить, а сломать реализацию. Получает описание задачи, список изменённых файлов и подход — возвращает вердикт PASS / FAIL / PARTIAL с доказательствами в виде реальных команд и их вывода.

Подробности: обязательные проверки, adversarial probes, формат вердикта
Тип агента
verification — запускается через AgentTool, не может изменять файлы проекта (запрещены Edit, Write, NotebookEdit).
Обязательные шаги
Сборка проекта (ошибка = FAIL), запуск тестов (падение = FAIL), линтеры, adversarial probes.
Adversarial probes
Конкурентность, граничные значения (0, -1, пустая строка), идемпотентность, orphan-операции. PASS без попытки сломать — недопустим.
Формат вердикта
Строго: VERDICT: PASS, FAIL или PARTIAL. Каждая проверка: команда → вывод → результат.
Что это даёт пользователю

Защита от ситуации «агент сказал готово, но ничего не проверил». Верификатор не имеет контекста реализации — проверяет вживую, а не читает код. Каждый PASS требует реально выполненную команду с выводом.

Где это в коде
src/tools/AgentTool/built-in/verificationAgent.ts Полный системный промпт, список запрещённых инструментов, условия вызова.
src/commands/init-verifiers.ts Команда /init-verifiers — генерация project-specific скиллов для Playwright/CLI/API.
src/tools/AgentTool/builtInAgents.ts Флаг: feature('VERIFICATION_AGENT') && tengu_hive_evidence.
Brief / SendUserMessage
Канал для пользователя
Обмен сообщениями Не выпущено

Отдельный канал ответа, параллельный основному потоку. Предназначен для финальных сообщений, статусных обновлений и доставки файлов. Два режима: обычный (по запросу) и проактивный (агент сам инициирует сообщение).

Подробности: статусы, инструменты, связь с KAIROS
Статусы
normal — ответ на запрос, proactive — агент сам инициирует (завершение задачи, блокер, фоновое обновление).
Блокирующий бюджет
15 секунд на синхронный ответ, далее задача уходит в фон.
Связанные инструменты
SendUserFile (файлы), PushNotification (уведомления), SubscribePR (GitHub-события), SleepTool (пауза).
Привязка к KAIROS
Все инструменты канала доступны только в режиме KAIROS — долгоживущего постоянного ассистента.
Что это даёт пользователю

Основной поток перегружен служебными данными. Brief выносит финальные ответы в отдельный канал — пользователь видит только важное. В режиме KAIROS это единственный способ вернуть результат фоновой работы.

Где это в коде
src/tools.ts Регистрация KAIROS-инструментов: SendUserFileTool, PushNotificationTool, SubscribePRTool, SleepTool.
src/main.tsx Включение режима: feature('KAIROS'), assistantModule, proactivePrompt.
src/memdir/memdir.ts Brief-сообщения становятся частью дневных логов памяти агента.
BG Sessions
Фоновые сессии
Фоновая работа Не выпущено

Фоновые сессии через claude --bg — агент запускается в tmux и продолжает работать после закрытия терминала. Полный набор команд: ps (список), logs (логи), attach (подключение), kill (остановка).

Подробности: флаги, виды сессий, поведение tmux
CLI-флаги
--bg / --background — запуск в tmux. Также --daemon-worker для супервизорного режима.
Виды сессий
Три типа: bg, daemon, daemon-worker. Определяются через SessionKind.
При выходе
Не завершение процесса, а tmux detach-client — сессия продолжает жить в фоне.
Реестр
PID и метаданные хранятся в ~/.claude/sessions/. Функция isBgTmuxSession() определяет тип.
Что это даёт пользователю

Агент ведёт себя как фоновый процесс: запустил задачу → закрыл терминал → вернулся через claude attach. Основа для долгих автоматизаций без потери контекста.

Где это в коде
src/entrypoints/cli.tsx Флаги --bg, --background, --daemon-worker; субкоманды daemon, ps, logs, attach, kill.
src/utils/concurrentSessions.ts SessionKind, реестр в ~/.claude/sessions/, isBgTmuxSession().
src/commands/exit/exit.tsx Логика tmux detach-client вместо kill при выходе из фоновой сессии.
Auto-Dream
Переработка памяти
Фоновая консолидация Не выпущено

Автоматический фоновый механизм: после каждого ответа проверяет условия и запускает агента-консолидатора. Тот анализирует накопленные транскрипты и обновляет файлы памяти. Аналог «сна» — когда накопилось достаточно опыта, система переваривает его.

Подробности: условия запуска, lock-файл, 4 фазы, ограничения агента
Условия запуска
≥24 часа с последней консолидации + ≥5 новых сессий. Оба порога настраиваются через GrowthBook. Повторная проверка — не чаще раза в 10 минут.
Lock-файл
.consolidate-lock в директории памяти. Его mtime = время последней консолидации. PID в теле файла. Протухание через 1 час.
4 фазы
Ориентация (чтение текущей памяти) → Сбор (поиск нового в логах) → Объединение (запись/обновление файлов) → Очистка (обновление индекса, лимит ~25KB).
Ограничения агента
Только read-only команды: ls, find, grep, cat, stat, wc, head, tail. Пользователь может прервать в любой момент.
Что это даёт пользователю

Память автоматически «дефрагментируется» между сессиями. Накопленный опыт синтезируется в структурированные файлы, устаревшие факты удаляются, индекс остаётся компактным. Процесс полностью фоновый и прерываемый.

Где это в коде
src/services/autoDream/autoDream.ts Главная логика: gates, lock, запуск агента, отслеживание прогресса.
src/services/autoDream/consolidationLock.ts Lock-файл, HOLDER_STALE_MS (1 час), rollback при сбое.
src/tasks/DreamTask/DreamTask.ts UI-задача: фазы starting → updating, прерывание с откатом lock.
src/services/autoDream/consolidationPrompt.ts 4-фазный промпт для агента-консолидатора.
Proactive Mode
Автономный режим
Самостоятельный агент Не выпущено

Агент не ждёт команды — сам решает, что делать дальше или когда уйти в паузу. Получает периодические сигналы, может инициировать действия, отправлять уведомления и подписываться на внешние события.

Подробности: двойной gate, статусы, бюджет, механизм паузы
Двойной gate
feature('KAIROS') + tengu_kairos. Оба флага обязательны — одного недостаточно.
Два статуса
normal — ответ на запрос пользователя, proactive — агент сам инициирует действие.
Бюджет
15 секунд на активный ответ, затем автоматический уход в фон.
Механизм паузы
SleepTool — агент явно вызывает его, когда решает «спать». SubscribePR может разбудить при событиях в GitHub.
Что это даёт пользователю

Ассистент, который сам двигает задачу. Не «ещё один чат», а фоновый инженер с долгосрочной памятью, ночной консолидацией и проактивными уведомлениями. Сам решает — работать или ждать.

Где это в коде
src/main.tsx feature('KAIROS'), kairosGate, proactivePrompt — включение проактивного режима.
src/tools.ts SleepTool, SendUserFileTool, PushNotificationTool, SubscribePRTool — инструменты автономного агента.
src/memdir/memdir.ts Дневные логи, append-only формат, ночная дистилляция в MEMORY.md.
Уведомления, подписки, файлы, триггеры6
  • 📎
    SendUserFile

    Отдельный канал отправки файлов пользователю. Прямая доставка артефактов, отчётов, скриншотов.

  • 🔔
    PushNotification

    Push-уведомления о важных событиях и завершениях задач. Не нужно сидеть в терминале постоянно.

  • 🔗
    SubscribePR

    Подписка на события GitHub PR — комментарии и CI-активность. Реактивная работа без ручного мониторинга.

  • 📡
    Channels

    Регистрация входящих push-событий от MCP-серверов. Сценарии по событиям, где внешние системы «будят» агента.

  • RemoteTriggerTool

    Удалённые триггеры и запуск задач по расписанию или событию. Основа для автоматизаций и повторяющихся процессов.

  • 📊
    MonitorTool

    Наблюдение за состоянием процессов и удалённой активности. Контроль над долгими операциями.


Интерфейс и настройки

Новые команды интерфейса

Команды и режимы для управления сессиями, окружением и UI.

13 скрытых команд интерфейса
  • 🌐
    web-setup

    Настройка Claude Code в браузере и подключение GitHub-учётки.

  • 🖥️
    remote-env

    Работа с удалёнными окружениями. Запуск сценариев в подготовленных окружениях.

  • 📱
    session

    Показ URL и QR-кода текущей удалённой сессии. Подключение с другого устройства.

  • 🏷️
    tag

    Теги на сессиях для поиска и возобновления. Организация истории работы.

  • 📂
    files

    Показ файлов в контексте модели. Быстрый ответ на «что агент уже прочитал».

  • 🔄
    think-back

    Персональный обзор активности в Claude Code. Рефлексия по истории использования.

  • 🔀
    fork

    Запуск отдельной ветки агентной работы. Безопасное параллельное исследование альтернативного подхода.

  • 👥
    peers

    Работа с peer-сессиями или соседними агентами. Координация между сессиями.

  • 📋
    tasks

    Просмотр и управление фоновыми задачами. Единый экран для долгих процессов.

  • 🤖
    assistant

    Принудительное включение режима ассистента. Более «постоянный» тип агента.

  • 🎤
    voice

    Голосовой режим и голосовой ввод. Работа без клавиатуры.

  • 📊
    statusline

    Отдельная строка статуса в интерфейсе. Более информативный вид.

  • ⚙️
    workflows

    Запуск многошаговых workflow-сценариев. Повторяемые автоматизированные цепочки действий.


Скрытые команды и ops

Служебные команды для автоматизации git-операций, диагностики и управления сессиями.

8 новых команд
  • 💾
    commit

    Агент сам готовит и делает коммит. Автоматизированное завершение без ручной git-рутины.

  • 🚀
    commit-push-pr

    Ветка, коммит, push и создание PR в одном потоке. «От кода до PR» за один шаг.

  • 🧹
    heapdump

    Снятие дампа памяти для диагностики утечек. Для отладки самого инструмента.

  • 🏷️
    version

    Скрытый путь вывода версии. Быстрая самопроверка.

  • ⚠️
    rate-limit-options

    Экран действий при упоре в лимиты. Запасной выбор вместо тупика.

  • 🎨
    output-style

    Скрытое управление стилем вывода. Тонкая настройка формата ответа.

  • 🔧
    bridge-kick

    Служебный «пинок» bridge-соединению. Аварийное восстановление удалённого управления.

  • 🖥️
    terminal-setup

    Настройка среды и терминала вокруг сессии. Меньше ручной настройки окружения.


Эксперименты и заготовки

Тут в основном недоделанные фичи и внутренние заготовки: что-то бросили на полпути, что-то так и осталось экспериментом. По одному сливу кода не всё разложить по полочкам — ниже просто собрали, что удалось разглядеть.

18 экспериментальных функций
  • 🔧
    autofix-pr

    Автоисправление PR по замечаниям. Автоматическое доведение PR до зелёного состояния.

  • 📋
    background-pr

    Фоновая обработка PR как долгий серверный процесс.

  • 🐛
    bughunter

    Отдельный режим агрессивной охоты за багами.

  • 📤
    share

    Отправка сессии или сводки. Передача результатов другим людям.

  • 📝
    summary

    Автосводка по сессии. Быстрая выжимка без чтения всей истории.

  • ✈️
    teleport

    Перенос удалённой работы в локальный терминал. Бесшовный переход между удалённым и локальным режимом.

  • 🌍
    env

    Более явная работа с окружением и средой исполнения.

  • 👋
    onboarding

    Отдельный пользовательский онбординг-флоу. Мягкий вход в продукт.

  • 🔬
    ant-trace

    Внутренний режим трассировки и отладки. Диагностика.

  • ⏱️
    perf-issue

    Поток для проблем производительности. Системный способ фиксировать баги скорости.

  • 🎫
    issue

    Более явная работа с issue-трекером. Интеграция «из задачи в код».

  • 🔍
    debug-tool-call

    Отладка отдельного вызова инструмента. Для сложных сбоев.

  • 📚
    backfill-sessions

    Восстановление или миграция старых сессий. Сохранность истории.

  • 💥
    break-cache

    Принудительная ломка кеша для тестов и дебага.

  • 👁️
    ctx_viz

    Визуализация контекста модели. Прозрачность того, что агент реально видит.

  • 🧪
    mock-limits

    Симуляция лимитов. Тестирование граничных случаев без реального упора.

  • 🔄
    reset-limits

    Сброс лимитов в тестовом режиме.

  • 🔥
    torch, passes, good-claude

    Экспериментальные внутренние поверхности. Потенциально — новые режимы качества или поведения, но из снапшота их смысл полностью не раскрыт.