Support per-element theming: distinct colors for user prompts vs. assistant responses
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Describe the feature or problem you'd like to solve
Copilot CLI's theme setting only applies a single global color palette ("default", "github", "dim", "high-contrast", "colorblind"). There is no way to assign a different color to submitted user prompts versus Copilot's own responses in the scrollback. This makes it hard to visually scan a long session and quickly locate "what did I ask?" among hundreds of lines of agent output (tool calls, reasoning, code blocks). Chat and email clients solve this with sent-vs-received color distinction; Copilot CLI currently has no equivalent, and a similar highlight that once existed was removed as a cosmetic fix rather than tuned (see #3591). Related open requests already tracked in this repo: #2830 (custom color themes), #3591 (restore removed prompt highlight), #2123 (fine-grained per-element theming), #2746, #2288, #1862.
Proposed solution
No response
Example prompts or workflows
- A user runs a long debugging session and wants to scroll back and instantly spot every message they personally typed, without reading every line of agent output in between.
- A user runs multiple Copilot CLI sessions side by side (e.g., one admin-configured session, one standard session) and wants each session's prompts/responses colored differently to avoid mixing them up visually.
- A user with attention/cognitive processing differences relies on visual chunking to parse conversational turns (WCAG 1.3.1 - Info and Relationships) and needs a built-in, theme-aware way to distinguish turns instead of relying on external terminal tricks.
- A team lead reviewing a shared/exported session log wants user prompts and assistant responses visually separated at a glance, the same way code review tools color additions vs. deletions.
- A user prefers the previous background-highlight behavior on user prompts (removed in a past release) and wants an opt-in toggle to restore it, e.g. { "userPromptHighlight": true }, without waiting for a full custom-theming system.
Additional context
Proposed shape (illustrative only): a themeElements key in settings.json that overrides colors per role, falling back to the active theme preset when unset: { "theme": "github", "themeElements": { "userPrompt": { "foreground": "#E0D0FF", "background": "#1A0A2E" }, "assistantResponse": { "foreground": "#D0FFE0" } } } A minimal first step could be a single boolean toggle to restore the old prompt-highlight behavior, as proposed in #3591, before building a full custom-theming system like #2830 proposes. Happy to have this consolidated into #2830 or #3591 if maintainers prefer a single tracking issue — flagging here mainly to add another concrete use case and a possible incremental implementation path.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the existing theme setting and the rendering paths for user prompts and assistant responses, then review related issues #2830, #3591, and #2123 to determine the intended scope. Done should mean an agreed, theme-aware way to distinguish these elements, with behavior covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- accessibility, cli, design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100