Repository navigation
codex-cli 0.124.0 fails to start when hook config is present and codex_hooks is enabled #19199
Description
Summary
codex-cli 0.124.0 fails to start when hook configuration is present and features.codex_hooks = true.
The CLI exits with:
Error loading config.toml: invalid type: map, expected a sequence
in `hooks`
The current docs say hooks should live in ~/.codex/hooks.json or <repo>/.codex/hooks.json, not inside config.toml:
Impact
This blocks upgrading to 0.124.0 for installations that use Codex hooks. In practice it breaks real setups that enable codex_hooks, including GSD-installed Codex hook integrations.
Reproduction
I can reproduce this on Linux with a minimal temporary CODEX_HOME.
- Install
@openai/codex@0.124.0 - Create a temp config directory
- Write this
config.toml:
[features]
codex_hooks = true- Write this
hooks.jsonnext to it:
{
"hooks": {
"SessionStart": [
{
"matcher": "startup|resume",
"hooks": [
{
"type": "command",
"command": "echo hi"
}
]
}
]
}
}- Run Codex against that config:
CODEX_HOME="$TMP" codex features listExpected behavior
Codex should start and load the hook configuration, or at minimum emit a validation error that points to hooks.json if the JSON schema is wrong.
Actual behavior
Codex exits immediately with:
Error loading config.toml: invalid type: map, expected a sequence
in `hooks`
The error mentions config.toml and hooks, even though the documented hook configuration lives in hooks.json.
Additional notes
- I also hit the same error when a legacy
[[hooks]]block is present inconfig.toml. - If I disable hooks entirely with:
[features]
codex_hooks = falsethen 0.124.0 starts normally.
- This makes the regression look specific to the hook loader / hook config parsing path.
Environment
- Codex CLI:
0.124.0 - Install method:
npm install -g @openai/codex@0.124.0 - Node:
v24.14.1 - npm:
11.11.0 - OS:
Linux 6.17.0-22-generic x86_64
Proposed next step
Please verify whether 0.124.0 regressed hook config loading, especially the documented hooks.json path and error reporting.
Activity
zyz23333 commentedon Apr 23, 2026
Same issue to me.Both on CLI and Windows app.
eternal-openai commentedon Apr 23, 2026
Problem is GSD's as far as I can tell:
[[hooks]]message. Apparently, GSD used to insert this into our config, though it's not a standard config format for us. It just happened to not be marked as invalid beforebut this does not:
Update Codex hooks reference for v0.124.0 stable hooks (April 2026)
oxysoft commentedon May 8, 2026
Indexed this hook ticket in the umbrella tracker: #21753
Goal: collect the scattered Codex hook requests and bugs into one parity matrix for Full Claude Code Hook Parity (29+), while preserving this issue as the detailed thread for its specific behavior.