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

Уведомления Claude Code в macOS

Обновлено 31 октября 2026 г. · 6 мин чтения
на этой странице 01Что Claude Code делает сам 02Hook уведомлений с osascript 03Узнавайте сразу, когда Claude закончил 04Показ реального сообщения 05terminal-notifier: возврат в терминал по клику 06Фокусирование и «Не беспокоить» 07Место Claude Code Notifier 08FAQ

На macOS Claude Code уже отправляет системное уведомление в Ghostty, Kitty и iTerm2 (в iTerm2 нужно включить настройки оповещений), но в Apple Terminal и большинстве других терминалов ничего не происходит. Чтобы получать уведомления в любом терминале, добавьте в ~/.claude/settings.json hook Notification, который запускает osascript -e 'display notification ...', а также hook Stop, если хотите узнавать о завершении работы Claude сразу. Разрешите уведомления для «Редактора скриптов» (Script Editor) в системных настройках, иначе команда osascript молча завершится ошибкой.

01Что Claude Code делает сам

Claude Code генерирует событие уведомления, когда завершает задачу или ждёт разрешения, а Вы, судя по всему, отошли от терминала. Что именно Вы увидите, зависит от терминала — согласно руководству Anthropic's по терминалам:

ТерминалПоведение по умолчанию
Ghostty, KittyУведомление macOS
iTerm2Уведомление macOS после включения настроек оповещений
Apple TerminalБез звука. Максимум — беззвучный сигнал (bell): мигание окна или подпрыгивание значка в Dock, если это разрешено в профиле
Другие (терминал VS Code, Warp и т. д.)Ничего

В iTerm2 откройте Settings > Profiles > Terminal, отметьте Notification Center Alerts, затем нажмите Filter Alerts и включите Send escape sequence-generated alerts. Также убедитесь, что iTerm2 разрешено отправлять уведомления в System Settings > Notifications.

В Apple Terminal можно получить хотя бы звук. Укажите "preferredNotifChannel": "terminal_bell" в ~/.claude/settings.json и включите Audible bell в разделе Settings > Profiles > Advanced. Подробнее об этом способе — в руководстве по terminal bell.

У встроенного оповещения есть ограничения. Оно срабатывает, только когда Claude Code считает, что Вас нет на месте, сообщает лишь о том, что что-то произошло, и никогда не выходит за пределы компьютера.

02Hook уведомлений с osascript

Hook работает в любом терминале, включая терминалы IDE. Ниже — пример для macOS из руководства Anthropic's по hooks. Добавьте его в ~/.claude/settings.json, сохранив уже имеющиеся ключи:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

Введите /hooks в Claude Code, чтобы убедиться, что он отображается в разделе Notification.

Разрешение для Script Editor

osascript отправляет уведомления от имени Script Editor. Если у Script Editor нет разрешения на уведомления, команда молча завершается ошибкой, а macOS ничего не спрашивает. Выполните один раз в Terminal:

osascript -e 'display notification "test"'

В первый раз ничего не появится. Откройте System Settings > Notifications, найдите Script Editor и включите Allow Notifications. Запустите команду снова — тестовое уведомление должно появиться.

Когда срабатывает

Пустой matcher срабатывает на все типы уведомлений. Важнее всего два: permission_prompt (Claude около шести секунд ждёт одобрения, а Вы ничего не вводили) и idle_prompt (Claude закончил около 60 секунд назад, и с тех пор Вы ничего не вводили). Все типы и их тайминги перечислены в руководстве по Notification hook.

03Узнавайте сразу, когда Claude закончил

idle_prompt ждёт минуту. Чтобы получать оповещение сразу, добавьте hook Stop — он запускается, когда Claude завершает свой ход. Stop не принимает matcher:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude has finished\" with title \"Claude Code\" sound name \"Glass\"'"
          }
        ]
      }
    ]
  }
}

В sound name можно указать любой звук из /System/Library/Sounds, например Glass, Ping или Hero. Если нужен только звук, в качестве команды подойдёт afplay /System/Library/Sounds/Glass.aiff. Подробнее об этом событии — в руководстве по Stop hook.

04Показ реального сообщения

Hooks получают JSON через стандартный ввод. Во входных данных Notification есть поле message, например «Claude needs your permission». Небольшой скрипт может вывести этот текст в уведомлении. Сохраните его как ~/.claude/hooks/notify-mac.sh:

#!/bin/bash
msg=$(jq -r '.message // "Claude Code needs your attention"')
osascript -e 'on run argv' \
  -e 'display notification (item 1 of argv) with title "Claude Code"' \
  -e 'end run' "$msg"

Текст передаётся аргументом, а не внутри строки AppleScript, поэтому кавычки в сообщении не сломают команду. Сделайте файл исполняемым с помощью chmod +x ~/.claude/hooks/notify-mac.sh и укажите в качестве команды hook ~/.claude/hooks/notify-mac.sh. Скрипту нужен jq (выполните brew install jq, если jq --version выдаёт ошибку).

05terminal-notifier: возврат в терминал по клику

Уведомление от osascript по клику открывает Script Editor, а это совсем не то, что нужно. terminal-notifier позволяет выбрать приложение, которое будет активировано:

brew install terminal-notifier
terminal-notifier -title "Claude Code" -message "Claude has finished" -sound default -activate com.googlecode.iterm2

Используйте com.apple.Terminal для Apple Terminal или bundle ID Вашего редактора. Та же команда указывается в поле command hook. При первом запуске разрешите уведомления для terminal-notifier в системных настройках.

06Фокусирование и «Не беспокоить»

Все эти уведомления — обычные уведомления macOS, поэтому режим фокусирования может их скрывать. Если они пропадают в определённое время, проверьте System Settings > Focus и разрешите приложение, которое их отправляет (Script Editor, terminal-notifier или Ваш терминал). Если нужны уведомления, учитывающие Ваш собственный график, см. тихие часы и «Не беспокоить».

07Место Claude Code Notifier

Описанные выше hooks отлично подходят, если Вы сидите за Mac и Вам нужно лишь короткое напоминание. Но когда Вы отходите, их уже недостаточно: уведомление на Mac не дойдёт до Вас на кухне и не позволит ответить Claude.

Claude Code Notifier — независимый инструмент (от TouchTap, а не от Anthropic), построенный на тех же hooks. Его бесплатная утилита командной строки ccn работает на Mac, Windows и Linux. Установите её на Mac командой:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

или через Homebrew: brew trust --formula touch-tap/tap/ccn && brew install touch-tap/tap/ccn. Утилита добавляет свои записи hooks в ~/.claude/settings.json, не трогает остальную часть файла и сохраняет резервную копию. После этого она показывает уведомление macOS, когда Claude завершает работу, запрашивает разрешение или задаёт вопрос, — без сети и без телефона.

Если подключить iPhone или телефон на Android, те же события будут приходить как push-уведомления, а с телефона можно разрешить или отклонить запрос, выбрать ответ на вопрос Claude или отправить следующую инструкцию. Если Вы что-то вводили в последние 30 секунд, терминал спросит как обычно, и на телефоне ничего ждать не будет. См. подключение телефона и страницу ccn. Для мобильных приложений нужна подписка или пожизненная покупка; см. цены.

Если Вы установили ccn, удалите собственные hooks с osascript, иначе на каждое событие будет приходить по два уведомления. Существует также более старое приложение для строки меню Mac; не запускайте его одновременно с ccn на одном Mac.

08FAQ

Почему мой osascript hook ничего не показывает?

Чаще всего у Script Editor нет разрешения на уведомления, и macOS молча отбрасывает уведомление без ошибки. Выполните один раз osascript -e 'display notification "test"', затем разрешите Script Editor в System Settings > Notifications. Если не помогло, убедитесь, что не включён режим Focus и что /hooks показывает Ваш hook.

Отправляет ли Claude Code уведомления macOS без настройки?

Да, в Ghostty и Kitty, а также в iTerm2, если включены уведомления Notification Center. Apple Terminal и терминалы IDE по умолчанию не показывают уведомлений на рабочем столе, поэтому там используйте hook или ccn.

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

Используйте Stop hook. Уведомление idle_prompt срабатывает лишь примерно через 60 секунд после того, как Claude закончит, и только если Вы ничего не вводили, а Stop выполняется в конце каждого хода.

Можно ли получать звук вместо баннера?

Да. Укажите afplay /System/Library/Sounds/Glass.aiff как команду hook или добавьте sound name "Glass" в команду osascript, чтобы получить и то и другое.

Можно ли подтвердить разрешение прямо из уведомления macOS?

Нет, osascript и terminal-notifier только показывают текст. Чтобы отвечать на запрос разрешения из hook, нужно событие PermissionRequest; см. ответ на запросы разрешений из hook или подтверждайте с телефона через Claude Code Notifier.

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

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

  • Notification hook в Claude Code: когда срабатывает и как использоватьКогда срабатывает Notification hook в Claude Code, что означают permission_prompt и idle_prompt, какие входные данные он получает и почему срабатывает с задержкой.
  • Stop hook в Claude Code: запуск команды, когда Claude заканчивает работуКак работает Stop hook в Claude Code, какие данные он получает, как запустить команду, когда Claude заканчивает работу, и как безопасно заставить Claude продолжить.
  • Встроенные уведомления Claude Code: звонок терминала и preferredNotifChannelКак работают встроенные оповещения Claude Code, что делает каждое значение preferredNotifChannel и как настроить iTerm2, Apple Terminal, Kitty, Ghostty и tmux.
  • Не работают уведомления Claude Code? Чек-листHooks не срабатывают или нет оповещения, когда Claude Code заканчивает работу? Пройдите по этому чек-листу: от /hooks и debug-лога до ccn doctor и ccn test.
claude-code-notifier

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

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