Notifiche di Codex: ricevi un avviso quando finisce o attende un'approvazione

Codex può dirti quando un turno è finito e quando ha bisogno della tua approvazione. Il problema: i due meccanismi del file di configurazione coprono eventi diversi, e sulla maggior parte dei terminali la “notifica desktop” si riduce, senza avvisare, a un segnale acustico.

Di Aslan, team di Pet Island · Aggiornato il 26 ott 2026 · 3 min di lettura

RISPOSTA BREVE

Usa la sezione [tui]: notifications = ["agent-turn-complete", "approval-requested"], e notification_condition = "always" se vuoi gli avvisi anche quando il terminale è in primo piano. Codex invia una notifica desktop (OSC 9) solo in Ghostty, iTerm2, Kitty, Warp e WezTerm. Ovunque altro, compreso Windows Terminal, emette il segnale acustico del terminale. L'impostazione di primo livello notify esegue un tuo programma, ma solo per agent-turn-complete, mai per le approvazioni.

Due impostazioni diverse

[tui] notificationsnotify
Cosa faAvviso nel terminale dalla CLI di CodexEsegue un programma a tua scelta
Turno completatoSì (agent-turn-complete)Sì (agent-turn-complete)
Approvazione richiestaSì (approval-requested)No
Richieste di piano / domandeSì (plan-mode-prompt, async-question)No
PredefinitoAttivoDisattivato

Se vuoi sapere quando Codex ti sta aspettando, notify da solo non ci riuscirà mai. Per questo usa le notifiche della TUI.

Notifiche della TUI

Questa è la parte rilevante della configurazione di esempio di OpenAI:

~/.codex/config.tomlCopia
[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 o un elenco di eventi. approval-requested copre le richieste di approvazione di comandi, modifiche ai file e MCP.
  • notification_condition: per impostazione predefinita gli avvisi scattano solo quando il terminale non è in primo piano. Imposta always se tieni il terminale visibile su un altro monitor.
  • notification_method: auto, osc9 o bel.

I messaggi hanno la forma “Approval requested: <command>”, “Codex wants to edit <file>” e “Agent turn complete”.

Perché senti solo un bip (Windows Terminal e altri)

In modalità auto, Codex invia una notifica desktop (la sequenza di escape OSC 9) solo quando riconosce Ghostty, iTerm2, Kitty, Warp o WezTerm. Tutti gli altri terminali (Windows Terminal, il terminale di VS Code, Apple Terminal) ricevono il segnale acustico. Lo si ricava dal codice sorgente di Codex (tui/src/notifications/mod.rs); la documentazione dice solo che auto “prefers OSC 9” (preferisce OSC 9).

In Windows Terminal puoi rendere il segnale acustico più evidente: imposta bellStyle su all nelle impostazioni del profilo per riprodurre un suono e far lampeggiare l'icona sulla barra delle applicazioni (il valore predefinito è audible).

settings.json di Windows Terminal (profilo)Copia
{
"bellStyle": "all"
}

Puoi anche forzare notification_method = "osc9"; se diventa una notifica di sistema dipende dal terminale.

Eseguire un tuo programma con notify

notify esegue un programma esterno quando un turno è completato e gli passa un argomento JSON con type, thread-id, turn-id, cwd, input-messages e last-assistant-message. È quindi adatto a una notifica push sul telefono, a un webhook o a un log: qualsiasi cosa vada oltre il terminale. È una chiave di primo livello, quindi mettila sopra qualsiasi [section]:

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

Uno script minimo, sulla base di quello della documentazione di OpenAI:

~/.codex/notify.pyCopia
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"'])
  • Il .codex/config.toml di un progetto non può impostare notify. Deve stare nella tua configurazione utente.
  • Il codice sorgente di Codex contrassegna notify come legacy e prevede di sostituirlo con gli hook. Oggi funziona; tieni d'occhio il changelog.

E gli hook?

Anche Codex ha gli hook. Sono attivi per impostazione predefinita e includono gli eventi PermissionRequest e Stop, configurati in ~/.codex/hooks.json o in una tabella [hooks], e ogni hook non gestito deve essere esaminato e considerato attendibile con /hooks prima di essere eseguito. Non esiste un evento Notification, e la documentazione di OpenAI non mostra alcun hook di notifica. Per gli avvisi, l'impostazione della TUI descritta sopra è la strada documentata.

L'app Codex e l'estensione IDE

L'app desktop di Codex ha i suoi controlli: gli avvisi di fine turno possono essere impostati su mai, solo quando l'app è in background o sempre, e interruttori separati attivano o disattivano le notifiche di autorizzazione e di domanda. L'estensione IDE non ha impostazioni di notifica proprie. La documentazione di OpenAI ti rimanda invece a notify.

Se approvi dal telefono tramite l'app ChatGPT, la issue #39346 segnala un caso in cui il telefono mostra “approval waiting” senza una scheda con cui rispondere.

Vedere la richiesta e rispondere

Un segnale acustico ti dice che è successo qualcosa in qualche terminale. Pet Island mostra Codex su una piccola isola nella parte alta dello schermo (al lavoro, in attesa o finito), e quando Codex chiede di eseguire un comando o modificare un file, la richiesta compare lì con il comando o il diff. Consentila o negala senza cambiare finestra; per le domande, un clic ti porta al terminale giusto. Funziona con la CLI di Codex e con l'app Codex, accanto a Claude Code, Cursor e agli altri tuoi agenti.

FAQ

Come ricevo una notifica quando Codex ha finito?

Le notifiche della TUI di Codex sono attive per impostazione predefinita per agent-turn-complete, ma di default scattano solo quando il terminale non è in primo piano. Imposta notification_condition = "always" in [tui] se le vuoi anche quando lo è.

Come ricevo una notifica quando Codex ha bisogno di un'approvazione?

Aggiungi "approval-requested" a notifications nella sezione [tui] di ~/.codex/config.toml. L'impostazione notify non scatta per le approvazioni.

Perché Codex emette solo un bip invece di mostrare una notifica?

In modalità auto Codex invia una notifica desktop solo in Ghostty, iTerm2, Kitty, Warp e WezTerm. Gli altri terminali, compreso Windows Terminal, ricevono il segnale acustico.

Posso mettere notify nel .codex/config.toml del mio progetto?

No. La configurazione di progetto non può impostare notify; mettilo in ~/.codex/config.toml.

Codex ha un hook Notification?

No. Gli hook di Codex includono PermissionRequest e Stop, ma non esiste un evento Notification né un hook di notifica documentato.

Fonti

Ogni impostazione e comportamento descritti in questa pagina sono stati verificati su queste pagine il 26 ottobre 2026. Gli agenti cambiano in fretta: se qualcosa non corrisponde più, fa fede la pagina ufficiale.

CONTINUA A LEGGERE

Rispondi a tutti i tuoi agenti dalla parte alta dello schermo.

Windows e Mac · 7 giorni gratis, poi 8,99 $ una tantum · 1 $ di ogni vendita sfama gli animali randagi

Prova Pet Island gratis