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" and promptBorderColor: "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 😃