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.
Symptom
Section titled “Symptom”API Error: 400 thinking options type cannot be disabled when reasoning_effort is setWhen 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.
Upgrade cc-switch to v3.16.4 or later.
Ensure DeepSeek requests are routed through cc-switch's local routing; the new version automatically cleans conflicting parameters at the forwarding layer.
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 2 real issues
- 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.
Related problems
Section titled “Related problems”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.