Cannot progress past first chat: Missing required parameter: 'input[2].id'
Resolved 💬 31 comments Opened Sep 11, 2025 by abazabaaa Closed Sep 16, 2025
💡 Likely answer: A maintainer (pakrym-oai, contributor)
responded on this thread — see the highlighted reply below.
What version of Codex is running?
codex-cli 0.34.0
Which model were you using?
gpt-5
What platform is your computer?
Linux 4.18.0-553.el8_10.x86_64 x86_64 x86_64
What steps can reproduce the bug?
>_ You are using OpenAI Codex in /ap/bin
To get started, describe a task or try one of these commands:
/init - create an AGENTS.md file with instructions for Codex
/status - show current session configuration and token usage
/approvals - choose what Codex can do without approval
/model - choose what model and reasoning effort to use
▌hi
> Hey! How can I help today?
▌hi
⚠️ stream error: unexpected status 400 Bad Request: {
"error": {
"message": "Missing required parameter: 'input[2].id'.",
"type": "invalid_request_error",
"param": "input[2].id",
"code": "missing_required_parameter"
}
}; retrying 1/5 in 200ms…
⚠️ stream error: unexpected status 400 Bad Request: {
"error": {
"message": "Missing required parameter: 'input[2].id'.",
"type": "invalid_request_error",
"param": "input[2].id",
"code": "missing_required_parameter"
}
}; retrying 2/5 in 431ms…
What is the expected behavior?
_No response_
What do you see instead?
_No response_
Additional information
codex-cli 0.31.0 Works without this issue.
model_provider = "azure"
model = "gpt-5"
sandbox_mode = "danger-full-access"
preferred_auth_method = "apikey"
[model_providers.azure]
name = "Azure"
base_url = "https://xxxxxx.azure-api.net/xxxxx/openai"
query_params = { api-version = "2025-04-01-preview" }
wire_api = "responses"
env_http_headers = { api-key = "OPENAI_API_KEY" }
[profiles.gpt-5]
model = "gpt-5"
model_provider = "azure"
model_reasoning_effort = "high"
model_reasoning_summary = "detailed"
31 Comments
facing same issue. had to downgrade to npm install -g @openai/codex@0.31.0 to make it work.
Same issue here - had to revert also to 0.31.0.
Azure OpenAI, GPT-5-mini, api version 2025-04-01-preview, sandbox danger-full-access.
Same issue here. I tried 0.32.0, 0.33.0, 0.34.0 which are all failed. Only 0.31.0 works. Please fix it.
<img width="1077" height="1042" alt="Image" src="https://github.com/user-attachments/assets/57d083eb-990b-4daf-81b9-4a87aa1e789b" />
funny that on .31 I have this error:
which I know that @pakrym-oai patched in the later versions but I can't use anything further than .29 with my setup.
Azure api integration really need to be documented and tested every release
This guy appears to be the cause. https://github.com/openai/codex/pull/3390
Same issue!
same issue
same issue, and can't downgrade with homebrew using
brew install codex@0.31.0It still doesn't work even downgrade to 0.31 :-(
my setting is like:
env_key = "AZURE_OPENAI_API_KEY"
query_params = { api-version = "2025-04-01-preview" }
and the result is:
unexpected status 400 Bad Request: {"error":
{"code":"BadRequest","message":"API version not supported"}}
That's a different error than what we're chatting about. You might want to search for another related issue or at least post all the important bits from config.
Azure is the red headed step child around here :(
same issue
same issue
same issue
same! Please we need a fix soon!
Same Issue today!
Can you try the latest version please? Are you still getting the same error?
@pakrym-oai same error
\"Missing required parameter: 'input[2].id'.\"We had to apply some workaround for Azure API issues. We detect azure by looking at the host name ("openai.azure.",
"cognitiveservices.azure.","aoai.azure.","azure-api.", "azurefd.") or the config name (looking for model provider named
azure).Does this match your config?
@pakrym-oai I reverted https://github.com/openai/codex/pull/3390 and build locally to get around this myself.
Can confirm 0.36.0 also has this issue
While this works for me, and resolves the need to specify API Versions, it started breaking again with
don't pick from
/modelsthough else it gives⚠️ stream error: unexpected status 404 Not Found: {"error":{"code":"DeploymentNotFound"...}}errors. [This is it's own set of unresolved errors and config jank]Azure support is really chaotic.
0.36.0 works for me. Below are my toml
"cognitiveservices.azure.","aoai.azure.","azure-api.", "azurefd.") or the config name (looking for model provider named azure).
@pakrym-oai My firm proxies Azure for various reasons so a domain approach cannot work.
The name approach works but is very peculiar because
namedoesn't _look_ like a functional field, it looks like it's offered to help maintain your config file.Because it's an exact match I can't even set the name to "Azure via internal proxy" or something.
Isn't the best way to handle this to create a
wire_apifor Azure?It is an option but we are trying to avoid proliferating wire formats especially for something that is a bug in Azure API implementation and has to be fixed soon.
I believe 0.36.0 fixed the issue. Just run the following command to install latest version of Codex CLI:
I'm going to close the issue. Please install Codex CLI 0.36 and use the exact definition from https://github.com/openai/openai/pull/474542 (we're matching
azureprovider by name and on Azure host names to apply a workaround for a bug in Azure implementation of Responses API).This works for me. Thanks!
This workaround does not solve cases where the connection to Azure is routed via a Proxy (Ie. LiteLLM).
@pakrym-oai , please reopen the issue
As suggested above, having something like
wire_api = "azure-responses"would be a more robust workaroundIs anyone else seeing this on .36 only when resuming sessions? I'm wondering if I should create another issue.
@pakrym-oai That link is broken, I am guessing that you mean https://github.com/openai/codex/pull/3542.
Here is the code:
https://github.com/openai/codex/blob/9b18875a42c6453ff79a8ae7a658e5e615f7b353/codex-rs/core/src/model_provider_info.rs#L165-L178
@emerzon I think it should be possible to get it working in your situation. The code checks if name is
azureOR if the URL contains some substrings, which looks flexible enough (i.e. just add your LiteLLM configuration under a[model_providers.azure]section inconfig.toml).This indeed is an issue that extends to litellm. I'm working on a suggestion of a config option to force this behaviour of sending reasoning ids aka
store: true. I'll link to this issue soon. Thanks for the discussion on this issue, even that's closed status, it helped a lot to troubleshoot this.cc: @FelipeRodriguesGare