Сповіщення Codex: сигнал, коли він закінчив або чекає на підтвердження

Codex може повідомити, коли хід завершено і коли йому потрібне ваше підтвердження. Підступ у тому, що два механізми у файлі конфігурації охоплюють різні події, а в більшості терміналів «сповіщення на робочому столі» непомітно перетворюється на дзвінок.

Автор: Aslan, команда Pet Island · Оновлено 26 жовт. 2026 р. · 3 хв читання

КОРОТКО

Використовуйте розділ [tui]: notifications = ["agent-turn-complete", "approval-requested"] і notification_condition = "always", якщо потрібні сповіщення, навіть коли термінал у фокусі. Codex надсилає сповіщення на робочий стіл (OSC 9) лише в Ghostty, iTerm2, Kitty, Warp і WezTerm. В усіх інших терміналах, зокрема у Windows Terminal, він подає дзвінок. Налаштування верхнього рівня notify запускає вашу власну програму, але лише для agent-turn-complete і ніколи для підтверджень.

Два різні налаштування

[tui] notificationsnotify
Що робитьСигнал у терміналі від Codex CLIЗапускає вибрану вами програму
Хід завершеноТак (agent-turn-complete)Так (agent-turn-complete)
Запит підтвердженняТак (approval-requested)Ні
Запити плану й запитанняТак (plan-mode-prompt, async-question)Ні
За замовчуваннямУвімкненоВимкнено

Якщо ви хочете знати, коли Codex чекає на вас, самого notify для цього ніколи не вистачить. Використовуйте для цього сповіщення TUI.

Сповіщення TUI

Ось потрібна частина прикладу конфігурації від OpenAI:

~/.codex/config.tomlКопіювати
[tui]
# Desktop notifications from the TUI: boolean or filtered list. Default: true
notifications = ["agent-turn-complete", "approval-requested"]
# Notification mechanism for terminal alerts: auto | osc9 | bel. Default: "auto"
notification_method = "auto"
# When notifications fire: unfocused (default) | always
notification_condition = "unfocused"
  • notifications: true, false або список подій. approval-requested охоплює запити підтвердження команд, редагувань файлів і MCP.
  • notification_condition: за замовчуванням сповіщення спрацьовують, лише коли термінал не у фокусі. Задайте always, якщо термінал у вас завжди на виду на іншому моніторі.
  • notification_method: auto, osc9 або bel.

Повідомлення мають вигляд «Approval requested: <command>», «Codex wants to edit <file>» і «Agent turn complete».

Чому ви чуєте лише сигнал (Windows Terminal та інші)

У режимі auto Codex надсилає сповіщення на робочий стіл (escape-послідовність OSC 9), лише коли розпізнає Ghostty, iTerm2, Kitty, Warp або WezTerm. Усі інші термінали (Windows Terminal, термінал VS Code, Apple Terminal) отримують дзвінок термінала. Це видно з вихідного коду Codex (tui/src/notifications/mod.rs); у документації сказано лише, що auto «prefers OSC 9» (надає перевагу OSC 9).

У Windows Terminal дзвінок можна зробити помітнішим: задайте bellStyle значення all у налаштуваннях профілю, щоб відтворювався звук і блимав значок на панелі завдань (за замовчуванням audible).

settings.json Windows Terminal (профіль)Копіювати
{
"bellStyle": "all"
}

Можна також примусово задати notification_method = "osc9"; чи перетворить термінал це на системне сповіщення, залежить від термінала.

Запуск власної програми через notify

notify запускає зовнішню програму, коли хід завершується, і передає їй один аргумент JSON з полями type, thread-id, turn-id, cwd, input-messages і last-assistant-message. Тому він добре підходить для push-сповіщення на телефон, вебхука або логу: для всього, що виходить за межі термінала. Це ключ верхнього рівня, тому розміщуйте його вище за будь-яку [section]:

~/.codex/config.tomlКопіювати
notify = ["python3", "/Users/you/.codex/notify.py"]

Мінімальний скрипт за зразком із документації OpenAI:

~/.codex/notify.pyКопіювати
import json, subprocess, sys
 
notification = json.loads(sys.argv[1])
if notification.get("type") == "agent-turn-complete":
message = (notification.get("last-assistant-message") or "Turn complete")[:120]
# macOS: a system notification. On Linux use ["notify-send", "Codex", message].
subprocess.run(["osascript", "-e", f'display notification {json.dumps(message)} with title "Codex"'])
  • .codex/config.toml проєкту не може задавати notify. Він має бути у вашій користувацькій конфігурації.
  • У вихідному коді Codex notify позначено як застарілий, і його планують замінити хуками. Зараз він працює; стежте за журналом змін.

А що з хуками?

У Codex теж є хуки. Їх увімкнено за замовчуванням, вони охоплюють події PermissionRequest і Stop, налаштовуються в ~/.codex/hooks.json або в таблиці [hooks], і кожен некерований хук перед запуском треба перевірити й позначити як довірений через /hooks. Події Notification немає, і документація OpenAI не показує хука для сповіщень. Задокументований спосіб отримувати сповіщення — описане вище налаштування TUI.

Застосунок Codex і розширення для IDE

Настільний застосунок Codex має власні налаштування: сповіщення про завершення ходу можна вимкнути, увімкнути лише тоді, коли застосунок у фоні, або ввімкнути завжди, а окремі перемикачі вмикають і вимикають сповіщення про дозволи й запитання. Розширення для IDE власних налаштувань сповіщень не має. Натомість документація OpenAI відсилає до notify.

Якщо ви підтверджуєте дії з телефона через застосунок ChatGPT, в issue #39346 описано випадок, коли телефон показує «approval waiting», але картки для відповіді немає.

Бачити й відповідати

Дзвінок повідомляє, що в якомусь терміналі щось сталося. Pet Island показує Codex на маленькому острові у верхній частині екрана (працює, чекає або закінчив), а коли Codex просить виконати команду чи змінити файл, запит з’являється там разом із командою або diff. Дозволяйте або забороняйте, не перемикаючи вікон; для запитань одне клацання переводить вас у потрібний термінал. Він працює з Codex CLI і застосунком Codex поруч із Claude Code, Cursor та іншими вашими агентами.

Поширені запитання

Як отримати сповіщення, коли Codex закінчив?

Сповіщення TUI в Codex за замовчуванням увімкнено для agent-turn-complete, але за замовчуванням вони спрацьовують, лише коли термінал не у фокусі. Задайте notification_condition = "always" у [tui], якщо вони потрібні й тоді, коли термінал у фокусі.

Як отримувати сповіщення, коли Codex потрібне підтвердження?

Додайте "approval-requested" у notifications у розділі [tui] файлу ~/.codex/config.toml. Налаштування notify для підтверджень не спрацьовує.

Чому Codex лише пищить, а не показує сповіщення?

У режимі auto Codex надсилає сповіщення на робочий стіл лише в Ghostty, iTerm2, Kitty, Warp і WezTerm. Інші термінали, зокрема Windows Terminal, отримують дзвінок.

Чи можна вказати notify у .codex/config.toml проєкту?

Ні. Конфігурація проєкту не може задавати notify; вкажіть його в ~/.codex/config.toml.

Чи є в Codex хук Notification?

Ні. Хуки Codex охоплюють PermissionRequest і Stop, але події Notification і задокументованого хука для сповіщень немає.

Джерела

Усі налаштування й описану поведінку на цій сторінці звірено з цими джерелами 26 жовтня 2026 р.. Агенти швидко змінюються; якщо щось уже не збігається, пріоритет має офіційна сторінка.

ЧИТАЙТЕ ТАКОЖ

Відповідайте будь-якому агенту просто з верхньої частини екрана.

Windows і Mac · 7 днів безплатно, потім $8.99 одноразово · $1 з кожного продажу йде на корм безпритульним тваринам

Спробувати Pet Island безплатно