github / github/copilot-cli

Expose extended thinking as a control independent of reasoning effort

Ouverte
#3,888 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area:models
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### Describe the feature or problem you'd like to solve

For Anthropic models (e.g. Claude Opus 4.8), thinking and reasoning effort are separate API parameters, but the CLI only exposes effort. There's no first-class way to turn extended thinking on/off independently of the effort level.

### Proposed solution

Surface thinking as its own control, decoupled from reasoning effort:

- a `--thinking on|off` flag (and `/thinking off` in interactive mode), and/or
- a 4th step in the `/model` wizard. It's currently model → reasoning effort → context size; add a Thinking on/off step.

Default to current behavior so nothing changes unless a user opts in, on models that support it.

### Why

- Anthropic exposes `effort` (token spend, all output) and `thinking` (`adaptive`/`disabled`) as independent params; `effort` explicitly doesn't require thinking enabled. Docs: [effort](https://platform.claude.com/docs/en/build-with-claude/effort), [extended thinking](https://platform.claude.com/docs/en/build-with-claude/extended-thinking).
- Cursor's CLI already ships both axes (`claude-opus-4-8-xhigh` vs `claude-opus-4-8-thinking-xhigh`), so it's implementable on a CLI surface.
- The plumbing already exists in the CLI: `COPILOT_DISABLE_ANTHROPIC_THINKING=1` sets `thinking: {type: "disabled"}` while keeping effort, and is honored end-to-end. But it's an undocumented, launch-only, process-wide env var that's invisible in `/model` — this ask is to promote it to a real control.

### Example workflows

- `--model claude-opus-4.8 --effort xhigh --thinking off`: long agentic run at high effort, no thinking tokens.
- `--effort low --thinking on`: cheap pass that still reasons on hard subproblems.
- Headless `--print` runs pinned to thinking off for lower-latency, deterministic output.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by tracing the existing --effort handling and the COPILOT_DISABLE_ANTHROPIC_THINKING environment-variable path. Then inspect the /model wizard, interactive /thinking command, and --print mode to determine where the new control must be surfaced. Done means thinking can be toggled independently while preserving current defaults and effort behavior on supported models.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
shell
Domaine
cli
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.