What would you like to be added?
Qwen Code currently defaults to the "Qwen Dark" theme regardless of the user's terminal appearance. When running in a terminal with a light (white) background, the dark theme colors — especially text and UI elements — can look washed out, hard to read, or visually clashing.
It would be great if Qwen Code could automatically detect whether the terminal has a light or dark background and select an appropriate default theme accordingly (e.g., "Qwen Light" for light terminals and "Qwen Dark" for dark terminals).
Users who have explicitly chosen a theme via /theme should not be affected — this would only change the behavior when no theme preference has been set.
Why is this needed?
- Many developers use light-background terminals (e.g., the default macOS Terminal profile, certain VS Code themes, or themed setups). The current dark-theme default makes the experience feel broken or hard to use out of the box for these users.
- A good first impression matters — new users shouldn't need to hunt for the
/theme command before they can comfortably read the output.
- Several popular CLI tools already adapt to terminal background color automatically, so users expect this behavior.
- Qwen Code already ships with excellent light themes (like "Qwen Light"), but most users on light terminals may never discover them.
Additional context
Qwen Code already includes multiple light themes ("Qwen Light", "Default Light", "Ayu Light", "GitHub Light", etc.) and a /theme command for manual selection, so the themes themselves are ready — the missing piece is automatic detection and defaulting.
Terminal background detection is a well-established technique used by tools like bat, delta, and Vim. Most modern terminals (iTerm2, Terminal.app, GNOME Terminal, Kitty, WezTerm, Alacritty, Windows Terminal, etc.) support the OSC 11 escape sequence, which allows a program to query the current background color at runtime. For terminals that don't respond, a safe fallback to the current dark default would keep the experience unchanged.
Libraries like os-theme already implement this for Node.js, so this is a solved problem rather than uncharted territory.
What would you like to be added?
Qwen Code currently defaults to the "Qwen Dark" theme regardless of the user's terminal appearance. When running in a terminal with a light (white) background, the dark theme colors — especially text and UI elements — can look washed out, hard to read, or visually clashing.
It would be great if Qwen Code could automatically detect whether the terminal has a light or dark background and select an appropriate default theme accordingly (e.g., "Qwen Light" for light terminals and "Qwen Dark" for dark terminals).
Users who have explicitly chosen a theme via
/themeshould not be affected — this would only change the behavior when no theme preference has been set.Why is this needed?
/themecommand before they can comfortably read the output.Additional context
Qwen Code already includes multiple light themes ("Qwen Light", "Default Light", "Ayu Light", "GitHub Light", etc.) and a
/themecommand for manual selection, so the themes themselves are ready — the missing piece is automatic detection and defaulting.Terminal background detection is a well-established technique used by tools like
bat,delta, and Vim. Most modern terminals (iTerm2, Terminal.app, GNOME Terminal, Kitty, WezTerm, Alacritty, Windows Terminal, etc.) support the OSC 11 escape sequence, which allows a program to query the current background color at runtime. For terminals that don't respond, a safe fallback to the current dark default would keep the experience unchanged.Libraries like
os-themealready implement this for Node.js, so this is a solved problem rather than uncharted territory.