Expose extended thinking as a control independent of reasoning effort
- Lingua principale
- Shell
- Stelle
- 11.2k
- Fork
- 1.9k
- Merge medio
- 14h 16m
- PR unite (30g)
- 6
Descrizione
### 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.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia tracciando la gestione esistente di --effort e il percorso della variabile d’ambiente COPILOT_DISABLE_ANTHROPIC_THINKING. Poi esamina la procedura guidata /model, il comando interattivo /thinking e la modalità --print per determinare dove deve essere esposto il nuovo controllo. Il lavoro è completo quando thinking può essere attivato o disattivato indipendentemente, mantenendo i valori predefiniti attuali e il comportamento di effort sui modelli supportati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- shell
- Ambito
- cli
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100