Claude Code 2.1.224 позволяет одной сессии написать другой
Обмен сообщениями между сессиями появился 2026-08-07. ListAgents и SendMessage передают обычный текст между вашими сессиями, а crossSessionInbound решает, что до них дойдёт.
Два терминала, один репозиторий. Тот, что выполняет миграцию, только что переименовал колонку, к которой второй всё ещё пишет запросы. До прошлой недели решением были вы сами, копируя текст из одного окна в другое. Claude Code 2.1.224, выпущенный 2026-08-07, закрывает этот разрыв: одна сессия может передать сообщение другой сессии на той же машине.
ListAgents находит, SendMessage доставляет
Работу делают два инструмента, и ни один из них вы не вызываете. ListAgents перечисляет агентов, до которых сессия может дотянуться, SendMessage адресует одного из них по имени. Вы описываете намерение:
Tell the session working on the payments API that the tenant_id column landed
Текст сообщения Claude пишет сам. Чтобы посмотреть список самому, выполните /list-agents, у команды есть и псевдоним /peers. Сессия отзывается на имя, заданное через --name или /rename; если имя не задано, Claude Code выводит его из рабочего каталога, например myapp-3f.
Доставка в пределах одной машины идёт через отдельный Unix-сокет для каждой сессии и никогда не проходит через серверы Anthropic. /status показывает путь в строке Peer address, а хуки и команды Bash получают его как CLAUDE_CODE_MESSAGING_SOCKET, и именно так скрипт пишет обратно в породившую его сессию.
Требования узкие: v2.1.224 или новее, macOS или Linux (WSL 2 подходит, нативный Windows нет), и это не работает на Amazon Bedrock, Google Cloud’s Agent Platform и Microsoft Foundry.
Что канал отказывается переносить
Сообщение состоит из обычного текста. Не история диалога, не файлы, не разрешения. При получении Claude Code сообщает принимающей сессии, что текст пришёл от другого агента, а не от вас, и у этой рамки есть зубы: сообщение не может ответить на ожидающий запрос разрешения, не может уговорить получателя переписать CLAUDE.md или его правила разрешений, а /compact в теле приходит как безобидный текст, а не как команда.
Обработка входящих задаётся настройкой crossSessionInbound с тремя значениями: accept, hold и refuse. Если ничего не задано, Claude Code решает по каждому сообщению, сравнивая классы режимов разрешений двух сессий. Сессия в режиме bypassPermissions придерживает всё, что прислала спрашивающая сессия, а спрашивающая сессия придерживает всё, что прислала пропускающая запросы. Придержанные сообщения открывают диалог подтверждения, который истекает через пять минут и настраивается через dialogExpiry.
Именно это поведение по умолчанию объясняет, почему headless-воркер замолкает. Сессия claude -p привязывает сокет входящих и появляется в списке, но не может показать диалог подтверждения, поэтому придержанное сообщение так и остаётся придержанным. Задайте ей явный accept в значении --settings:
{
"crossSessionInbound": "accept"
}
Отключение выглядит зеркально, и администраторы могут навязать его через управляемые настройки:
{
"permissions": {
"deny": ["SendMessage", "ListAgents"]
},
"crossSessionInbound": "refuse"
}
Запрет SendMessage заодно убирает обмен сообщениями с субагентами и с участниками команды агентов, поскольку один и тот же инструмент обслуживает оба случая. Если вы полагаетесь на трёхуровневую вложенность, которую вернула версия 2.1.219, это правило запрета обойдётся дороже, чем кажется.
Между машинами, днём позже
Версия 2.1.225, выпущенная 2026-08-08, расширяет охват. Согласно changelog, SendMessage теперь может начать разговор по имени с вашими сессиями Remote Control на других машинах, а ListAgents показывает их как name [ref]. До этого трафик между машинами был только ответным, и именно так его по-прежнему описывает документация.
Такие сообщения действительно идут через серверы Anthropic по соединению Remote Control, поэтому для них есть выключатель. Значение true у isolatePeerMachines требует вашего явного одобрения, прежде чем что-либо покинет машину, даже в режиме bypassPermissions, и true из любой области настроек имеет приоритет.
Разрастание переписки ограничивает сам транспорт, а не хорошее поведение: повторы ограничиваются по частоте для каждого отправителя, одинаковые внутри короткого окна отбрасываются, и в очереди непрочитавшей сессии держится не более 50 принятых сообщений.
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.