anomalyco / anomalyco/opencode

Opencode Zen Deepseek V4 Flash Free (new) reasoning_effort produces wrong behaviour

Open
#40,777 1 comment 0 reactions 1 assignee View on GitHub

@MrMushrooooom is already working on this.

Since Aug 6, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Description

When using thinking.type: enabled with the reasoning_effort parameter on the deepseek-v4-flash-free model, I observe that **reasoning_effort: "low"produces significantly longer visible reasoning content** than"max"`.

Steps to reproduce

  • Send a streaming request with:
    {
      "model": "deepseek-v4-flash-free",
      "messages": [{"role": "user", "content": "Design a microservices architecture for e‑commerce"}],
      "stream": true,
      "thinking": {"type": "enabled"},
      "reasoning_effort": "low"   // or "max"
    }
    
  • Accumulate reasoning_content and content from streaming deltas.
  • Compare lengths and API‑reported token usage.

Observed results (averaged over 5 iterations)

Effort Time (s) Reasoning chars Final chars
low 23.61 5646 1764
high 12.36 1303 1855
max 29.07 1476 1107

Expected behaviour
I would expect reasoning_effort: "max" to either produce more reasoning content than "low", or that the parameter controls the amount of reasoning in a straightforward way. The current behaviour is surprising and may confuse users.

Environment

Plugins

N/A

OpenCode version

N/A

Steps to reproduce
  • Send a streaming request with:
    {
      "model": "deepseek-v4-flash-free",
      "messages": [{"role": "user", "content": "Design a microservices architecture for e‑commerce"}],
      "stream": true,
      "thinking": {"type": "enabled"},
      "reasoning_effort": "low"   // or "max"
    }
    
  • Accumulate reasoning_content and content from streaming deltas.
  • Compare lengths and API‑reported token usage.
Screenshot and/or share link

No response

Operating System

N/A

Terminal

N/A

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.