Сповіщення Claude Code: як відрізнити «чекає на вас» від «готово»
«Заблокована сесія виглядає точнісінько як завершена, тому я спершу відкриваю не ту». Ця фраза із запиту на функцію для Claude Code добре описує проблему. Ось як отримати окремий сигнал для кожного випадку.
КОРОТКО
Claude Code уже надсилає сповіщення, коли закінчує роботу або чекає на дозвіл, поки вас немає, але за замовчуванням показує його як сповіщення на робочому столі лише в Ghostty, Kitty та iTerm2. В інших терміналах задайте "preferredNotifChannel": "terminal_bell". Щоб отримати два різні звуки, використовуйте хук Notification з matcher permission_prompt для «потрібні ви» і хук Stop для «готово».
Що Claude Code робить сам
Коли Claude закінчує задачу або зупиняється на запиті дозволу, а ви, судячи з усього, відійшли від термінала, він генерує подію сповіщення. За замовчуванням він перетворює її на сповіщення на робочому столі лише в Ghostty, Kitty та iTerm2. У Windows Terminal, терміналі VS Code, Warp та інших нічого помітного не відбувається, доки ви це не налаштуєте.
Найпростіше рішення — дзвінок термінала:
Що робить дзвінок, вирішує ваш термінал. У Windows Terminal налаштування bellStyle може набувати значень audible (за замовчуванням), window, taskbar, all або none. За all Windows Terminal відтворює звук і блимає значком на панелі завдань.
- iTerm2: Settings → Profiles → Terminal → позначте «Notification Center Alerts», потім Filter Alerts → увімкніть «Send escape sequence-generated alerts».
- tmux: додайте
set -g allow-passthrough onу~/.tmux.conf, інакше сповіщення не дійдуть до зовнішнього термінала. - Через SSH: сповіщення на робочому столі передається назад на вашу локальну машину, тож віддалені сесії теж можуть вас сповістити.
Запит на системні сповіщення (#26581, 34 голоси) закрили як уже реалізований з посиланням саме на це вбудоване сповіщення. Запит на різні сигнали для «чекає» і «закінчив» (#94373) досі відкритий. Тут і стануть у пригоді хуки.
Дві події: Notification і Stop
Notificationспрацьовує, коли Claude Code надсилає сповіщення. Його matcher — це тип сповіщення. Вас цікавлять два типи:permission_prompt(Claude потрібно, щоб ви схвалили використання інструмента, і запит чекає вже близько шести секунд) іidle_prompt(Claude закінчив відповідати близько 60 секунд тому, і відтоді ви нічого не вводили).Stopспрацьовує щоразу, коли Claude закінчує відповідати. Він не спрацьовує, якщо ви перервали відповідь; у разі помилок API замість нього спрацьовуєStopFailure.
Хуки працюють паралельно з вбудованим сповіщенням, а не замінюють його, тож можна залишити і те, і інше.
Windows: два різні звуки
У Windows хуки запускаються в Git Bash, а якщо Git Bash не встановлено, у PowerShell. Налаштування "shell": "powershell" прибирає невизначеність. Ця конфігурація відтворює високий подвійний сигнал, коли Claude потрібен дозвіл, і низький сигнал, коли він закінчив:
Console.Beep приймає частоту в герцах і тривалість у мілісекундах і чекає, доки сигнал не закінчиться. У посібнику Anthropic з хуків є й приклад для Windows, який відкриває вікно повідомлення через System.Windows.Forms; сама Anthropic зазначає, що це діалогове вікно, а не сповіщення, і воно може відкритися позаду термінала.
macOS і Linux
У документації Anthropic на macOS використовується afplay:
Для видимого сповіщення використовуйте osascript -e 'display notification "Claude needs you" with title "Claude Code"' на macOS або notify-send "Claude Code" "Claude needs you" на Linux.
Деталі, які заощадять вам вечір
- Stop спрацьовує часто. Він спрацьовує щоразу, коли Claude закінчує відповідати, а не лише коли завершено всю задачу. Якщо це надто нав’язливо, використовуйте натомість сповіщення
idle_prompt. Воно чекає близько хвилини і спрацьовує, лише якщо ви нічого не вводили. - Читайте подію, якщо потрібно. Вхідні дані Notification містять
message,titleіnotification_type, тож скрипт може показати сам запит. - Agent view. Якщо ви запускаєте фонові сесії через
claude agents, він сповіщає вас через той самийpreferredNotifChannel, коли сесії потрібне введення, коли вона завершується або падає, і викликає хук Notification з типомagent_needs_inputабоagent_completed. - Статус у терміналі. Термінали, що підтримують протокол статусу OSC 7501, можуть показувати, чи працює кожна сесія Claude Code, чекає чи закінчила. Claude Code v2.1.295 і новіші повідомляють статус автоматично.
- Хук не спрацьовує у Windows? Див. Хуки Claude Code не працюють у Windows. Майже завжди справа в оболонці.
Яка сесія чекає і як їй відповісти
Звук повідомляє, що щось сталося. Але він не каже, з якого з трьох терміналів прийшов сигнал і що Claude хоче виконати. Pet Island дає кожній сесії Claude Code місце на маленькому острові у верхній частині екрана: працює, чекає на вас або закінчила. Запит дозволу надходить разом із командою або diff, і ви дозволяєте чи забороняєте його просто там; запитання і плани працюють так само. Одним клацанням можна перейти в потрібний термінал, якщо хочете подивитися докладніше.
Поширені запитання
Чи є в Claude Code сповіщення?
Так. Коли він закінчує роботу або чекає на дозвіл, поки вас немає, він надсилає сповіщення. Ghostty, Kitty та iTerm2 за замовчуванням показують його як сповіщення на робочому столі; в інших терміналах задайте preferredNotifChannel значення "terminal_bell" або додайте хук Notification.
Як отримати звук, коли Claude Code закінчив?
Додайте хук Stop, який відтворює звук, наприклад afplay на macOS або [Console]::Beep у PowerShell на Windows.
Як відрізнити «потрібен дозвіл» від «закінчив»?
Використовуйте хук Notification з matcher permission_prompt для одного звуку і хук Stop для іншого.
Чому я не отримую сповіщень у Windows Terminal або VS Code?
За замовчуванням Claude Code надсилає сповіщення на робочий стіл лише в Ghostty, Kitty та iTerm2. Задайте preferredNotifChannel значення "terminal_bell" або використовуйте хук.
Чи працюють сповіщення всередині tmux?
Так, після того як ви додасте set -g allow-passthrough on у ~/.tmux.conf.
Джерела
Усі налаштування й описану поведінку на цій сторінці звірено з цими джерелами 26 жовтня 2026 р.. Агенти швидко змінюються; якщо щось уже не збігається, пріоритет має офіційна сторінка.
- Документація Claude Code: Configure your terminal (сповіщення)
- Документація Claude Code: Hooks guide
- Документація Claude Code: Hooks reference
- Документація Claude Code: Agent view
- Issue #26581: System notifications when Claude needs attention
- Issue #94373: Notify differently for waiting vs finished
- Issue #2427: Audio notification on task completion
- Microsoft Learn: параметри профілю Windows Terminal (bellStyle)
- Microsoft Learn: Console.Beep