Вы запустили три терминала с Claude Code: один пишет API, второй мигрирует базу данных, третий делает ревью. Миграция ломает схему, от которой зависит API. Вы замечаете это через десять минут — или не замечаете. Агенты работают в изоляции, и пока вы не переключитесь между терминалами, ни один из них не узнает о проблеме в другом.
С августа 2026 года Claude Code умеет иначе: один агент сам замечает конфликт и отправляет сообщение другому через SendMessage. Вы даже можете указать получателя символом @ в промпте — точно так же, как в Slack или Telegram. В этой статье разберём три фичи, которые появились в версиях 2.1.232–2.1.239: упоминания сессий (@), сабэдженты-форки с наследованием контекста и синхронизация плагинов из облака.
Если незнакомы с понятиями «сессия» и «сабэджент» — начните со статей «Что такое агентный кодинг» и «Контекст Claude Code». Эта статья — про то, как несколько сессий работают вместе.
@mentions: отправка сообщений между сессиями
До v2.1.232 кроссессионные сообщения работали, но требовали лишних шагов. Claude должен был вызвать ListAgents, найти нужную сессию по имени, и только потом отправить сообщение через SendMessage. Теперь достаточно написать в промпте @ и первые буквы имени сессии — появится выпадающий список, как при ментионах в мессенджерах (документация):
@api-worker Схема авторизации изменилась — проверь миграцию
Claude Code подставит полное имя сессии и отправит сообщение через SendMessage. Если на это имя отвечают несколько сессий, Claude спросит, какую именно вы имели в виду.
Как настроить кроссессионные сообщения
По умолчанию кроссессионные сообщения включены в interactive-сессиях на macOS, Linux и WSL 2 (с v2.1.224) и на нативном Windows (с v2.1.234). Проверить, работает ли messaging в вашей сессии, можно командой /list-agents. Первая строка покажет имя текущей сессии — именно так её видят другие.
Настройки принимаются через /config:
| Параметр | Что делает | Где задаётся |
|---|---|---|
crossSessionInbound |
accept / hold / refuse — принимать, держать на согласовании или отклонять входящие сообщения |
settings.json |
dialogExpiry |
Время жизни диалога согласования (по умолчанию 5 минут) | settings.json |
isolatePeerMachines |
Требовать ваше согласование перед отправкой сообщения на другую машину | settings.json |
Настройка crossSessionInbound: "hold" — компромисс для тех, кому нужно видеть, что именно отправляется. Диалог согласования появится в терминале сессии-получателя, и вы одобрите или отклоните каждое сообщение.
notify_when_idle: уведомление о завершении работы
С v2.1.236 появилась возможность подписаться на уведомление, когда другая сессия завершит текущий ход:
Скажи мне, когда миграция завершится
Claude подпишется через SendMessage с параметром notify_when_idle. Когда сессия-миграция закончит текущую работу, ваша сессия получит однострочное уведомление. Подписка одноразовая — никакого опроса, никакого дополнительного потребления токенов. Если уведомление не пришло за 12 часов, подписка автоматически снимается (документация).
Ограничения, о которых стоит знать
- Сообщения — только текст. Файлы, код и структурированные данные не передаются.
- Лимит на одно сообщение — около миллиона символов. Claude отклонит сообщение до отправки, если оно длиннее.
- При быстрой серии сообщений на одну сессию — Claude остановится и предложит объединить остаток в одно.
- Кроссессионные сообщения не работают на Amazon Bedrock, Google Cloud Agent Platform и Microsoft Foundry.
Сабэдженты-форки: наследование контекста
Обычный сабэджент Claude Code — это автономный агент с собственным контекстным окном. Он получает задачу, работает изолированно и возвращает результат. Изоляция — главное преимущество: побочные задачи (ревью, тесты, поиск) не засоряют основную сессию.
Но иногда изоляция мешает. Задача «напиши тесты для того, что мы только что написали» требует полного контекста текущей сессии — истории, изменённых файлов, договорённостей. Стандартный сабэджент этого контекста не видит.
Сабэджент-форк решает эту проблему: он наследует всю историю диалога текущей сессии, включая prompt cache. Это значит, что первый запрос к форку обойдётся дешевле — кеш уже разогрет. Результаты работы форка возвращаются в основную сессию, но его собственные вызовы инструментов не попадают в ваш контекст (документация).
Как запустить форк
С v2.1.232 форк-режим включён по умолчанию в interactive-сессиях. Claude сам решает, когда запустить форк, а вы можете вызвать его вручную:
/subtask напиши тесты для изменений в парсере
Форк запустится в фоне — панель под промптом покажет его статус. Когда работа завершится, результат придёт в основную сессию. Пока форк работает, вы можете продолжать работу.
Панель форков управляется клавишами:
| Клавиша | Действие |
|---|---|
| ↑/↓ | Переключение между строками |
| Enter | Открыть транскрипт форка и отправить ему сообщение |
| x | Остановить работающий форк или закрыть завершённый |
| Esc | Вернуться к промпту |
Когда использовать форк, а когда обычный сабэджент
| Задача | Fork | Обычный сабэджент |
|---|---|---|
| Написать тесты для текущего изменения | ✓ Нужен контекст | |
| Провести ревью изменённых файлов | ✓ Достаточно diff | |
| Попробовать два подхода параллельно | ✓ Одинаковая отправная точка | |
| Поиск по кодовой базе (Explore) | ✓ Быстрый, дешёвый | |
| Работа с данными через SQL | ✓ Своя модель и инструменты |
Форк не может порождать собственные форки — это одноуровневая операция. Если нужна рекурсия — используйте обычные сабэдженты или agent teams.
Управление fork-режимом
Если Claude запускает форки слишком часто (или не запускает, когда нужно), есть два рычага:
# Включить fork-режим в non-interactive и SDK
export CLAUDE_CODE_FORK_SUBAGENT=1
# Выключить fork-режим везде
export CLAUDE_CODE_FORK_SUBAGENT=0
Или отключить только автоматические форки, сохранив ручной вызов /subtask:
permissions.deny: ["Agent(fork)"]
Это запретит Claude автоматически выбирать subagent_type: "fork", но не отнимет команду /subtask у пользователя.
Синхронизация плагинов из облака
С v2.1.239 в cloud-сессиях (Claude Code на вебе, десктопе, мобилке) плагины, установленные через claude.ai, синхронизируются с терминальными сессиями. Синхронизированные плагины отображаются как name@synced и управляются командами:
# Отключить синхронизированный плагин
claude plugin disable my-plugin@synced
# Включить обратно
claude plugin enable my-plugin@synced
Важное поведение: синхронизированные плагины никогда не перезаписывают локально установленные. Если вы установили плагин через /plugin install в терминале, а тот же плагин пришёл из облака — приоритет остаётся за локальной версией. Это значит, что кастомная конфигурация не затирается автоматически.
До этой версии cloud-сессии и CLI-сессии жили в разных мирах: плагины, настроенные на claude.ai, не были доступны в терминале. Теперь — единое пространство плагинов с приоритетом локальной настройки.
Практика: сценарий из трёх терминалов
Полная картина: три сессии работают параллельно над одним проектом.
Терминал 1 — разработка API:
$ claude -n api-work
claude> Рефакторинг модуля авторизации — добавляю refresh tokens
Терминал 2 — миграция БД:
$ claude -n db-migration
claude> Миграция таблиц users: добавляю поле refresh_token_expires
Терминал 3 — ревью:
$ claude -n code-review
claude> Проведи ревью последних коммитов в ветке auth-refactor
Что происходит без кроссессионных сообщений: каждая сессия работает вслепую. Если миграция ломает схему, от которой зависит API — вы узнаете, когда запустите тесты вручную.
Что происходит с messaging:
- Сессия api-work замечает, что миграция изменила имена столбцов, и отправляет:
@db-migration Таблица users: поле token_expires renamed на refresh_token_expires. Обнови миграцию. - Сессия db-migration получает сообщение между шагами, корректирует миграцию.
- Сессия code-review запрашивает
@api-worker Скажи мне, когда рефакторинг завершится— и получает уведомлениеnotify_when_idle.
Вы наблюдаете за процессом в одном терминале через claude agents (agent view), не переключаясь между окнами.
Честные ограничения
- Только текст. Кроссессионные сообщения — не замена для совместного контекста. Если сессии нужно передать файл или результат выполнения команды, используйте worktrees или общую файловую систему.
- Не на всех провайдерах. Кроссессионные сообщения недоступны на Bedrock, Vertex и Foundry. Если ваша команда работает через облачные провайдеры — messaging отключён.
- Prompt cache у форка — не бесплатный кеш навсегда. Кеш живёт ограниченное время. Через час-два простоя первый запрос к форку обойдётся как обычный.
- Форк не заменяет agent teams. Если нужна координация группы агентов с общим списком задач — agent teams подходят лучше, хотя пока остаются experimental.
- Windows-ограничения. Кроссессионные сообщения на нативном Windows появились позже (v2.1.234) и требуют аутентификации через токен для каждого подключения к сокету.
Ссылки
- Cross-session messaging — полная документация по кроссессионным сообщениям
- Create custom subagents — создание и настройка сабэджентов и форков
- Manage sessions — именование, возобновление и ветвление сессий
- Run agents in parallel — обзор подходов к параллельной работе
- Claude Code changelog — полный журнал изменений
Реалии для пользователей из России
Claude Code — терминальный инструмент, который общается с API Anthropic напрямую. Вот что важно знать:
- Доступность API. Anthropic API (console.anthropic.com) работает из России без VPN на момент публикации, но Anthropic не включает Россию в список поддерживаемых стран для потребительских продуктов (claude.ai Pro/Max). API-ключ для разработчиков доступен.
- Оплата. Visa и Mastercard российских банков не проходят при оплате Anthropic API. Рабочие варианты: карты_foreign-issued (Litefuu, Paysend), криптовалюта через Thirdweb или аналогичные сервисы, виртуальные карты (Kotani Pay, Dupay), зарубежные расчётные счета для ИП/ООО.
- Ограничения по региону. Кроссессионные сообщения и агенты не привязаны к региону — работают через API. Ограничения касаются потребительских планов (Pro/Max), не API.
- Задержки. При использовании прокси или VPN к API-серверам Anthropic (US-East) задержка составляет 200–400 мс на запрос. Для агентных задач это заметно: каждый ход — несколько запросов к модели. Проведение через ближний регион (если используете Bedrock или Vertex) снижает задержку, но кроссессионные сообщения на этих провайдерах не работают.
- Русскоязычные материалы. На момент публикации русскоязычных обзоров кроссессионных сообщений и сабэджентов-форков в рунете практически нет. Ключевые ресурсы — официальная документация и англоязычные обсуждения на Reddit r/ClaudeAI.
