Skip to content

Feature Request: Fine-grained per-element theming (border colors, chevron, prompt vs response foreground) #2123

@harshit7962

Description

@harshit7962

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

  1. 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.
  2. Streamers could create visually appealing themes with branded accent colors.
  3. Users with accessibility needs could increase contrast on specific elements without changing the entire terminal color scheme.
  4. 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 😃

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions