Error starting chat - invalid configuration
Resolved 💬 4 comments Opened Apr 24, 2026 by etheuer Closed Apr 28, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of the Codex App are you using (From “About Codex” dialog)?
26.422.21637 (2056)
What subscription do you have?
Pro
What platform is your computer?
Darwin 25.4.0 arm64 arm
What issue are you seeing?
"Error starting chat
Invalid configuration: invalid type: map, expected a sequence in 'hooks'"
What steps can reproduce the bug?
- Add project directory
- Prompt anything
What is the expected behavior?
No error.
Additional information
Does not happen with every project.
4 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Claude Code solved it:
User approved Claude's plan
⎿ Plan saved to:
~/.claude/plans/when-using-codex-app-snug-brook.md · /plan
to edit
Fix Codex.app "Invalid configuration: invalid type: map,
expected a sequence in 'hooks'"
Context
When launching chat in the Codex macOS app inside this repo,
startup fails with:
▎ Error starting chat
▎ Invalid configuration: invalid type: map, expected a
▎ sequence in 'hooks'
Root cause: Current Codex versions changed how they parse
the hooks key in config.toml and now reject the [[hooks]]
array-of-tables format that GSD's installer wrote. This is a
known regression tracked upstream in GSD
(gsd-build/get-shit-done#2637) and in codex itself — the
[[hooks]] sequence previously used by GSD no longer matches
Codex's expected schema, so the app refuses to start.
Current state of
/Users/<hidden>/Developer/<hidden>/.codex/config.toml
(lines 140–143):
# GSD Hooks
[[hooks]]
event = "SessionStart"
command = "node /Users/<hidden>/Developer/<hidden>/.codex
/hooks/gsd-check-update.js"
And line 5:
[features]
codex_hooks = true
The only hook registered is a non-critical background GSD
update checker — disabling it has no functional impact on
GSD or Codex day-to-day work.
Your versions:
Fix
Disable the hooks block so Codex.app parses the config
successfully. Two edits to .codex/config.toml:
off and won't re-add them on its next install/update pass):
(lines 140–143 — the # GSD Hooks comment, [[hooks]] table,
event, and command lines). This is the line actually
triggering the TOML parse rejection in Codex.app.
After the edit, the file should end at line 137
([agents.gsd-verifier] block) with no trailing [[hooks]]
section.
Files touched
(only)
Nothing else needs to change — ~/.codex/config.toml (global)
has no hooks section, and no other .codex/config.toml in
the repo references [[hooks]].
Verification
dialog should no longer appear and chat should start
normally.
(sanity check CLI still works — it was working before,
should continue to).
Claude Code; they don't depend on the Codex session-start
hook.
Follow-up (not in scope now)
If/when GSD ships a fix for #2637 that uses the new hook
format, re-enable by flipping codex_hooks = true and
re-running the GSD installer so it writes the new-format
hooks block. Until then, leave off.
⏺ Update(.codex/config.toml)
⎿ Added 1 line, removed 1 line
2 # GSD codex_hooks ownership: section
3
4 [features]
5 -codex_hooks = true
5 +codex_hooks = false
6
7 [agents.gsd-advisor-researcher]
8 description = "Researches a single gray area deci
sion and returns a structured comparison table wi
th rationale. Spawned by discuss-phase advisor mo
de."
⏺ Update(.codex/config.toml)
⎿ Removed 5 lines
136 description = "Verifies phase goal achievement
through goal-backward analysis. Checks codebase
delivers what phase promised, not just that ta
sks completed. Creates VERIFICATION.md report."
137 config_file = "/Users/<hidden>/Developer/<hidden>/.codex/agents/gsd-verifier.toml"
138
139 -
140 -# GSD Hooks
141 -[[hooks]]
142 -event = "SessionStart"
143 -command = "node /Users/<hidden>/Developer/<hidden>/.codex/hooks/gsd-check-update.js"
Searched for 1 pattern (ctrl+o to expand)
⏺ Done. codex_hooks = false set and the [[hooks]] block removed.
Relaunch Codex.app and the "Error starting chat" should be
gone.
Sources:
This issue was already resolved here, I think you can close it:
https://github.com/openai/codex/issues/19199
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.