Skip to content

[Bug] Text selection highlight has very low contrast on dark terminal backgrounds #2216

@dezgit2025

Description

@dezgit2025

Describe the bug

When selecting/highlighting text in the Copilot CLI terminal output, the selection background color (dark purple/indigo) is nearly indistinguishable from the dark terminal background. This makes it very difficult to read selected text or even see what is currently selected.

The issue appears in the default dark theme. Both the code block content and regular response text become almost invisible when highlighted.

Screenshot

The selection highlight (dark purple) against the dark gray background makes text nearly unreadable:

  • White text on dark background → becomes dark blue/purple text on slightly lighter purple background
  • Syntax-highlighted words (green, cyan) → become almost invisible against the purple selection
  • Overall: insufficient contrast ratio between selection background and both the text foreground and the terminal background

Affected version

GitHub Copilot CLI 1.0.10

Environment

  • OS: macOS (Darwin)
  • Terminal: VS Code integrated terminal
  • Theme: Default dark

Steps to reproduce

  1. Start a Copilot CLI session in VS Code terminal (dark theme)
  2. Ask Copilot to output some text (e.g. a code block or paragraph)
  3. Click and drag to select/highlight the output text
  4. Observe that the selection background color has very low contrast — selected text is nearly invisible

Expected behavior

Selected/highlighted text should remain clearly readable. The selection background color should provide sufficient contrast against both the text foreground colors and the terminal background. A lighter highlight color (e.g., a medium blue or lighter purple) would significantly improve readability.

Suggested fix

Consider using a selection background with higher contrast — for example:

  • Lighter purple/blue (#5A4FCF or similar) instead of the current near-black purple
  • Or respect the terminal emulator's native selection colors rather than overriding them

Related issues

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