В Claude Code есть встроенное уведомление: когда Claude завершает работу или ждёт ответа на запрос разрешения, а Вас, судя по всему, нет на месте, он оповещает Вас через терминал. Способ определяет настройка preferredNotifChannel. Значение по умолчанию, "auto", отправляет уведомление на рабочий стол в iTerm2, Ghostty и Kitty и ничего не делает в большинстве других терминалов. Установите "terminal_bell", чтобы в любом терминале звучал символ звонка, — через /config (там настройка называется Local notifications) или в ~/.claude/settings.json.
01Быстрое решение
Если по завершении работы Claude Вы ничего не слышите, добавьте в ~/.claude/settings.json:
{
"preferredNotifChannel": "terminal_bell"
}
Затем убедитесь, что Ваш терминал реагирует на звонок: воспроизводит звук, подпрыгивает значком в Dock, мигает вкладкой или показывает уведомление. Это настраивается в самом терминале, а не в Claude Code. На Mac, Windows и Linux в настройках большинства терминалов есть раздел «bell» или «alert».
02Все значения preferredNotifChannel
"auto" (по умолчанию)Уведомление на рабочем столе в iTerm2, Ghostty и Kitty. В Apple Terminal — символ звонка, но только если в профиле отключён звуковой сигнал. В остальных терминалах — ничего"terminal_bell"Подаёт символ звонка в любом терминале"iterm2"Отправляет уведомление iTerm2 на рабочий стол"iterm2_with_bell"Уведомление iTerm2 на рабочем столе плюс звонок"kitty"Отправляет уведомление Kitty на рабочий стол"ghostty"Отправляет уведомление Ghostty на рабочий стол"notifications_disabled"Ничего не отправляетНастройку можно указать в любом файле настроек: пользовательском (~/.claude/settings.json), проектном (.claude/settings.json) или локальном (.claude/settings.local.json). Старые версии хранили её в ~/.claude.json, и Claude Code по-прежнему читает оставшееся там значение.
03Когда срабатывает встроенное уведомление
Согласно документации Anthropic, встроенное оповещение срабатывает в те же моменты, что и hook Notification. В сеансе терминала:
- Запрос разрешения: когда запрос ждёт около шести секунд без нажатия клавиш. Каждое нажатие запускает отсчёт заново.
- Завершение: примерно через 60 секунд после остановки Claude, и только если Вы с тех пор ничего не вводили и не работает ни один фоновый агент.
Таким образом, встроенное оповещение о завершении намеренно приходит не сразу. Оно рассчитано на то, чтобы найти Вас, когда Вы отошли, а не дёргать, пока Вы смотрите на экран. Если нужно оповещение сразу по окончании хода, используйте hook Stop (см. руководство по Stop hook).
04Настройка по терминалам
iTerm2 (macOS)
iTerm2 по умолчанию получает уведомление на рабочий стол, но показывает его только после того, как Вы это разрешите:
- Откройте Settings > Profiles > Terminal.
- Отметьте Notification Center Alerts.
- Нажмите Filter Alerts и включите Send escape sequence-generated alerts.
Также проверьте, что iTerm2 разрешено показывать уведомления в System Settings > Notifications.
Apple Terminal (macOS)
Apple Terminal не получает уведомлений на рабочий стол. При "auto" Claude Code отправляет беззвучный звонок, только если в профиле переднего окна отключён Audible bell. Тогда звонок отображается миганием окна или подпрыгиванием значка в Dock, пока Terminal в фоне, — если в профиле включены Visual bell или подпрыгивание в Dock.
Обратите внимание на одну деталь. Если при первом запуске Вы согласились на предложение Claude Code настроить терминал, была выполнена команда /terminal-setup, которая отключает звуковой сигнал в профиле Apple Terminal. Чтобы слышать звук, установите "terminal_bell" и снова включите Audible bell в Settings > Profiles > Advanced.
Ghostty и Kitty (macOS и Linux)
Оба терминала получают уведомление на рабочий стол без дополнительной настройки и передают его в центр уведомлений операционной системы.
Все остальные
Windows Terminal, GNOME Terminal, Konsole, Alacritty, WezTerm, Warp и терминалы IDE по умолчанию ничего не получают. Установите "terminal_bell" и включите обработку звонка в самом терминале либо используйте hook. У терминалов IDE есть свои особенности — о них в руководстве по VS Code, Cursor и JetBrains.
05Через SSH и внутри tmux
Уведомление на рабочем столе — это escape-последовательность, которую интерпретирует терминал на Вашем компьютере, поэтому оно доходит до Вас, даже когда Claude Code работает на удалённом сервере через SSH. Ghostty и Kitty передают его без дополнительной настройки. Для iTerm2 нужны описанные выше настройки оповещений.
Внутри tmux последовательность теряется, если не разрешить passthrough. Добавьте это в ~/.tmux.conf и выполните tmux source-file ~/.tmux.conf:
set -g allow-passthrough on
С отсоединёнными сессиями другая проблема: если ни один терминал не подключён, показать оповещение некому. См. руководство по tmux и уведомления через SSH.
06Встроенное оповещение и hooks вместе
Hooks Notification работают параллельно со встроенным оповещением, а не заменяют его. В документации Anthropic прямо сказано, что hooks срабатывают даже при "notifications_disabled": эта настройка меняет только то, как Claude Code Вас оповещает, но не то, запускается ли Ваш hook. Это даёт чёткое разделение:
- Оставьте
"auto"или"terminal_bell"для оповещений за рабочим местом. - Добавьте hook для всего остального: системного звука, уведомления на рабочем столе в терминале, который их не получает, или push на телефон через ntfy.
- Если hook уже показывает уведомление на рабочем столе, установите
"notifications_disabled", чтобы не получать два.
Например, так на macOS будет воспроизводиться звук каждый раз, когда Claude требуется Ваше внимание, в любом терминале:
{
"hooks": {
"Notification": [
{
"hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
}
]
}
}
Аналоги для Linux и Windows — в руководстве по Linux и руководстве по Windows.
07Ограничения встроенных возможностей
- Оно остаётся на компьютере. Звонок или уведомление исходят от терминала на Вашем экране. Отошли на кухню — и пропустили.
- Оно зависит от терминала. Многие популярные терминалы ничего не получают, пока Вы не измените настройку.
- На него нельзя ответить. Оно сообщает, что Claude ждёт, но Вам всё равно нужно вернуться к клавиатуре.
Remote Control от Anthropic вместе с мобильным приложением Claude — официальный способ получать push на телефон. В сравнительном руководстве он рассмотрен наряду с другими вариантами.
08Место Claude Code Notifier
Если Вы работаете за столом, встроенного оповещения и "terminal_bell" может быть вполне достаточно. Claude Code Notifier — для случаев, когда Вас нет за столом. Его консольная утилита ccn работает как hook Claude Code, поэтому подходит для любого терминала на Mac, Windows и Linux — с настройками звонка или без них. Сама по себе она показывает уведомление на рабочем столе, когда Claude завершает работу, запрашивает разрешение или задаёт вопрос. С подключённым телефоном можно разрешать или отклонять запросы, отвечать на вопросы Claude и отправлять следующую инструкцию прямо с телефона, а если Вы печатали в последние 30 секунд, на телефон ничего не отправляется. См. страницу ccn.
09FAQ
Как отключить уведомления Claude Code?
Установите "preferredNotifChannel": "notifications_disabled" или выберите это значение в разделе Local notifications в /config. Настроенные Вами hooks Notification продолжат работать.
Почему iTerm2 не показывает уведомления Claude Code?
В iTerm2 нужно отметить Notification Center Alerts и включить Send escape sequence-generated alerts в Profiles > Terminal > Filter Alerts, а также выдать разрешение на уведомления в настройках macOS. Внутри tmux также установите allow-passthrough on.
Почему в Apple Terminal нет звонка?
Настройка терминала в Claude Code отключает звуковой сигнал Apple Terminal. Установите "terminal_bell" и снова включите Audible bell на вкладке Advanced профиля.
Работает ли звонок терминала в VS Code?
По умолчанию нет. Установите "terminal_bell" и проверьте настройки звонка терминала в VS Code или используйте hook. Подробности — в руководстве по IDE.