Skip to content

Light theme: agent output text in the terminal is very low-contrast / unreadable #80

@seehowthehunt

Description

@seehowthehunt

Summary

With Visual Studio set to a light theme and the extension on all-default settings, text in the embedded terminal is hard to read: the agent's accent-colored output (cyan / blue / etc. — e.g. inline code, identifiers, highlights) is washed out and nearly invisible against the light background. Plain black/white text is fine; only the colored spans are illegible.

I recall an earlier version (~10.94) not having this problem, but I don't remember the exact conditions — it was on default settings as well.

Screenshot: light-cyan tokens on a light background, barely legible. (Happy to attach if useful.)

Environment

  • Visual Studio 2026 (18.0), Windows
  • VS light color theme, extension default settings
  • Extension version 19.0

Likely cause (from source)

SaveAndSetConsoleColorsRegistry (Controls/ClaudeCodeControl.Terminal.cs, ~line 1739) themes the embedded console by writing only two of the sixteen ANSI palette slots:

// bg -> ColorTable00, fg -> ColorTable07 (black on light, white on dark)
key.SetValue("ScreenColors", screenColors, ...);   // 0x07: fg idx 7 on bg idx 0
key.SetValue("ColorTable00", bgBgr, ...);           // themed background
key.SetValue("ColorTable07", fgBgr, ...);           // black/white default text

The remaining 14 entries — ColorTable0106 and 0815, which are exactly the bright/accent colors the agent TUI uses — are left untouched, i.e. at values tuned for a dark background. So once ColorTable00 is painted a light color (light VS theme), those accent colors have very poor contrast and wash out.

Suggested fix

When the chosen background is light (Brightness(bgColor) > 150), also write a light-appropriate full 16-entry palette (darker/saturated accent colors), not just ColorTable00/ColorTable07. Equivalently, ship a paired light/dark 16-color scheme and apply the matching one based on background brightness.

Caveat

If the agent actually emits 24-bit truecolor escape sequences (rather than the indexed 16-color ANSI palette), then the console ColorTable would not affect those colors and the real cause is elsewhere (e.g. the agent picking a dark-oriented theme). Worth confirming which color mode the embedded conhost is receiving before settling on the fix above.

AI-assisted analysis, based on reading the published source. The "likely cause" is a verified code observation; the exact regression vs. the older version is not pinned down.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions