codex-cli sends tools[0] with empty description to Azure Responses API — 400 invalid_request_error (works fine in ChatGPT desktop app with same config)
Open 💬 9 comments Opened Aug 9, 2026 by SUMANKC7
💡 Likely answer: A maintainer (github-actions[bot], contributor)
responded on this thread — see the highlighted reply below.
What version of Codex CLI is running?
0.147.0
What subscription do you have?
Azure OpenAI
Which model were you using?
gpt-5.6-sol
What platform is your computer?
macOS
What terminal emulator and version are you using (if applicable)?
Default mac Environment (zsh)
Codex doctor report
What issue are you seeing?
I get this issue while trying to run codex-cli, the ChatGPT desktop app works perfectly fine with the current config.toml, Here is the error message that I get when I send a message in codex-cli
{
"error": {
"message": "Invalid 'input[0].tools[0].description': empty string. Expected a string with minimum length 1, but got
an empty string instead.",
"type": "invalid_request_error",
"param": "input[0].tools[0].description",
"code": "empty_string"
}
}
What steps can reproduce the bug?
Installing codex-cli-0.147.0 and setting up Azure OpenAI model for gpt-5.6 series model.
What is the expected behavior?
_No response_
Additional information
_No response_
9 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
experiencing the same issue here
Since updating to
codex-cli 0.147.0, the same problem appears hereUpdate: The problem disappears when reverting to
codex-cli 0.146.0, so the cause is now isolated to the current version.Also happens on openai.codex vs code extension as of version 26.5810.41047 using litellm as provider
now also the ChatGPT desktop app on MacOS is broken. Same error: Invalid 'input[0].tools[0].description': empty string. Expected a string with minimum length 1, but got an empty string instead.
using version 26.810.41047
Same here, how do you go back a version on the codex app
?
I installed the CLI and pointed to it in an env variable to fix my codex (_chatgpt_) app after it updated:
https://github.com/openai/codex/issues/38573#issuecomment-5315605608
Root-caused in #37952: the empty string is deliberate —
default_namespace_descriptionspecial-cases the defaultfunctionsnamespace to return""while every other namespace gets a real sentence (https://github.com/openai/codex/blob/1f41cc5d92/codex-rs/tools/src/responses_api.rs#L64-L70). OpenAI's backend tolerates the empty description; Azure's Responses validator rejects it (and also rejects omitting the field), producing exactly this 400. It appears with 0.147 because that's when Responses Lite namespace grouping started applying to these configs. One-line fix: drop the special case so the default namespace gets a non-empty description too. Details and fix discussion in #37952 — this looks like a duplicate.