[BUG] Theme setting applies to user input but not assistant output

Resolved 💬 7 comments Opened Dec 16, 2025 by professor-k Closed Mar 14, 2026

Environment

  • Claude Code version: 2.0.70
  • OS: Windows 11
  • Terminal: Windows Terminal with 16-color palette (Vintage)

Bug Description

Theme selection via /config has no effect on assistant (Claude) output. The theme is correctly applied to some UI elements but completely ignored for assistant message rendering.

Theme applies to:

  • /config dialog preview
  • User inputs
  • Commands like /config shown in conversation history
  • Write tool file previews (see screenshot below)

Theme ignored:

  • All assistant/Claude responses
  • Code blocks in assistant messages
  • Any markdown rendered in assistant output

This suggests the assistant message markdown renderer uses a different theme source than other components.

Screenshot

The screenshot below shows the same HTML code rendered in two contexts:

  • Top: Assistant message output - ANSI console colors, theme NOT applied
  • Bottom: Write tool preview - theme IS applied

<img width="1096" height="964" alt="Image" src="https://github.com/user-attachments/assets/88487af0-ab3b-42d2-b512-86cb48de8f0b" />

Steps to Reproduce

  1. Start Claude Code in Windows Terminal with a 16-color palette
  2. Run /config and change theme (e.g., from "Dark mode" to "Light mode (colorblind-friendly)")
  3. Observe the preview in the config dialog updates correctly
  4. Close config dialog
  5. Ask Claude to generate some code (e.g., "generate hello world html snippet")
  6. Notice: code in assistant response uses wrong/default colors
  7. Ask Claude to save it to a file
  8. Notice: Write tool preview uses correct theme colors

Expected Behavior

Theme selection should apply to all rendered content, including assistant responses and code blocks.

Actual Behavior

Theme only affects user input, config UI, and tool previews. Assistant message output (including code blocks) remains unchanged regardless of theme selection.

Root Cause Analysis

After investigating the minified source code, the issue appears to be inconsistent theme sources:

  • Some components use I2() React context (updates when theme changes)
  • Others use b1().theme (reads from config file, possibly cached at startup)

The 5 places using b1().theme likely include the assistant message markdown renderer.

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗