Client or integration
Codex App
Provider or upstream service
DeepSeek official API
OpenCodex version
@bitkyc08/opencodex 2.10.0 (upgraded from 2.8.0)
Endpoint or capability
/v1/responses; tool-call continuation / MCP
Current behaviour
After upgrading OpenCodex from 2.8.0 to 2.10.0, I switched a Codex App session to deepseek/deepseek-v4-flash. The initial native Responses request succeeds, but the turn stalls when the model returns tools.
Observed on repeated retries:
- The request uses the native Responses path (inboundProtocol=responses).
- The upstream request returns HTTP 200 with non-zero output and reasoning tokens.
- The model returns tool calls such as list_mcp_resources, list_mcp_resource_templates, and exec_command.
- No corresponding function_call_output or follow-up Responses request is sent.
- Codex App remains inProgress with no final visible assistant answer.
- Plain-text turns without tools can complete normally.
Expected behaviour
After a tool call, OpenCodex should execute the tool, send its result as function_call_output, issue the follow-up Responses request, and deliver the final assistant answer.
Upgrading from 2.8.0 to 2.10.0 should not leave Codex App turns stuck after tool or MCP calls.
Minimal redacted request or reproduction
Environment: macOS; Codex App; OpenCodex proxy at http://127.0.0.1:10100/v1; official DeepSeek API.
1. Use OpenCodex 2.8.0.
2. Upgrade to @bitkyc08/opencodex 2.10.0.
3. In Codex App, select deepseek/deepseek-v4-flash.
4. Ask the agent to perform an action requiring an MCP or tool call, such as inspecting a local file or running a harmless command.
5. Observe a successful initial Responses request, followed by a tool call without a returned function_call_output or follow-up request; the turn remains in progress.
Actual response or error
No HTTP error is surfaced to Codex App.
Redacted local OpenCodex usage records for the retries show:
- status: 200
- errorCode: none
- upstreamError: none
- first output: approximately 1.1-1.7 seconds
- total duration: approximately 7-13 seconds
The failure occurs after the initial model response, during tool-result forwarding or continuation.
Upstream documentation
https://api-docs.deepseek.com/guides/responses_api/
Suggested mapping or implementation notes
The initial model routing appears correct: deepseek-v4-flash -> openai-responses, with the DeepSeek upstream path /responses.
Please inspect the Responses event handoff and reasoning-history replay after tool calls, ensuring that tool results are preserved as function_call_output and that the continuation request is issued.
Additional context and attachments
This is a fresh reproduction after upgrading from OpenCodex 2.8.0 to 2.10.0.
Related: #875, which is closed but describes the same Responses tool-call continuation failure.
No secrets or credentials are included.
Checks
Client or integration
Codex App
Provider or upstream service
DeepSeek official API
OpenCodex version
@bitkyc08/opencodex 2.10.0 (upgraded from 2.8.0)
Endpoint or capability
/v1/responses; tool-call continuation / MCP
Current behaviour
After upgrading OpenCodex from 2.8.0 to 2.10.0, I switched a Codex App session to deepseek/deepseek-v4-flash. The initial native Responses request succeeds, but the turn stalls when the model returns tools.
Observed on repeated retries:
Expected behaviour
After a tool call, OpenCodex should execute the tool, send its result as function_call_output, issue the follow-up Responses request, and deliver the final assistant answer.
Upgrading from 2.8.0 to 2.10.0 should not leave Codex App turns stuck after tool or MCP calls.
Minimal redacted request or reproduction
Actual response or error
Upstream documentation
https://api-docs.deepseek.com/guides/responses_api/
Suggested mapping or implementation notes
The initial model routing appears correct: deepseek-v4-flash -> openai-responses, with the DeepSeek upstream path /responses.
Please inspect the Responses event handoff and reasoning-history replay after tool calls, ensuring that tool results are preserved as function_call_output and that the continuation request is issued.
Additional context and attachments
This is a fresh reproduction after upgrading from OpenCodex 2.8.0 to 2.10.0.
Related: #875, which is closed but describes the same Responses tool-call continuation failure.
No secrets or credentials are included.
Checks