Уведомления 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 просит выполнить команду или изменить файл, запрос появляется там вместе с командой или диффом. Разрешайте или запрещайте, не переключая окна; для вопросов один щелчок переводит вас в нужный терминал. Он работает с 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 бесплатно