Allow Codex hooks to run silently without rendering completed hook entries

Open 💬 2 comments Opened Apr 24, 2026 by yizhoupan3-debug

When Codex hooks are enabled, each hook invocation renders a visible UI entry such as PreToolUse / completed even when the hook exits successfully and produces no stdout/stderr.

This makes lightweight guardrail hooks visually noisy. In workflows where hooks run before many tool calls, the conversation becomes cluttered with repeated completed hook cards, even though there is no user-actionable information.

Request:

  • Add a way for hooks to be silent on success, for example a hook-level option like "silent": true or "suppressStatus": true.
  • Alternatively, only render hook entries when the hook writes output, blocks an action, or fails.
  • A global Codex setting to hide successful hook lifecycle entries would also solve the problem.

Expected behavior:

Successful hooks with no output should not add visible cards to the conversation.

Current workaround:

Disabling codex_hooks removes the noise, but also disables useful safety guardrails.

Related:

  • #15497 appears to cover a similar issue in the TUI; this request is specifically about suppressing successful no-output hook lifecycle entries in the visible conversation/UI.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗