Skip to content

Poor contrast and text selection UX in shell command timeline blocks (macOS dark mode) #2359

@dezgit2025

Description

@dezgit2025

Summary

On macOS in dark mode, the contrast in shell command timeline blocks is insufficient, making it difficult to read code and select lines to copy.

Description

When Copilot CLI displays executed shell commands in the timeline (e.g., inline Python or bash blocks), the text renders with very low contrast against the dark background. This is especially noticeable on MacBook displays in dark mode.

Additionally, there is no clear affordance for selecting or copying individual lines from these blocks — the 243 lines... truncation indicator further makes it hard to know what content is available.

Steps to Reproduce

  1. Run any multi-line shell command in Copilot CLI (e.g., a Python script via python3 -c)
  2. Observe the collapsed command block in the timeline
  3. Try to read or select/copy lines from the block on a MacBook in macOS dark mode

Expected Behavior

  • Text in command timeline blocks should have sufficient contrast (WCAG AA minimum: 4.5:1) to be readable on all macOS display profiles, including dark mode
  • Lines should be easily selectable or copyable, ideally with a click-to-copy or hover-to-reveal affordance
  • Truncated output (e.g., 243 lines...) should have a clear way to expand or copy the full content

Actual Behavior

  • Low-contrast gray text on dark background in shell blocks is hard to read
  • No clear way to select/copy individual lines
  • Output is truncated with no expand option visible in the UI

Environment

  • OS: macOS (dark mode)
  • Hardware: MacBook
  • CLI version: 1.0.13-1
  • Terminal: Default macOS Terminal / iTerm2

Suggested Fix

  • Increase text brightness/contrast in timeline shell blocks for dark mode
  • Add a hover-to-copy affordance per line, similar to GitHub's code block UI
  • Provide an expand button on truncated output blocks

This is a usability issue that affects readability and workflow when reviewing what commands were run.

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