Skip to content

[Bug] DeepSeek V4 Flash Responses route stalls after tool calls #875

Description

@Michael-Han0608

Thanks for the report. Include a minimal reproduction and exact environment details so we can confirm and fix the problem quickly.

Client or integration

Codex App

Area

Tools / MCP / web search

Summary

DeepSeek V4 Flash requests routed through the native Responses adapter can stall after tool calls. The upstream request returns HTTP 200 and non-zero output/reasoning tokens, but OpenCodex does not continue with the corresponding tool outputs, so no final visible answer is produced.

Plain-text turns without tools can complete normally. DeepSeek V4 Pro through the openai-chat route works normally under the same local setup.

Update: reproduced on OpenCodex 2.10.0

The same behavior remains reproducible after upgrading to OpenCodex 2.10.0:

  • plain-text turns may complete normally;
  • tool calls can be generated and executed;
  • the upstream DeepSeek Responses request returns HTTP 200 with non-zero output/reasoning tokens;
  • no corresponding function_call_output or follow-up Responses request is observed for the same turn;
  • Codex App receives no final visible answer and the turn stalls.

The v2.10.0 routing change does not appear to address this continuation failure. Codex-originated requests still use the native Responses path, so the remaining defect appears to be in the Responses tool-call continuation, event handoff, or reasoning-history replay rather than initial model routing.

Reproduction

  1. Use OpenCodex with the official DeepSeek API and select deepseek/deepseek-v4-flash.
  2. Ensure the model is routed through the native Responses adapter.
  3. Start a turn that causes the model to return one or more tool calls.
  4. Observe that the tool calls may complete, but no corresponding function_call_output or follow-up request is sent for the same conversation, and no final assistant answer appears.
  5. A plain-text turn without tools can complete normally. DeepSeek V4 Pro through the openai-chat route does not reproduce the problem.

The exact trigger is not yet confirmed; it may involve the native Responses event handoff, multiple tool calls, or reasoning-history replay.

Version

Originally reproduced on OpenCodex 2.9.1; reproduced again on OpenCodex 2.10.0.

Operating system

macOS

Provider and model

Official DeepSeek API / deepseek/deepseek-v4-flash

Logs or error output

Relevant local usage records:

  • ocx-msbd27ow-17: HTTP 200, output tokens 568, reasoning tokens 359
  • ocx-msbdeyhv-1v: HTTP 200, output tokens 401, reasoning tokens 215
  • ocx-msbdfnwj-1x: HTTP 200, output tokens 113, reasoning tokens 36

The first two responses contained two completed exec_command function calls, but no corresponding function_call_output or follow-up request was observed for the same conversation.

service_tier was default; no priority, 400, or 502 error was recorded.

Screenshots and supporting files

The issue was reproduced three times after a long processing period with no visible output. Local usage records are available above.

Redacted configuration

The relevant setup uses the official DeepSeek provider, with deepseek/deepseek-v4-flash routed through the native Responses adapter. No secrets or credentials are included.

The current Responses adapter appears to sanitize reasoning.content for all Responses providers. DeepSeek's Responses API supports plain-text reasoning_text input, so this may also affect subsequent tool-call replay. This observation is not yet confirmed as the primary trigger.

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingproviderProvider adapters, OpenAI-compat presets, upstream API quirksprovider-compatibilityProvider compatibility reportsstreamingSSE, WebSocket, terminal stream framestoolstool_calls, MCP, web-search / sidecar tools

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions