Generated tool namespace has an empty description, causing Azure Responses API requests to fail

Resolved 💬 3 comments Opened Aug 7, 2026 by MaTriXy Closed Aug 7, 2026
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

Codex CLI version

0.147.0

Model

gpt-5.6-sol

Provider path

Codex CLI → OpenAI-compatible LiteLLM endpoint → Azure OpenAI

Problem

Every turn fails because Azure rejects a tool namespace whose description is an empty string.

Sanitized error:

{
  "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"
  }
}

This appears to originate in codex-rs/protocol/src/dynamic_tools.rs. When legacy dynamic tools are grouped into a namespace, Codex explicitly assigns an empty description:

grouped_tools.push(DynamicToolSpec::Namespace(DynamicToolNamespaceSpec {
    name: namespace,
    description: String::new(),
    tools: vec![function],
}));

Source:

https://github.com/openai/codex/blob/95c7265e849e6e360a7fa53ffeac70b25d6051a3/codex-rs/protocol/src/dynamic_tools.rs#L150-L157

Azure requires tool descriptions to contain at least one character, so the generated request is rejected before inference begins.

Steps to reproduce

  1. Configure Codex to use an OpenAI-compatible LiteLLM endpoint backed by Azure OpenAI.
  2. Select gpt-5.6-sol.
  3. Start a session that includes namespaced dynamic tools.
  4. Send any prompt.
  5. Observe the HTTP 400 validation error above.

Expected behavior

Codex should never serialize an empty tool or namespace description.

A generated fallback such as the following would satisfy the API contract:

description: format!("Tools in the {namespace} namespace"),

Alternatively, validation could reject or normalize empty descriptions before constructing the Responses API request.

Related issue

Possibly related to #31870, which also concerns GPT-5.6-Sol tool compatibility through Azure, although that issue reports a different validation error.

View original on GitHub ↗

3 Comments

github-actions[bot] contributor · 21 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #37380

Powered by Codex Action

emerzon · 20 days ago

Duplicate of #37425

oferlaor · 16 days ago

experiencing the same issue here