From the SessionConfig side, the only control I can find for controlling both output_config.effort and thinking is reasoningEffort.
/**
* Reasoning effort level for models that support it.
* Only valid for models where capabilities.supports.reasoningEffort is true.
* Use client.listModels() to check supported values for each model.
*/
reasoningEffort?: ReasoningEffort;
Using Opus 4.6, when I set reasoningEffort = undefined, I'm still seeing the SDK configuring both output_config.effort and thinking:
output_config = {effort: 'medium'}
thinking = {type: 'adaptive', display: 'summarized'}
Issue 1: reasoningEffort = undefined should not be setting output_config.effort at all - do not assume effort: medium.
Issue 2: There is no config option that allows independent control over output_config.effort and thinking.
For example, my custom orchestrator uses the following Claude request config:
{
"config": {
"parameters": {
"stream": true,
"output_config": {
"effort": "medium"
}
}
}
}
The client can choose to opt-in to thinking (adaptive for Opus 4.6+), but doesn't force setting thinking while allowing controlling for effort.
This is important because these are independent properties - and hence we'd like to experiment with the independently:
From the
SessionConfigside, the only control I can find for controlling bothoutput_config.effortandthinkingisreasoningEffort.Using Opus 4.6, when I set
reasoningEffort = undefined, I'm still seeing the SDK configuring bothoutput_config.effortandthinking:Issue 1:
reasoningEffort = undefinedshould not be settingoutput_config.effortat all - do not assumeeffort: medium.Issue 2: There is no config option that allows independent control over
output_config.effortandthinking.For example, my custom orchestrator uses the following Claude request config:
The client can choose to opt-in to
thinking(adaptive for Opus 4.6+), but doesn't force settingthinkingwhile allowing controlling foreffort.This is important because these are independent properties - and hence we'd like to experiment with the independently: