github / github/copilot-cli

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

未关闭
#3,352 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:configuration
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### 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.

贡献指南

打开贡献指南

调研方向

Start by reviewing the existing slash commands named in the request, especially /model, /theme, /experimental, /autopilot, /env, and the settings stored in ~/.copilot/config.json. Determine how those commands read and persist writable values before designing the interactive panel. Done means one in-session interface can edit the requested settings, validate values, and persist changes when it closes.

由索引模型根据 Issue 内容生成。

评估

技术栈
shell
领域
cli, developer-experience
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。