Skip to content

Support non-thinking mode for DeepSeek V4 Flash in Provider API #697

Description

@cr-zhichen

Feature Description

Please add support for disabling reasoning / thinking when using deepseek/deepseek-v4-flash through the CommandCode Provider API.

DeepSeek V4 Flash natively supports both thinking and non-thinking modes, but I currently cannot find a way to enable non-thinking mode through:

POST /provider/v1/chat/completions

Using:

{ "reasoning_effort": "none" }

returns HTTP 400:

Invalid option: expected one of "low"|"medium"|"high"|"xhigh"|"max"

Using DeepSeek's native parameter:

{ "thinking": { "type": "disabled" } }

succeeds, but the model still performs reasoning and reports reasoning tokens, so the parameter appears to be ignored or not forwarded upstream.

Please expose a true non-thinking option for models that support it natively. Any of these API shapes would work:

  • { "reasoning_effort": "none" }
  • { "thinking": { "type": "disabled" } }
  • A CommandCode-specific option such as { "reasoning_effort": "off" }

The important part is that DeepSeek V4 Flash actually runs in native non-thinking mode and produces no reasoning tokens.

Use Case

I use DeepSeek V4 Flash for simple workloads where reasoning is unnecessary, including:

  • Translation
  • Text rewriting
  • Classification
  • Information extraction
  • Formatting
  • Simple structured-output tasks

For these workloads, reasoning adds unnecessary latency and token usage without improving the result.

For example, I use the CommandCode Provider API as the backend for a translation model. Translation requests are usually straightforward and should return translated text directly, but DeepSeek V4 Flash currently spends reasoning tokens before producing the translation.

Being able to disable thinking would make the model significantly more suitable for latency-sensitive and high-volume workloads.

Additional Context

Endpoint

https://api.commandcode.ai/provider/v1/chat/completions

Model

deepseek/deepseek-v4-flash

Reproduction 1

Request:

{
  "model": "deepseek/deepseek-v4-flash",
  "messages": [
    {
      "role": "user",
      "content": "Translate this text directly."
    }
  ],
  "reasoning_effort": "none"
}

Response:

{
  "error": {
    "message": "Invalid option: expected one of \"low\"|\"medium\"|\"high\"|\"xhigh\"|\"max\"",
    "type": "invalid_request_error",
    "param": "reasoning_effort"
  }
}

Reproduction 2

Request:

{
  "model": "deepseek/deepseek-v4-flash",
  "messages": [
    {
      "role": "user",
      "content": "Translate this text directly."
    }
  ],
  "thinking": {
    "type": "disabled"
  }
}

The request succeeds, but reasoning tokens are still generated.

DeepSeek's native API supports switching V4 Flash between thinking and non-thinking modes, so it would be helpful if the CommandCode Provider API exposed the same capability.

How important is this to you?

Important for my workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions