Themes & Appearance
Switch CLI color themes, auto-detect light/dark terminals, and run without color.
The Sophon CLI ships with four hand-tuned color themes plus an automatic monochrome mode. Themes shape the brand accents, syntax highlighting, and diff colors used across panels, tables, and the interactive chat.
Themed visuals are part of the default experience — no opt-in needed. If you opt out of the enhanced UI with SOPHON_CLI_V2=0 (or "v2": false in ~/.sophon/config/cli.json), output falls back to plain console styling. See Configuration & Auth.
The themes
| Theme | Best for |
|---|---|
| indigo-core | The default — balanced indigo accents on a dark terminal |
| deep-void | OLED / true-black terminals; deeper surfaces, brighter brand |
| graphite | A muted, low-saturation look for long sessions |
| daylight | Light terminals; darker text and accents tuned for white backgrounds |
| no-color | Automatic monochrome — no ANSI colors at all |
Setting a theme
From the chat: /theme
In the full-screen chat, /theme opens a picker that repaints the whole screen live as you move through the list — you see the real transcript in the new palette before you commit. Enter keeps it and persists the choice to the theme key in ~/.sophon/config/cli.json; Esc reverts to what you had. /theme <name> switches directly, without the picker.
/theme belongs to the full-screen surface, so the pinned and classic prompts don't offer it — use the environment variable there.
From the environment: SOPHON_THEME
Choose a theme with the SOPHON_THEME environment variable:
SOPHON_THEME=deep-void sophon chatTo apply it to every session, export the variable from your shell profile (~/.bashrc, ~/.zshrc, or your PowerShell $PROFILE):
export SOPHON_THEME=deep-voidForce monochrome output for any reason (logging, pipes, accessibility) with the standard NO_COLOR convention:
NO_COLOR=1 sophon statusAutomatic detection
When you don't set a theme explicitly, the CLI picks one for you. Resolution happens in priority order, and the full-screen chat adds one step the other surfaces don't have yet:
Full-screen chat
NO_COLOR— if set (to any value), the monochrome theme wins and all color is stripped.SOPHON_THEME— an explicit theme name (indigo-core,deep-void,graphite,daylight).- The
themekey incli.json— what/themepersisted last. - Terminal background probe — if your terminal reports a light background (via
COLORFGBG), the CLI selects daylight automatically. indigo-core— the default fallback when nothing else applies.
Everywhere else — the pinned and classic chat surfaces, tables, and every non-chat command — the same order applies with step 3 left out: the persisted cli.json theme isn't consulted on those surfaces yet.
So a light-background terminal that exports COLORFGBG gets readable colors out of the box, and a piped or NO_COLOR environment stays clean — without any configuration.
COLORFGBG is set by many terminal emulators (e.g. some xterm builds, rxvt). If yours doesn't report it, export SOPHON_THEME=daylight from your shell profile.
Where to go next
- Configuration & Auth — the full
cli.jsonkey list and environment overrides - Interactive Chat — the full-screen chat where these themes shine