Skip to content

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

@northaxosky

Description

@northaxosky

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variables
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions