Notificações do Codex: receba um alerta quando ele terminar ou esperar aprovação

O Codex pode avisar quando um turno termina e quando precisa da sua aprovação. O problema: os dois mecanismos do arquivo de configuração cobrem eventos diferentes e, na maioria dos terminais, a “notificação na área de trabalho” vira silenciosamente um sino.

Por Aslan, equipe Pet Island · Atualizado em 26 de out. de 2026 · 3 min de leitura

RESPOSTA CURTA

Use a seção [tui]: notifications = ["agent-turn-complete", "approval-requested"] e notification_condition = "always" se quiser alertas mesmo com o terminal em foco. O Codex só envia notificação na área de trabalho (OSC 9) no Ghostty, no iTerm2, no Kitty, no Warp e no WezTerm. Em todos os outros, incluindo o Windows Terminal, ele toca o sino. A configuração notify de nível superior executa um programa seu, mas apenas para agent-turn-complete, nunca para aprovações.

Duas configurações diferentes

[tui] notificationsnotify
O que fazAlerta no terminal do Codex CLIExecuta um programa escolhido por você
Turno concluídoSim (agent-turn-complete)Sim (agent-turn-complete)
Aprovação solicitadaSim (approval-requested)Não
Prompts de plano / perguntaSim (plan-mode-prompt, async-question)Não
PadrãoAtivadoDesativado

Se você quer saber quando o Codex está esperando por você, o notify sozinho nunca vai resolver. Use as notificações da TUI para isso.

Notificações da TUI

Esta é a parte relevante da configuração de exemplo da OpenAI:

~/.codex/config.tomlCopiar
[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 ou uma lista de eventos. approval-requested cobre pedidos de aprovação de comandos, edições de arquivo e MCP.
  • notification_condition: por padrão, os alertas só disparam quando o terminal não está em foco. Defina always se você deixa o terminal visível em outro monitor.
  • notification_method: auto, osc9 ou bel.

As mensagens são do tipo “Approval requested: <command>” (aprovação solicitada), “Codex wants to edit <file>” (o Codex quer editar o arquivo) e “Agent turn complete” (turno do agente concluído).

Por que você só ouve um bipe (Windows Terminal e outros)

No modo auto, o Codex só envia uma notificação na área de trabalho (a sequência de escape OSC 9) quando reconhece o Ghostty, o iTerm2, o Kitty, o Warp ou o WezTerm. Todos os outros terminais (Windows Terminal, o terminal do VS Code, o Terminal da Apple) recebem o sino do terminal. Isso vem do código-fonte do Codex (tui/src/notifications/mod.rs); a documentação só diz que o auto “prefers OSC 9” (prefere OSC 9).

No Windows Terminal, você pode tornar o sino mais perceptível: defina bellStyle como all nas configurações do perfil para tocar um som e fazer o ícone da barra de tarefas piscar (o padrão é audible).

settings.json do Windows Terminal (perfil)Copiar
{
"bellStyle": "all"
}

Você também pode forçar notification_method = "osc9"; se o terminal transforma isso em notificação do sistema depende do terminal.

Execute seu próprio programa com notify

O notify executa um programa externo quando um turno termina e passa um argumento JSON com type, thread-id, turn-id, cwd, input-messages e last-assistant-message. Isso o torna ótimo para um push no celular, um webhook ou um log: qualquer coisa além do terminal. É uma chave de nível superior, então coloque-a acima de qualquer [section]:

~/.codex/config.tomlCopiar
notify = ["python3", "/Users/you/.codex/notify.py"]

Um script mínimo, seguindo o da documentação da OpenAI:

~/.codex/notify.pyCopiar
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"'])
  • O .codex/config.toml de um projeto não pode definir notify. Ele precisa estar na sua configuração de usuário.
  • O código-fonte do Codex marca notify como legado e planeja substituí-lo por hooks. Ele funciona hoje; fique de olho no changelog.

E os hooks?

O Codex também tem hooks. Eles vêm ativados por padrão e incluem os eventos PermissionRequest e Stop, configurados em ~/.codex/hooks.json ou em uma tabela [hooks], e todo hook não gerenciado precisa ser revisado e marcado como confiável com /hooks antes de rodar. Não existe evento Notification, e a documentação da OpenAI não mostra um hook de notificação. Para alertas, a configuração da TUI acima é o caminho documentado.

O app do Codex e a extensão para IDE

O app desktop do Codex tem controles próprios: os alertas de turno concluído podem ser definidos como nunca, só com o app em segundo plano ou sempre, e chaves separadas ativam ou desativam as notificações de permissão e de pergunta. A extensão para IDE não tem configurações de notificação próprias. A documentação da OpenAI indica o notify no lugar.

Se você aprova pelo celular com o app do ChatGPT, a issue #39346 relata um caso em que o celular mostra “approval waiting” (aprovação pendente) sem um card para responder.

Ver e responder

Um sino avisa que algo aconteceu em algum terminal. O Pet Island mostra o Codex em uma pequena ilha no topo da sua tela (trabalhando, esperando ou concluído) e, quando o Codex pede para executar um comando ou editar um arquivo, a solicitação aparece lá com o comando ou o diff. Permita ou negue sem trocar de janela; nas perguntas, um clique leva você ao terminal certo. Funciona com o Codex CLI e o app do Codex, ao lado do Claude Code, do Cursor e dos seus outros agentes.

PERGUNTAS FREQUENTES

Como recebo uma notificação quando o Codex termina?

As notificações da TUI do Codex vêm ativadas por padrão para agent-turn-complete, mas, por padrão, só disparam quando o terminal não está em foco. Defina notification_condition = "always" em [tui] se quiser recebê-las com o terminal em foco.

Como sou notificado quando o Codex precisa de aprovação?

Adicione "approval-requested" a notifications na seção [tui] do ~/.codex/config.toml. A configuração notify não dispara para aprovações.

Por que o Codex só apita em vez de mostrar uma notificação?

No modo auto, o Codex só envia notificação na área de trabalho no Ghostty, no iTerm2, no Kitty, no Warp e no WezTerm. Os outros terminais, incluindo o Windows Terminal, recebem o sino.

Posso colocar notify no .codex/config.toml do meu projeto?

Não. A configuração de projeto não pode definir notify; coloque-o no ~/.codex/config.toml.

O Codex tem um hook Notification?

Não. Os hooks do Codex incluem PermissionRequest e Stop, mas não existe evento Notification nem hook de notificação documentado.

Fontes

Todas as configurações e comportamentos desta página foram conferidos com estas páginas em 26 de outubro de 2026. Os agentes mudam rápido; se algo não bater mais, vale o que diz a página oficial.

CONTINUE LENDO

Responda a todos os agentes direto do topo da sua tela.

Windows e Mac · 7 dias grátis, depois US$ 8,99 uma única vez · US$ 1 de cada venda alimenta animais de rua

Experimente o Pet Island grátis