Reasoning Control
For models that support reasoning (chain-of-thought), you can control the depth of reasoning with the reasoning_effort parameter.
What you’ll learn:
- How to tell whether a model supports reasoning control
- How to use the
reasoning_effortparameter - How to disable reasoning for Qwen 3.6 models
Examples of Reasoning Control
Section titled “Examples of Reasoning Control”| Model (example) | Reasoning Control |
|---|---|
| GPT-5, GPT-5 mini, GPT-5 nano | reasoning_effort parameter |
| Gemini 3 | reasoning_effort parameter |
| Claude 4.6, Claude Opus 5 | reasoning_effort parameter |
| Qwen 3.6 | /no_think prompt keyword |
Most reasoning models follow one of these two patterns: an OpenAI-compatible reasoning_effort parameter, or a prompt keyword. reasoning_effort is accepted far more widely than the table suggests — GLM, Mistral, Gemma, Nemotron and the T-Cloud-hosted open-source models take it too.
A few models are exceptions worth knowing about:
- Mistral models accept only
noneandhigh. Sendinglowormediumreturns HTTP 400 withreasoning_effort=... is not supported by Mistral models. - Some newer Anthropic models reject
reasoning_effortand control thinking differently; the error names the alternative to use. - Code-specialised models may reject the parameter outright with
The requested operation is unsupported.
If a model rejects reasoning_effort, check its entry in Chat & Reasoning models.
Using reasoning_effort
Section titled “Using reasoning_effort”from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create( model="claude-sonnet-4.6", messages=[ {"role": "system", "content": "You are a concise and helpful assistant."}, {"role": "user", "content": "What is the capital of France?"}, ], reasoning_effort="low", # "low", "medium", or "high")
print(response.choices[0].message.content)The reasoning_effort parameter accepts three values:
low— Fast responses, minimal reasoningmedium— Balanced reasoning depthhigh— Deep reasoning for complex problems
Disabling Reasoning for Qwen 3.6
Section titled “Disabling Reasoning for Qwen 3.6”For Qwen 3.6 models, prepend /no_think to your prompt to disable reasoning:
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create( model="Qwen3.6-35B-A3B-FP8", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "/no_think What is your name?"}, ],)
print(response.choices[0].message.content)Next Steps
Section titled “Next Steps”- Chat Completions — Standard chat API usage
- Function Calling — Connect reasoning models to external tools
- Streaming — Stream reasoning model responses