[Bug] Deprecated codex_hooks warning appears even when [features].hooks is enabled
Open 💬 11 comments Opened May 11, 2026 by omermosko4
💡 Likely answer: A maintainer (etraut-openai, contributor)
responded on this thread — see the highlighted reply below.
What happened?
Codex CLI shows the deprecated [features].codex_hooks warning even though the active config already uses the replacement key and has hooks enabled.
Active config.toml snippet:
[features]
hooks = true
Observed warning:
[features].codex_hooks is deprecated. Use [features].hooks instead.
Enable it with --enable hooks or [features].hooks in config.toml. See https://developers.openai.com/codex/config-basic#feature-flags for details.
Expected behavior
No deprecation or enablement warning should be shown when [features].hooks = true is present in the active config.
Impact
The warning is shown regardless of the actual hooks feature state, which makes it look like the config still uses the deprecated key when it does not.
Version
codex-cli 0.130.0
Environment
macOS, config loaded from ~/.codex/config.toml.
11 Comments
Codex is working as intended here. If you want to avoid the deprecation warning, delete the deprecated key.
Misunderstood the bug report. Reopening.
I'm not able to repro the problem.
I'm guessing that you have
codex_hooks = truein one of your config.toml files. Perhaps a project-local config file?Nope, I only have the global
~/.codex/config.tomlfileSeeing the same thing
I can reproduce this in Codex Desktop for Windows too, and in my case the active user config is already migrated.
Environment:
OpenAI.Codex_26.506.3741.0_x64__2p2nqsd0c76g0.../app/Codex.execodex-cli 0.130.0-alpha.5~/.codex/config.tomlcontains:I searched the plausible active config locations and did not find an active
codex_hooksentry in TOML/config. The warning still appears in the Desktop UI and logs.One additional data point: the installed Desktop bundle itself still contains a legacy internal override. In
resources/app.asarI find exactly onefeatures.codex_hooksoccurrence:This appears to be in an ephemeral
thread_titlegeneration path. The Desktop logs line up with that: the deprecation notice is emitted around internal/unknownturn/startedevents, followed shortly by:So at least for Codex Desktop on Windows, this looks like it may be triggered by an app-internal config override rather than by the user's
config.toml. Migrating that internal override tofeatures.hooks(or suppressing legacy deprecation notices for app-internal overrides) should likely clear the false warning.I can reproduce this on Codex Desktop for macOS as well.
Environment:
26.513.20950codex-cli 0.131.0-alpha.9codex-cli 0.130.0~/.codex/config.tomlcontains a[features]table, but no activecodex_hookskey..codex/config.tomlor.codex/hooks.jsonunder the active workspace chain.Evidence:
codex features listreportshooks stable true.hooks/list/ thread startup activity, e.g.:/Applications/Codex.app/Contents/Resources/app.asar:This matches @mySebbe's Windows finding. On macOS this also appears to be triggered by an app-internal config override rather than by a user/project
config.tomlentry.also experiencing this issue, no sign of a hooks configuration.
same issue. it's showing up with a project level config selected, but that project level config also no longer exists (so the "open config.toml ↗" doesn't work)
Same issue - wondering if there's other config.toml around from older Codex cli installs?
+1, same issue on v0.129.0 (macOS arm64).
config.tomlhas[features] hooks = true, nocodex_hooksanywhere. Warning appears every session start. Confirmed viastringsthatcodex_hooksis an internal feature flag name in the native binary — the deprecation check seems to trigger on the internal name, not the config key.