github / github/copilot-cli

Feature request: /config slash command — interactive editor for all writable settings (Claude Code parity)

Aperta
#3,352 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:configuration
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

Copilot CLI today spreads writable settings across many individual slash commands (`/model`, `/theme`, `/statusline`, `/footer`, `/experimental`, `/autopilot`, `/streamer-mode`, `/instructions`, `/keep-alive`, permissions commands, etc.) plus direct hand-edits of `~/.copilot/config.json`. There is no single, interactive command that surfaces every writable setting in one place and lets me change it inline.

This makes routine tuning slower than it should be. To audit current settings I have to either run `/env` (read-only) or chain multiple slash commands; to actually change something I have to remember which command owns which setting, or pop out to a text editor for `config.json`.

To be explicit: **I am not asking for another `/env`.** `/env` is a read-only dump (it's what closed #1789 / `/inspect` shipped as), and it's great for that purpose. This request is the editor counterpart: an interactive panel where I can both see *and modify* settings without leaving the session.

### Prior art: Claude Code's `/config`

Claude Code has a `/config` (alias `/settings`) command, documented as:

> Open the Settings interface to adjust theme, model, output style, and other preferences.

It opens an interactive TUI panel that lists settings grouped by category, lets you navigate with arrow keys, and change values inline (toggles, pickers, free-form fields). When you leave the panel, the changes are persisted to the underlying settings file automatically. It's the single command most people reach for when they want to tweak something and don't want to memorize the exact slash command or hand-edit JSON.

### Proposed solution

Add a `/config` (or `/settings`) slash command that opens an interactive alt-screen panel consolidating every writable setting currently scattered across:

- `/model` (model selection)
- `/theme` (color mode)
- `/statusline`, `/footer` (status line items)
- `/experimental` (mode + feature flags)
- `/autopilot`, `/streamer-mode` (toggles)
- `/instructions` (custom instruction file enable/disable)
- `/keep-alive` (sleep prevention)
- `/lsp` (language server config)
- Permissions (`/allow-all`, `/add-dir`, etc.)
- Anything else currently editable only via `~/.copilot/config.json`

Suggested interaction model (mirrors what already exists for checkpoints / MCP management):

- Settings grouped by category, collapsible
- `↑ / ↓` to navigate, `Enter` to edit a value
- Type-appropriate editors: toggles for booleans, pickers for enums, free text for strings, numeric input where relevant
- `Esc` to close, changes persisted to `config.json` on the way out
- A small description / current source (default vs user-set vs env-overridden) for each row

### Why this is distinct from existing commands

| Command | Purpose | Editable? |
| --- | --- | --- |
| `/env` (shipped from #1789) | Read-only dump of everything loaded | No |
| `/model`, `/theme`, etc. | Edit one setting at a time, must know the name | One thing each |
| Hand-edit `~/.copilot/config.json` | Edit anything | Yes, but no UI, no validation, easy to typo |
| **`/config` (this request)** | **Edit everything from one place, in-session** | **Yes** |

### Example workflows

1. New user wants to enable experimental mode, switch model, and turn on autopilot. Today: three separate commands. With `/config`: open panel, toggle three rows, close.
2. I want to bump reasoning effort but can't remember if it's under `/model`, `/experimental`, or `config.json`. With `/config`: open panel, find the row, change the value, done.
3. I'm helping a teammate set up Copilot CLI over a screenshare. With `/config`: walk them through one screen instead of dictating a sequence of slash commands.

### Additional context

- OS: Windows 11
- Shell: PowerShell 7
- This is the editor complement to the closed `/inspect` proposal (#1789) which shipped as the read-only `/env`. Together they would cover the full "view + change configuration without leaving the session" workflow.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando i comandi slash esistenti menzionati nella richiesta, in particolare /model, /theme, /experimental, /autopilot, /env e le impostazioni memorizzate in ~/.copilot/config.json. Determina come questi comandi leggono e rendono persistenti i valori modificabili prima di progettare il pannello interattivo. Il lavoro è completo quando un’unica interfaccia nella sessione può modificare le impostazioni richieste, convalidare i valori e rendere persistenti le modifiche alla chiusura.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
shell
Ambito
cli, developer-experience
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.