cc-notifier CLI
Хуки для Claude Code на macOS: уведомление возвращает в прежнее окно терминала, а при простое приходит push на телефон.
- 113 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Хуки выполняют команды на вашей машине при каждом событии Claude Code.
- Hammerspoon получает разрешение специальных возможностей macOS, а Pushover принимает название каталога проекта.
Установка
- Работает в
Ручная установка
git clone https://github.com/trentmcnitt/cc-notifier.git
cd cc-notifier
./install.shПеред этим ставят Hammerspoon и `terminal-notifier` через `brew`, затем добавляют хуки в `~/.claude/settings.json`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Хуки выполняют команды на вашей машине при каждом событии Claude Code.
- Hammerspoon получает разрешение специальных возможностей macOS, а Pushover принимает название каталога проекта.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
cc-notifier подключается к Claude Code через хуки `SessionStart`, `Stop`, `Notification` и `SessionEnd`. При старте сессии запоминается окно в фокусе, а когда агент закончил задачу или ждет разрешения, сравнивается текущее окно с исходным. Если вы ушли в другое окно, вкладку iTerm2 или сеанс tmux, показывается уведомление macOS. Клик по уведомлению через Hammerspoon возвращает в то же окно, даже на другом рабочем столе, а в iTerm2 и в ту же вкладку. По SSH скрипт проверяет простой терминала и шлет push через Pushover со ссылкой, которая открывает сеанс на телефоне в Blink Shell. Хуки завершаются сразу, а работа идет в фоне. Код целиком состоит из одного файла на Python и обертки на bash.
Для кого. Пользователям Claude Code на macOS, которые параллельно работают в других окнах и не хотят проверять терминал вручную.
Подходит, если
- Длинная задача идет в терминале, а вы читаете почту или документацию в другом окне.
- Claude Code остановился на запросе разрешения, и уведомление должно сразу вернуть к нужному окну.
- Сессия идет на удаленной машине по SSH, а уведомление нужно на телефон.
- Несколько сессий работают в разных вкладках iTerm2, и надо вернуться в свою.
Не подходит, если
- Рабочая машина не macOS: локальный режим использует Hammerspoon и уведомления macOS.
- Claude Code запускают без присмотра по расписанию: для таких запусков хуки отключают переменной `CC_NOTIFIER_DISABLE=1`.
- Доступ Hammerspoon к специальным возможностям выдавать нежелательно по политике безопасности.
Пример запроса к агенту
Запусти тесты и пиши в терминал только итог, а я пока займусь почтой: пришли уведомление, когда закончишь.Ограничения
Локальный режим требует macOS, Python 3.9 и новее, Hammerspoon с разрешением в разделе специальных возможностей и `terminal-notifier`. Без разрешения не работают возврат в окно и определение ухода из него. Удаленный режим по SSH работает только с Pushover, которому передаются название каталога и ссылка. Хуки в `~/.claude/settings.json` добавляют вручную, а `init` запоминает окно, которое было в фокусе в момент запуска сессии. По SSH окно не отслеживается.
Как отключить. Выполните `uninstall.sh` из репозитория и удалите хуки из `~/.claude/settings.json`. Для отдельных запусков достаточно `CC_NOTIFIER_DISABLE=1`.
Частые вопросы
Когда cc-notifier показывает уведомление?
Когда Claude Code закончил задачу или ждет разрешения, а вы переключились на другое окно, вкладку iTerm2 или сеанс tmux. Если окно в фокусе, уведомления нет.
Нужен ли Pushover?
На десктопе нет, он только добавляет push при простое. В режиме SSH Pushover обязателен, потому что это единственный канал уведомлений.
Какие хуки прописывать?
`SessionStart` с командой `init`, `Stop` и `Notification` с командой `notify` и `SessionEnd` с командой `cleanup`, все из `$HOME/.cc-notifier/cc-notifier`.
Как включить журнал для отладки?
Добавьте флаг `--debug` к командам хуков: журнал пишется в `~/.cc-notifier/cc-notifier.log`, а уведомления получают пометку отладки.
Можно ли задать свой заголовок уведомления?
Да, переменная `CC_NOTIFIER_TITLE_FORMAT` принимает шаблон вроде `{hostname}: {dir}`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыCode-Notify присылает уведомление на рабочий стол, когда Claude Code, Codex или Gemini CLI закончили задачу или ждут вашего ответа
Agent Notifications, плагин оповещений, показывает проект и ветку в сообщениях Claude Code и Codex для параллельных задач.
Индикатор в строке меню macOS: показывает, думает ли Claude Code, ждет ли вашего разрешения и сколько идет текущий ответ
Звуковые сигналы для хуков кодинг-агентов: старт, ошибка, завершение и даже разные команды Bash звучат по-своему
Локальный голосовой слой для Claude Code и Codex на macOS: когда агент закончил работу или упал, коротко говорит, что случилось
tmux-claude-hatch — Claude Code во всплывающем окне tmux
tmux-claude-hatch
Плагин tmux запускает сессию Claude Code во всплывающем окне на каждый проект и показывает статус всех агентов в списке fzf
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| cc-notifier (эта карточка) | нет | 113 | |
| Code-Notify | нет | 291 | шлет уведомление при завершении задачи; cc-notifier еще возвращает в то же окно и вкладку и отправляет push на телефон |
| Agent Notifications | нет | 823 | плагин подписывает сообщения проектом и веткой; cc-notifier отвечает за уход из окна и возврат в него |
Коротко о README
Установка идет в два шага: зависимости через `brew` и `./install.sh` из клонированного репозитория, затем хуки в настройках Claude Code. Есть таблицы флагов и переменных окружения, режим для телефона и раздел по устранению неполадок. Репозиторий проходит CI на Python с 3.9 по 3.14.