По официальной истории выпусков Claude Code, версия 2.1.224 добавила инструменты SendMessage и ListAgents, версия 2.1.225 исправила сценарии межмашинного общения, а на 11 августа 2026 года актуальной считается версия 2.1.227 — проверьте её до настройки. (github.com)
Симптом: вы держите несколько терминалов Claude Code и вручную переносите между ними статусы, решения и результаты тестов.
Самое быстрое решение: сначала проверьте два сеанса на одной машине с macOS или Linux, разнесите задачи по отдельным Git worktree и разрешайте через SendMessage только короткие рабочие уведомления. Не воспринимайте этот канал как общую память, синхронизацию файлов или выдачу прав.
Эта статья для вас, если вы параллельно ведёте фронтенд, серверную часть и тесты, передаёте работу между несколькими терминалами или планируете разместить постоянно работающие сеансы на удалённом Mac. Если вам нужен один автономный сеанс для последовательной задачи, межсессионная схема, скорее всего, добавит лишнюю координацию.
Важно: сообщение сообщает другому сеансу о факте или решении, но не переносит весь контекст диалога. Получатель не получает автоматического разрешения выполнять команды, менять настройки или обходить собственную модель прав.
Перед запуском отделите канал сообщений от общего контекста
Главная ошибка при внедрении — ожидать от SendMessage поведения общей памяти. У двух независимых сеансов остаются разные истории, рабочие каталоги, разрешения инструментов и состояния процессов. Если отправить фразу «продолжи мою задачу», получатель может не знать, какой файл изменён, какая гипотеза проверена и какие ограничения уже обсуждались.
Используйте межсессионную связь для четырёх типов данных:
- краткий статус: «сборка завершена, ошибка воспроизводится в модуле авторизации»;
- техническое решение: «поле переименовано с
userIdнаaccountId»; - блокирующая проблема: «тесты ждут обновления схемы API»;
- событие передачи: «коммит создан в ветке
api-contract».
Не отправляйте таким способом:
- полный исходный код;
- содержимое больших логов;
- токены, ключи и персональные данные;
- неформализованные инструкции вроде «сделай всё как раньше»;
- подтверждение, что команда безопасна только потому, что её прислал другой сеанс.
Есть и другие ограничения. Во-первых, сообщения не заменяют Git: файл может измениться только в рабочем дереве, а текстовое уведомление не гарантирует, что получатель увидел последнюю версию. Во-вторых, входящее сообщение не означает автоматическое принятие команды. В-третьих, удалённая топология добавляет сетевые разрывы, а контейнеры могут скрывать процессы друг от друга.
Для базовой установки проверьте системные требования в официальном руководстве по запуску Claude Code: там указаны macOS 10.15 и новее, Ubuntu 20.04 и новее, Debian 10 и новее, Node.js 18 или новее и минимум 4 ГБ оперативной памяти. Эти параметры относятся к общему запуску продукта; для межсессионной функции дополнительно важны версия, тип подключения и поддерживаемый канал модели. (docs.anthropic.com)
Шаг первый: проверьте версию и реальную среду
Начинайте не с настройки команды, а с фиксации исходных условий. В каждом терминале выполните:
claude --version
claude doctor
Если установленная версия ниже 2.1.224, обновите её штатным способом:
claude update
После обновления полностью перезапустите оба сеанса. Функции, добавленные в новую сборку, могут не появиться в уже работающем процессе. Сверьте результат с официальным журналом выпусков Claude Code, а не с копией команды из форума или случайного поста. (github.com)
На этом этапе зафиксируйте четыре значения:
- точную версию каждого процесса;
- операционную систему и способ запуска;
- канал доступа к модели;
- включённые настройки разрешений и фоновых задач.
Для первой проверки используйте macOS или Linux на одной машине. Нативный Windows не стоит включать в базовый сценарий: даже если сам инструмент запускается, поддержка конкретной функции может отличаться. WSL — отдельная Linux-среда, и процессы внутри неё могут не обнаруживаться процессами за её пределами.
Отдельно проверьте канал предоставления модели. В официальных материалах описаны прямой доступ и корпоративные варианты через облачные платформы, однако наличие модели ещё не означает, что любой посреднический шлюз или сторонний канал поддерживает межсессионные инструменты. Если функция не появляется, сначала исключите неподдерживаемый канал, а уже потом ищите ошибку в конфигурации.
Шаг второй: за первый час подтвердите связь двух локальных сеансов
Откройте два терминала в одном проекте. Не называйте их session1 и session2: через несколько часов такие имена перестанут объяснять роль процесса. Используйте, например:
frontend-contract;backend-api;regression-tests;review-only.
Запустите Claude Code в каждом каталоге или рабочем дереве. Затем выполните:
/list-agents
Ваша задача — проверить, видят ли процессы друг друга. Если список пуст, не переходите к удалённой машине. Сначала исключите разные версии, разные пользователи, контейнеры, отдельные среды оболочки и запущенные процессы с несовместимыми настройками.
Для минимальной проверки выберите только чтение. Например, первый сеанс должен узнать у второго, завершена ли проверка схемы, не изменяя файлы. Во втором сеансе отправьте короткое сообщение через SendMessage:
Статус: схема API проверена. Изменений в рабочем дереве нет. Следующий шаг — локальный regression-тест.
Зафиксируйте, что показывает интерфейс отправителя и получателя:
- сообщение доставлено;
- сообщение ожидает обработки;
- сообщение отклонено;
- получатель недоступен;
- ответа нет после истечения разумного времени ожидания.
Не используйте в тесте исходный код или секреты. Ваша цель — доказать сам маршрут, а не проверить качество ответа модели. Если сообщение не приходит, повторите процедуру с ещё более коротким текстом и точным именем получателя.
CLI-документация подтверждает наличие команд диагностики, продолжения и восстановления сеансов, но восстановление — это отдельный механизм. Команда claude --resume возвращает вас к прежнему диалогу; она не превращает два сеанса в один общий контекст. Подробные параметры запуска собраны в справочнике CLI Claude Code. (docs.anthropic.com)
Шаг третий: разнесите параллельную работу по Git worktree
После успешной локальной проверки переходите к изменениям кода. Нельзя запускать фронтенд- и серверный сеанс в одном каталоге и надеяться, что сообщения предотвратят гонку записи. Канал связи сообщает о конфликте постфактум, но не блокирует одновременное редактирование одного файла.
Создайте отдельные рабочие деревья:
git worktree add ../project-frontend -b task/frontend
git worktree add ../project-backend -b task/backend
git worktree add ../project-tests -b task/tests
Перед командами убедитесь, что ветки не существуют, а основной каталог не содержит незакоммиченных изменений. Если у вас уже есть локальные правки, сначала определите, кому они принадлежат. Не переносите грязное рабочее дерево между агентами без явного решения.
Теперь назначьте каждому сеансу одну ответственность:
- фронтенд меняет компоненты и клиентские вызовы;
- серверный сеанс меняет обработчики и схему;
- тестовый сеанс читает изменения и запускает проверки;
- проверяющий сеанс не редактирует файлы до согласования.
Через SendMessage передавайте не «готовый код», а ссылку на состояние Git:
Контракт изменён: поле accountId добавлено в ветке task/backend. Коммит 8f31a2c. Нужен запуск регрессионных тестов для клиента.
После этого тестовый сеанс должен самостоятельно получить актуальную ветку или коммит, проверить diff и выполнить тесты. Такой порядок важен: сообщение уменьшает время ожидания, но не заменяет просмотр изменений.
Сценарий для команды
Представьте, что серверный сеанс меняет поле ответа с userId на accountId. Он отправляет уведомление фронтенду, а тестовый сеанс получает отдельное сообщение с перечнем проверок. Фронтенд обновляет свой worktree, запускает типизацию и сообщает о результате. Если тесты падают, причина передаётся обратно как блокер с конкретным именем теста.
Преимущества такого подхода:
- изменения физически разделены;
- каждую ветку можно проверить независимо;
- сообщения остаются короткими и пригодными для аудита;
- конфликт обнаруживается через Git, а не через догадки модели.
Недостатки тоже очевидны:
- требуется дисциплина именования веток;
- появляется больше каталогов и процессов;
- без правила передачи коммитов команда может создать несколько несовместимых состояний;
- частые сообщения между тесно связанными задачами иногда дороже одного последовательного сеанса.
Для общих принципов изоляции полезно сверить рабочий процесс с документацией Git по worktree. Это не функция Claude Code, а базовый механизм управления файловыми состояниями.
Сравните варианты перед расширением схемы
| Сценарий | Где работают сеансы | Что передаётся | Основной риск | Когда выбирать |
|---|---|---|---|---|
| Два локальных сеанса | Одна macOS или Linux-машина | Статусы и решения | Общий каталог | Для первого теста |
| Несколько worktree | Одна машина, разные каталоги | Коммиты, интерфейсы, результаты тестов | Расхождение веток | Для параллельного кодинга |
| Удалённая машина | Отдельный удалённый Mac или Linux-хост | Сообщения через сетевой маршрут | Разрыв связи и доступы | Для длительных задач |
| Agent Teams | Координируемый набор агентов | Задачи и результаты внутри команды | Сложнее контроль разрешений | Для повторяемых командных процессов |
| Подчинённый Agent | Один основной сеанс и дочерние задачи | Результат подзадачи | Ограниченный обмен | Для локально связанной работы |
| Восстановление сеанса | Возврат к прежнему диалогу | История конкретного сеанса | Ошибка ожиданий | Для продолжения после паузы |
Не смешивайте эти режимы. Agent Teams — это организационная модель для нескольких агентов, подчинённый Agent — дочерний процесс внутри более крупной задачи, а восстановление возвращает историю одного сеанса. Межсессионная связь соединяет независимые процессы сообщениями и не делает их единой командой автоматически.
FAQ: что проверить перед вторым этапом
Как передать короткое сообщение из одного терминала Claude Code в другой?
Запустите два независимых сеанса, задайте им понятные имена и проверьте список через /list-agents. Затем отправьте через SendMessage только статус, решение или блокирующую проблему. Получатель должен самостоятельно открыть нужную ветку или коммит. Если в сообщении требуется передать большой фрагмент кода, используйте Git, а не увеличивайте текст уведомления.
На каких системах работает межсессионное взаимодействие Claude Code?
Для базовой схемы используйте macOS или Linux. Поддержка самой функции должна проверяться отдельно от общих требований установки. Нативный Windows не включайте в гарантированный сценарий, а WSL рассматривайте как отдельную Linux-среду. При запуске в контейнере дополнительно проверьте, видят ли процессы общий IPC- и сетевой контур.
Как разделить файлы между несколькими сеансами без конфликтов?
Создайте отдельный Git worktree и ветку для каждой независимой роли. Сеанс фронтенда не должен писать в каталог сервера, а тестовый сеанс лучше сделать только читающим до момента согласования. В уведомлении указывайте имя ветки, хеш коммита, изменённый интерфейс и команду проверки. После этого проводите обычный review.
Проходит ли сообщение между сеансами через внешний сервер?
В локальном сценарии путь отличается от межмашинного: процессы находятся в одной среде и используют локальный канал обнаружения и связи. При подключении к другой машине появляется сеть, удалённый процесс и условия повторного соединения. Не делайте вывод о маршруте по одному локальному тесту. Для удалённой проверки отправьте безопасное сообщение и зафиксируйте поведение при отключении.
Что проверять, если SendMessage не доставляет уведомление?
Проверьте версию, систему, имя сеанса, вывод /list-agents, состояние получателя и контейнерные границы. Затем проверьте, не выбрано ли удержание или отклонение входящих сообщений. Повторите тест с короткой фразой без секретов. Если локальная доставка работает, а удалённая нет, ищите проблему в соединении или топологии, а не в тексте сообщения.
Шаг четвёртый: переходите к удалённым и межмашинным сеансам
К удалённой схеме переходите только после успешного локального теста. Здесь нужно различать три маршрута:
- два процесса на одной физической машине;
- локальный терминал и удалённый сеанс через удалённое управление;
- сеансы на разных машинах, которым требуется двусторонний обмен.
В третьем варианте заранее проверьте:
- одинаковую или совместимую версию Claude Code;
- доступность целевого сеанса;
- корректное имя получателя;
- сетевую доступность;
- способ аутентификации;
- правила прокси и межсетевого экрана;
- поведение после перезапуска или разрыва.
Официальная документация по сетевым ограничениям указывает, что Claude Code может работать через HTTP/HTTPS-прокси, но не поддерживает SOCKS-прокси и не использует NO_PROXY. Для ограниченных сред также требуется разрешить необходимые адреса обработки запросов и телеметрии. (docs.anthropic.com)
Не начинайте с команды, которая меняет код. Отправьте:
Проверка связи. Ответьте только: remote-session-ready.
Если ответа нет, не повторяйте сообщение десятки раз. Иначе вы получите дубли и не поймёте, какое уведомление действительно обработано. Проверьте, не остановлен ли процесс, не ждёт ли он ручного подтверждения и не находится ли он внутри контейнера с отдельным пространством процессов.
Контейнерная граница особенно важна. Процесс внутри контейнера может иметь другой каталог проекта, другой сокет и другой набор переменных окружения. Даже при одинаковом имени сеанса локальное обнаружение может не работать. В таком случае сначала документируйте топологию, затем выбирайте удалённое управление или другой подтверждённый способ связи.
Шаг пятый: ограничьте входящие сообщения и права
Безопасность схемы определяется не тем, что сообщения доставляются, а тем, что произойдёт после доставки. Разделите получателей на три класса:
- интерактивный сеанс, где человек видит запрос;
- сеанс с ослабленными подсказками разрешений;
- полностью автономная задача без постоянного оператора.
Для первого класса можно использовать режим принятия после просмотра. Для второго — удерживать входящие сообщения до ручного подтверждения. Для третьего — отказаться от межмашинного обмена, если вы не можете заранее определить допустимые действия и пределы данных.
Для чувствительных проектов разумно запрещать обнаружение и отправку сообщений между отдельными группами. Не предоставляйте удалённому сеансу возможность самостоятельно менять настройки, запускать инфраструктурные команды или использовать секреты только на основании входящего текста.
Проверьте настройки в проектном и пользовательском конфигурационных файлах. Официальные материалы по настройкам и правам описывают разрешённые и запрещённые инструменты, режимы подтверждения и осторожное применение параметров, которые пропускают запросы разрешений. Например, флаг --dangerously-skip-permissions прямо предназначен только для осторожных сценариев и не должен становиться способом «починить» доставку сообщения. (docs.anthropic.com)
Перед запуском команды в долгоживущей среде отметьте:
- кто может отправлять сообщения;
- кто может их принимать;
- какие проекты видит каждый сеанс;
- какие инструменты разрешены без подтверждения;
- где хранятся журналы;
- кто отвечает за остановку процесса.
Входящее сообщение не должно расширять эти права. Если получатель не может выполнить команду в интерактивном режиме без подтверждения, SendMessage не должен менять это правило.
Шаг шестой: за первую неделю измерьте стоимость координации
Не оценивайте внедрение по ощущению, что терминалов стало больше. В течение первой недели ведите простой журнал:
- количество отправленных сообщений;
- доля доставленных уведомлений;
- число ручных подтверждений;
- повторные сообщения;
- конфликты Git;
- время ожидания ответа;
- время простоя каждого сеанса;
- количество задач, возвращённых на последовательное выполнение.
Оценивайте не только скорость, но и качество передачи. Сообщение считается полезным, если его достаточно для следующего действия без повторного пересказа всей задачи. Если получатель регулярно отвечает «пришлите контекст», канал не снижает координационную нагрузку.
Оставьте многосессионную схему, если:
- задачи действительно независимы;
- у каждого процесса свой worktree;
- сообщения короткие и редкие;
- тестирование выполняется отдельно;
- ручные разрешения остаются контролируемыми.
Вернитесь к одному сеансу или подчинённым агентам, если:
- несколько процессов постоянно меняют один файл;
- шаги выполняются строго последовательно;
- сообщения идут чаще, чем изменения проходят проверку;
- команда не может определить актуальную ветку;
- удалённые процессы часто теряют соединение.
Только после этого принимайте решение о постоянно работающей среде. Для длительных задач на удалённом Mac учитывайте не рекламное число сеансов, а реальную нагрузку: размер проекта, частоту тестов, фоновые процессы, рабочие деревья и продолжительность онлайн-работы. Отдельный хост оправдан, когда несколько сеансов должны работать независимо от сна личного компьютера, смены пользователя или часового пояса.
Текущая машина или удалённый Mac: где разумнее продолжать
Локальный компьютер удобен для коротких задач, личного контроля и работы с физическими устройствами. Но он имеет три заметных недостатка: сон или перезагрузка прерывают долгие процессы, несколько worktree быстро расходуют локальное дисковое пространство, а параллельные тесты конкурируют с вашей основной разработкой за память, процессор и сетевой канал.
Удалённый Mac устраняет часть этих ограничений: сеансы можно оставить запущенными, разделить по рабочим каталогам и передавать между участниками команды. Но аренда не является универсальным ответом. Если вам нужен постоянный тяжёлый workload на месяцы, физический USB-доступ или предсказуемая локальная интеграция с устройствами, покупка собственного компьютера может оказаться рациональнее.
Если же задача состоит в краткосрочной проверке межсессионной связи, запуске нескольких Claude Code, ночном тестировании или передаче работы между часовыми поясами, аренда через kvmsync обычно практичнее, чем держать основной компьютер включённым круглосуточно. Перед выбором посмотрите справку kvmsync по удалённым средам, сравните условия на странице аренды Mac и затем проверьте, соответствует ли выбранная среда числу сеансов и вашему сроку работы.
Начните с двух локальных терминалов, рабочих деревьев и безопасного сообщения. Если через неделю журнал показывает меньше конфликтов и ручных пересказов, переносите ту же схему на удалённый Mac — без расширения прав и без превращения SendMessage в замену Git или человеческой проверки.
Частые вопросы
Как передать короткое сообщение из одного терминала Claude Code в другой?
Сначала запустите два независимых сеанса в одной рабочей среде и задайте им разные имена, отражающие роль: например, frontend и tests. Выполните /list-agents, убедитесь, что оба процесса видны, затем используйте SendMessage для передачи короткого статуса, решения или блокирующей проблемы. Не отправляйте через этот канал файлы, секреты или полный журнал диалога.
На каких системах работает межсессионное взаимодействие Claude Code?
Для первой проверки выбирайте macOS или Linux. Именно на этих системах проще контролировать локальные процессы, сокеты и рабочие каталоги. Нативный Windows для описанной функции не следует считать поддерживаемой средой; WSL образует отдельную Linux-среду и может иметь другие ограничения обнаружения. Всегда сверяйте установленную версию с актуальной официальной документацией.
Как разделить файлы между несколькими сеансами без конфликтов?
Создайте отдельный Git worktree для каждой роли или задачи: интерфейс, сервер и тестирование не должны редактировать один каталог одновременно. Через SendMessage передавайте только имя ветки, изменённые интерфейсы, состояние коммита и результат проверки. Сами файлы должны проходить через Git, pull request или другой контролируемый процесс, а не через текстовые сообщения.
Проходит ли сообщение между сеансами через внешний сервер?
Путь зависит от топологии. На одной машине обнаружение и обмен связаны с локальными процессами и каналами связи. При взаимодействии между машинами появляется сетевой маршрут, удалённая сессия и дополнительные условия подключения. Поэтому не переносите локальные выводы на удалённый сценарий: сначала отправьте безвредное тестовое сообщение, проверьте имя получателя, ответ и поведение после разрыва соединения.
Что проверять, если SendMessage не доставляет уведомление?
Проверьте пять вещей: минимальную версию Claude Code, операционную систему, точное имя сеанса, видимость через /list-agents и состояние получателя. Затем исключите контейнерную изоляцию, остановленный процесс, запрет входящих сообщений и неподдерживаемый канал предоставления модели. Повторите проверку коротким сообщением без кода и секретов, фиксируя статус «доставлено», «ожидает» или «отклонено».
Читать также
Удалённый узел kvmsync M4
Запустите многосессионную разработку на удалённых Mac
С kvmsync вы получите удалённый Mac для параллельного запуска нескольких сессий Claude Code в удобном рабочем окружении.