github / github/copilot-cli

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

Đang mở
#3,352 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
area:configuration
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
shell
Lĩnh vực
cli, developer-experience
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.