Codex CLI supports a top-level notify command array in config.toml. At the end of an agent turn, Codex starts that command and appends a JSON payload as the final argument. The upstream Codex source documents the same command-array model and agent-turn-complete event.
Codex Edge Glow reads these payload fields when present:
| Field | Use |
|---|---|
type |
Completion event identity; unknown payloads still receive a generic preview |
last-assistant-message or last_assistant_message |
Island result excerpt |
cwd |
Optional task folder label and quick-reply working directory |
thread-id or thread_id |
Quick-reply routing ID |
Example direct configuration:
notify = ["C:\\Tools\\CodexEdgeGlow\\codex-edge-glow.exe"]Codex invokes the equivalent of:
codex-edge-glow.exe {"type":"agent-turn-complete", ...}
Codex currently exposes one external notification command array. Codex Edge Glow can run an existing notifier after processing the same event:
notify = [
"C:\\Tools\\CodexEdgeGlow\\codex-edge-glow.exe",
"--chain",
"C:\\Tools\\ExistingNotifier\\notify.exe",
"--existing-option"
]Everything after the chained executable, including the final Codex payload, is forwarded using Windows-safe argument quoting. Test the existing notifier after changing the chain. If it expects a shell pipeline or unusual environment, use a small wrapper script rather than placing shell syntax in the TOML array.
Quick reply appears only when all of the following are true:
- the island is enabled;
- quick reply is enabled in settings;
- the notification payload contains a task/thread ID;
- a local Codex CLI executable is available.
The app looks for the executable in this order:
- the
CODEX_CLI_PATHenvironment variable; - the newest
codex.exeunder%LOCALAPPDATA%\OpenAI\Codex\bin; codex.exeonPATH.
It starts:
codex exec resume --skip-git-repo-check THREAD_ID -
and writes the reply to standard input. The app itself does not call a remote API; the launched Codex CLI follows its own authentication, network, and approval configuration.
The external notify hook is part of Codex CLI configuration. Codex Desktop, IDE extensions, and other app-server hosts may not invoke it consistently in every version. If manual preview works but automatic completion does not, verify the behavior in Codex CLI before reporting a rendering bug.
Upstream reference: OpenAI Codex configuration source.