Add 'system' theme option to follow OS appearance
Status Fixed / completed
Maintainer reply None cached
Activity 9 comments · opened Mar 13, 2026 · closed Aug 17, 2026
Summary
Claude Code's theme setting offers light and dark modes, but no "system" option that follows the OS appearance. On macOS (and other platforms), the OS can automatically switch between light and dark mode based on time of day. Claude Code should be able to follow this setting.
Proposed behavior
Add a "system" option to the theme setting that tracks the OS appearance mode at startup (and ideally reacts to changes during a session).
On macOS, the current appearance can be read via:
defaults read -g AppleInterfaceStyle 2>/dev/null # returns "Dark" or fails (= Light)
Motivation
Users whose OS switches appearance based on time of day currently have to manually toggle the Claude Code theme via /config each time. A "system" option would make this seamless.
Showing cached comments. Read the full discussion on GitHub ↗
8 Comments
Hope this will be implemented soon, since most terminal apps like Ghostty and Hyper already support dynamic themes
Not stale :)
+1. Building a multi-app theme switcher and Claude Code is the only tool in the stack that can't pick up dark/light changes without a restart. A
"theme": "auto"option that follows OS appearance would solve this cleanly, but even just watching~/.claude.jsonfor external writes (or an env var likeCLAUDE_THEME) would unblock programmatic switching.I want this too!
Adding my 2 cents:
Add automatic light/dark theme switching based on system/terminal appearance
Problem
When switching between light and dark mode on macOS (or other OSes with system-wide appearance settings), Claude Code requires manually running
/themeto switch between light and dark themes. This creates friction, especially for users who use automatic appearance scheduling (e.g., macOS switching to dark mode at sunset).Proposed Solution
Add a "System" or "Auto" option to the
/themepicker that automatically detects the terminal's background color and applies the appropriate light or dark theme.The current options are:
A new option like "Auto (follow system)" could be added that:
Prior Art
Many terminal applications support this. For example, Vim/Neovim can query
$COLORFGBGor use OSC 11 to detect terminal background color. Some terminals also set environment variables or respond to escape sequence queries that indicate light vs. dark mode.Environment
They added it!!
Great, now I feel more greedy, auto theme but follow ANSI-color, guess I have to open another issue.
It's weird to hard-code light/dark colors when the ANSI colorset + mapping is _right there_. Why not just use the terminal's colors for things? Then it'll seamlessly incorporate people's theme + color choices.
(This is effectively what Codex does.)