Skip to content

thinking options type cannot be disabled Claude Code

Quick fix

Upgrade cc-switch to v3.16.4 or later; the agent automatically strips the reasoning_effort parameter conflicting with DeepSeek.

Error output
API Error: 400 thinking options type cannot be disabled when reasoning_effort is set

When running Dynamic Workflows or sub-agents in Claude Code, the system forces `thinking: { type: "disabled" }`. When cc-switch forwards requests to the DeepSeek endpoint, if it also carries the `reasoning_effort` or `output_config.effort` parameter, the DeepSeek API rejects the request with a 400 error due to mutual exclusivity between these parameters. Since users typically map all models to DeepSeek, simply switching models does not bypass this issue.

  1. Upgrade cc-switch to v3.16.4 or later.

  2. Ensure DeepSeek requests are routed through cc-switch's local routing; the new version automatically cleans conflicting parameters at the forwarding layer.

ToolClaude Code
Versioncc-switch < 3.16.4 (已在 v3.16.4 修复)
PlatformsmacOS
Can switching models or lowering the effort level resolve this error?
No. Because cc-switch maps all models to the same DeepSeek backend, and Claude Code workflows force thinking to be disabled, any request carrying the reasoning_effort parameter triggers a conflict. You must upgrade cc-switch to enable automatic parameter cleaning.
Do other models besides DeepSeek encounter this problem?
Using the Anthropic official API with the Opus model has similar issues, but switching to Sonnet bypasses them. However, when using cc-switch to map everything to DeepSeek, all requests trigger this conflict.

This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.