[BUG] Agent view ignores 'theme' setting; uses defaults instead of user's configured theme
Summary
The new agent view (claude agents, shipped 2026-05-11 in 2.1.139) does not honor the theme key from ~/.claude/settings.json. Regular interactive claude sessions use the configured theme correctly; agent view falls back to default colors regardless.
Steps to reproduce
- Configure a non-default theme in
~/.claude/settings.json, e.g.:
``json`
{ "theme": "custom:eink-kaleido" }
~/.claude/themes/` reproduces; built-in non-default themes should as well.)
(Any custom theme registered in
- Run
claudeinteractively — the configured theme is applied as expected. - Run
claude agents— the dashboard appears with default styling, not the configured theme.
Expected
Agent view inherits the same theme setting as the main interactive session, including custom themes registered under ~/.claude/themes/.
Actual
Agent view uses default colors. No theme inheritance, no agentView.theme setting documented, no warning/error.
Why this matters (not just cosmetic)
I run Claude Code on a Kaleido 3 e-ink display where the contrast/saturation of UI colors is functional, not decorative — default themes are unreadable on this hardware. My custom theme (custom:eink-kaleido) is tuned for Kaleido 3's color filter array, and not having it in agent view makes the dashboard practically unusable for me. There are presumably also accessibility cases (low-vision users with tuned high-contrast themes) where this matters similarly.
Suggested fix
Have agent view read the same theme resolution path as the main session, including custom themes under ~/.claude/themes/. Alternatively (or additionally), accept an agentView.theme override for users who want the dashboard styled differently from their session.
Environment
- Claude Code: 2.1.139
- OS: Windows 11 Pro (10.0.26200)
- Shell: Git Bash / MINGW64 (launched as
winpty claude agentsdue to TTY-detection — orthogonal issue) - Display: Dasung Paperlike Color (Kaleido 3 panel)
- Settings file location:
E:/Projects/.claude/settings.json(viaCLAUDE_CONFIG_DIR)