github / github/copilot-cli

Cannot use Grok 4.20 due to reasoningEffort being sent always for responses wire format

Open
#2,932 1 comment 0 reactions 0 assignees View on GitHub
area:configuration area:models
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.