Client or integration
Direct HTTP/API client
Area
Proxy and routing
Summary
OpenCodex 2.55.0 translates Chat Completions history into Responses input items without a summary field on type: "reasoning" items. A subsequent gpt-6-astra turn that replays that history is rejected by the Responses backend with HTTP 400 missing_required_parameter for input[N].summary.
A new Chat Completions conversation hits the same error after the first tool/reasoning round-trip. This is not a stuck client transcript.
Expected: chatCompletionsToResponsesBody emits reasoning items with a summary array, matching the Claude inbound translator (summary: [{ type: "summary_text", text: ... }] or summary: []).
Reproduction
- Run stock OpenCodex 2.55.0 (
@bitkyc08/opencodex) as the proxy.
- From any Chat Completions client, send
gpt-6-astra (reasoning enabled) to OpenCodex /v1/chat/completions with tools.
- First assistant turn returns reasoning plus at least one tool call; the client posts the tool result.
- OpenCodex translates the follow-up via
chatCompletionsToResponsesBody in src/chat/inbound.ts.
- The translated
input item is { type: "reasoning", content: [{ type: "reasoning_text", text }] } with no summary key.
- The upstream Responses API returns 400: missing required parameter
input[N].summary (N is the reasoning item index after preamble/tool items).
Suggested one-line shape (same file, assistant branch):
input.push({
type: "reasoning",
summary: [{ type: "summary_text", text: reasoningText }],
content: [{ type: "reasoning_text", text: reasoningText }],
});
Version
2.55.0
Operating system
macOS 26.6.2
Provider and model
openai / gpt-6-astra
Logs or error output
Error: 400: {"message":"[ObjectParam] [input[17].summary] [missing_required_parameter] Missing required parameter: 'input[17].summary'.","type":"invalid_request_error","param":null,"code":"invalid_request_error"}
The index 17 is from one captured turn; the stable defect is the missing summary key on the reasoning item, not that specific index.
Screenshots and supporting files
No response
Redacted configuration
{
"proxy": "opencodex /v1/chat/completions",
"model": "gpt-6-astra",
"client_api": "openai-chat-completions",
"reasoning": true,
"tools": true
}
Checks
Client or integration
Direct HTTP/API client
Area
Proxy and routing
Summary
OpenCodex 2.55.0 translates Chat Completions history into Responses
inputitems without asummaryfield ontype: "reasoning"items. A subsequent gpt-6-astra turn that replays that history is rejected by the Responses backend with HTTP 400missing_required_parameterforinput[N].summary.A new Chat Completions conversation hits the same error after the first tool/reasoning round-trip. This is not a stuck client transcript.
Expected:
chatCompletionsToResponsesBodyemits reasoning items with asummaryarray, matching the Claude inbound translator (summary: [{ type: "summary_text", text: ... }]orsummary: []).Reproduction
@bitkyc08/opencodex) as the proxy.gpt-6-astra(reasoning enabled) to OpenCodex/v1/chat/completionswith tools.chatCompletionsToResponsesBodyinsrc/chat/inbound.ts.inputitem is{ type: "reasoning", content: [{ type: "reasoning_text", text }] }with nosummarykey.input[N].summary(N is the reasoning item index after preamble/tool items).Suggested one-line shape (same file, assistant branch):
Version
2.55.0
Operating system
macOS 26.6.2
Provider and model
openai / gpt-6-astra
Logs or error output
Error: 400: {"message":"[ObjectParam] [input[17].summary] [missing_required_parameter] Missing required parameter: 'input[17].summary'.","type":"invalid_request_error","param":null,"code":"invalid_request_error"}The index
17is from one captured turn; the stable defect is the missingsummarykey on the reasoning item, not that specific index.Screenshots and supporting files
No response
Redacted configuration
{ "proxy": "opencodex /v1/chat/completions", "model": "gpt-6-astra", "client_api": "openai-chat-completions", "reasoning": true, "tools": true }Checks