Cannot use Grok 4.20 due to reasoningEffort being sent always for responses wire format
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### Describe the bug
I'm setting the following envvars:
```
Set COPILOT_PROVIDER_TYPE=openai
Set COPILOT_PROVIDER_BASE_URL=https://api.x.ai/v1
Set COPILOT_MODEL=grok-4.20-non-reasoning
Set COPILOT_PROVIDER_WIRE_API=responses
Set COPILOT_PROVIDER_MAX_PROMPT_TOKENS=2000000
Set COPILOT_PROVIDER_API_KEY=***********
```
There seems to be no way to turn that parameter off entirely (or even customize as proposed at https://github.com/github/copilot-cli/issues/2559).
Ideally there should be support for setting `off` (don't send the parameter at all) as well as custom values via `COPILOT_MODEL_EFFORT` envvar
NOTE: despite 4.20 and 4.1 being reasoning models, the parameter is still not supported. See https://docs.x.ai/developers/model-capabilities/text/reasoning#the-reasoning-parameter
### Affected version
1.0.34
### Steps to reproduce the behavior
Set the above variables so they are valid for xAI (in particular your API key).
### Expected behavior
Requests succeed.
### Additional context
_No response_
Contributor guide
Research direction
Start by tracing how COPILOT_PROVIDER_WIRE_API=responses constructs requests and where reasoningEffort is set from the model configuration. Check the provider and model-effort handling against the xAI behavior described in the issue; done means supporting an off setting or custom COPILOT_MODEL_EFFORT value so the request succeeds without an unsupported parameter.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100