-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Describe the feature or problem you'd like to solve
The /theme command currently supports three high-level modes (auto, dark, light) that control overall ANSI color contrast — which is great for a baseline. It would be wonderful to take this further with fine-grained theming that allows customizing the appearance of individual UI elements. This would help users visually distinguish between user prompts, assistant responses, status indicators, and tool output — especially during long sessions where scrolling back to find specific parts of the conversation can be challenging.
Proposed solution
It would be great to support per-element styling overrides in config.json (or a dedicated theme.json file). We can think along the lines of:
| UI Element | Customization |
|---|---|
| User prompt text | Foreground color |
| Assistant response text | Foreground color |
| User chevron/icon (❯) | Color, optionally the character itself |
| Prompt input border / frame | Border color, style |
| "Thinking" / status indicators | Foreground color, animation style |
| Tool execution output | Foreground color (muted vs. primary) |
| Diff view | Addition/deletion colors |
| Code blocks | Background and foreground colors |
| Timeline / progress bars | Accent color |
A possible config.json structure could look like:
{
"theme": "dark",
"themeOverrides": {
"userPromptFg": "green",
"assistantResponseFg": "white",
"userChevronColor": "cyan",
"promptBorderColor": "blue",
"thinkingIndicatorFg": "yellow",
"toolOutputFg": "gray",
"diffAddFg": "#22c55e",
"diffRemoveFg": "#ef4444",
"codeBlockBg": "#1e1e2e"
}
}Supporting both named ANSI colors ("green", "cyan") and hex values ("#00FF00") for true-color terminals would make this flexible for a wide range of setups.
Example prompts or workflows
- Users who want their prompts to stand out could set
userPromptFg: "green"andpromptBorderColor: "cyan"while keeping responses in default white — making it easy to scroll back and locate what was typed. - Streamers could create visually appealing themes with branded accent colors.
- Users with accessibility needs could increase contrast on specific elements without changing the entire terminal color scheme.
- Teams could create and share theme JSON files for a consistent experience.
Additional context
- Environment: Windows, Windows Terminal, Copilot CLI latest
This issue was created using GitHub Copilot CLI 😃