claude-code-notifier
как это работает руководства вопросы
◐Русский
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Начать
Все руководства

Несколько сессий Claude Code: как понять, какой из них нужны Вы

Обновлено 31 октября 2026 г. · 6 мин чтения
на этой странице 01Почему в параллельных сессиях легко запутаться 02Сначала как следует разделите сессии 03Указывайте проект в каждом самодельном уведомлении 04Самое сложное: ответить нужной сессии 05FAQ

Когда одновременно запущено несколько сессий Claude Code, простого уведомления «Claude требует Вашего внимания» недостаточно: непонятно, какая сессия его отправила. Решение — указывать проект или папку сессии в каждом уведомлении. Каждый hook получает cwd и session_id сессии в формате JSON, так что hook может прочитать их и добавить название проекта в уведомление. Давайте сессиям понятные имена через claude -n <name> или /rename и используйте claude --worktree <name>, чтобы у каждой параллельной сессии в одном репозитории была своя папка — она и будет видна в уведомлении.

01Почему в параллельных сессиях легко запутаться

Запускать две-три сессии Claude Code параллельно — теперь обычная практика: одна исправляет баг, другая пишет тесты, третья пробует рефакторинг. Каждая останавливается в своём темпе. Проблемы всегда одни и те же:

  • приходит уведомление, и непонятно, из какой вкладки terminal;
  • одна сессия двадцать минут ждёт ответа на prompt, пока Вы следите за другой;
  • Вы отвечаете не в том окне.

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

02Сначала как следует разделите сессии

Используйте worktrees для одного репозитория

Две сессии, редактирующие один и тот же checkout, будут затирать изменения друг друга. Флаг --worktree в Claude Code (сокращённо -w) создаёт изолированный git worktree и запускает сессию в нём:

claude --worktree feature-auth
claude --worktree fix-login

По умолчанию каждый worktree создаётся в .claude/worktrees/<name>/ в корне репозитория, на новой ветке worktree-<name>. Запускайте каждую команду в отдельном terminal. Добавьте .claude/worktrees/ в .gitignore, чтобы worktrees не отображались как неотслеживаемые файлы.

При выходе Claude Code проверяет worktree. Если в нём нет изменений и Вы не давали сессии имя, Claude Code удаляет worktree и его ветку; иначе спрашивает, сохранить ли его. Чтобы позже вернуться к сохранённому worktree, выполните команду claude --worktree <name> --resume, которую он выводит при выходе. Если Вы предпочитаете управлять worktrees сами, подойдёт и git worktree add ../project-feature-a -b feature-a; затем запустите claude в этой папке.

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

Давайте сессиям имена

С именами сессии легко найти и возобновить:

claude -n auth-refactor

Внутри запущенной сессии то же самое делает /rename auth-refactor, и имя появляется в строке prompt. Позже claude --resume auth-refactor сразу вернёт Вас в неё. В списке сессий (claude --resume без имени) Ctrl+W расширяет список на все worktrees репозитория.

03Указывайте проект в каждом самодельном уведомлении

Каждый command hook получает на стандартный ввод JSON с общими для всех событий полями, включая session_id, cwd, transcript_path и hook_event_name. В сессии в worktree cwd — это корень worktree, и он меняется, если Claude переходит в другую директорию. Прочитайте его в hook и используйте последнюю часть пути как метку.

На Mac и Linux сохраните это как ~/.claude/hooks/notify-session.sh и сделайте файл исполняемым через chmod +x. Потребуется jq.

#!/bin/sh
input=$(cat)
project=$(basename "$(printf '%s' "$input" | jq -r '.cwd')")
event=$(printf '%s' "$input" | jq -r '.hook_event_name')

case "$event" in
  Stop) msg="Claude has finished" ;;
  *)    msg="Claude needs you" ;;
esac

notify-send "Claude Code: $project" "$msg"

На Mac замените последнюю строку на уведомление через osascript, как показано в руководстве по macOS. В Windows читайте тот же JSON в PowerShell с помощью ConvertFrom-Json; полный пример есть в руководстве по Windows.

Затем зарегистрируйте его для нужных событий в ~/.claude/settings.json:

{
  "hooks": {
    "Stop": [
      { "hooks": [{ "type": "command", "command": "~/.claude/hooks/notify-session.sh" }] }
    ],
    "Notification": [
      { "matcher": "permission_prompt", "hooks": [{ "type": "command", "command": "~/.claude/hooks/notify-session.sh" }] }
    ]
  }
}

Два замечания о путях. Берите переменные вроде "$input" в кавычки: в именах папок могут быть пробелы. А если Вы ссылаетесь на скрипт через ${CLAUDE_PROJECT_DIR}, помните, что эта переменная указывает на папку, где началась сессия, даже после того как Claude перейдёт в worktree. Если нужна текущая папка, читайте cwd из входных данных.

Если Вы работаете в tmux, панель или окно часто подходят для метки лучше, чем папка. В руководстве по tmux показано, как найти нужную панель и переключиться на неё.

04Самое сложное: ответить нужной сессии

Уведомление с меткой подскажет, какой сессии Вы нужны. Но чтобы ответить, всё равно придётся добраться до этого терминала. При трёх сессиях это значит найти нужную вкладку, прокрутить до prompt и ввести ответ. Самодельный hook не может просто так отправить Ваш ответ обратно: вернуть решение в Claude Code может только тот hook, который ждёт внутри этой сессии.

Именно этот пробел закрывает Claude Code Notifier. Это независимый инструмент, не от Anthropic. Его утилита командной строки ccn устанавливается как hooks Claude Code на Mac, Windows и Linux, поэтому охватывает каждую запущенную сессию в любом терминале без настройки для каждой из них. В каждом уведомлении указаны имя и папка проекта, так что на iPhone или Android видно, какая сессия его отправила. Поскольку ответа ждёт тот самый hook, который отправил запрос, одобрение, выбор или дальнейшая инструкция с телефона возвращаются в ту сессию, которая спрашивала.

Несколько деталей, важных при работе с несколькими сессиями:

  • Несколько компьютеров. Один телефон можно связать с несколькими компьютерами, а компьютер — с несколькими телефонами. ccn devices показывает телефоны, связанные с этим компьютером.
  • Присутствие. Если Вы печатали в последние 30 секунд, телефон не ждут, и терминал спрашивает как обычно. Если Вас нет на месте, сессия ждёт ответа с телефона до заданного Вами предела (hold_ceiling_seconds) и перестаёт ждать, как только Вы коснётесь клавиатуры.
  • Уведомления на компьютере без телефона. Пока телефон не связан, ccn показывает уведомление на компьютере, когда любая сессия завершает работу, запрашивает разрешение или задаёт вопрос.

Если Вы запускаете только одну сессию и сидите за столом, скорее всего, Вам хватит уведомления на компьютере с меткой. В сравнительном руководстве варианты сопоставлены рядом.

05FAQ

Как понять, какая сессия Claude Code отправила уведомление?

Прочитайте поле cwd из JSON-входа hook и подставьте имя папки в заголовок уведомления. С worktrees у каждой сессии своя папка, так что имя будет уникальным. Инструменты вроде Claude Code Notifier сами добавляют имя и папку проекта в каждое уведомление.

Можно ли запустить две сессии Claude Code в одном репозитории?

Да, но дайте каждой свой worktree, чтобы их правки не конфликтовали. claude --worktree <name> создаёт его в .claude/worktrees/<name>/ на новой ветке и запускает там сессию.

Как назвать сессию Claude Code?

Запустите её командой claude -n <name> или выполните /rename <name> внутри сессии. Позже её можно продолжить через claude --resume <name>.

Запускаются ли hooks отдельно для каждой сессии?

Да. Каждая сессия запускает свои hooks при срабатывании своих событий и передаёт во входных данных свои session_id и cwd. Hooks из ~/.claude/settings.json действуют для всех запускаемых Вами сессий.

Не перепутаются ли уведомления с разных компьютеров?

С ccn — нет. Каждый компьютер связывается с телефоном отдельно и имеет своё имя, а в каждом уведомлении указан проект, из которого оно пришло.

Claude Code Notifier Получайте push на телефон, когда Claude Code завершает работу или ждёт Вас, и подтверждайте, отклоняйте или отвечайте прямо оттуда. Утилита командной строки ccn бесплатна для Mac, Windows и Linux.
Скачать для iOS Скачать для Android Установить ccn

Похожие руководства

  • Hooks в Claude Code: все события и их назначениеЧто такое hooks в Claude Code, где они задаются в settings.json, как работают matchers, входные данные и коды выхода и для чего нужно каждое событие.
  • Claude Code в tmux или screen: уведомления из отсоединённой сессииПолучайте уведомления, когда Claude Code в tmux или screen завершает работу или ждёт Вас: allow-passthrough, сигнал bell, именование сессий и push на телефон в отсоединённом режиме.
  • Все способы получать уведомления Claude Code: сравнениеВстроенные оповещения, собственные hooks, ntfy и webhooks чатов, Remote Control от Anthropic и приложения-уведомители: что каждый вариант умеет и чего не умеет.
  • Запустите Claude Code и отойдите: рабочий процессПрактичный порядок действий для долгих задач Claude Code: не давайте компьютеру уснуть, уберите лишние запросы, получайте уведомления на телефон и отвечайте прямо с него.
claude-code-notifier

Claude Code Notifier — независимое стороннее приложение. Оно не связано с Anthropic, PBC, не одобрено и не спонсируется ею. «Claude» и «Claude Code» являются товарными знаками Anthropic, PBC.

приложения Приложение для iOS Приложение для Android ccn для macOS, Windows и Linux Все руководства
правовая информация Политика конфиденциальности Условия использования Другие языки © 2026 touchtap. Все права защищены. TouchTap Ltd зарегистрирована в Англии и Уэльсе, регистрационный номер 13942589.