Themes

August 16, 2026 ยท View on GitHub

16 built-in palettes, switchable anytime with /theme (no args opens the picker with the current theme marked โ—) or /theme <name>. Custom themes: /theme custom:<name>.

Built-in Themes

ThemeBackgroundDescription
pasteldarkGentle pastels. Anime-inspired, high-contrast, low-saturation multicolor cards.
cyberpunkdarkCyberpunk. Neon, extreme contrast, flashy.
observatorydarkFive-element stars. Traditional Chinese five-element palette on a dark star-lord base.
midnightdarkGitHub dark. Minimal neutral grays, crisp.
starfielddarkConstellations. Rivet-native star-map aesthetics: sky-blue primary with nebula-purple accents.
tianshudarkInk-black night. 95% ink gray with star-gold primary and cinnabar user accents; restrained.
claudedarkPort of the official Claude Code TUI palette. Classic orange.
ziweidarkZiwei star emperor. Cinnabar-red markers on imperial-purple accents, classical Chinese star-map aesthetics.
slatedarkCalm slate gray. A single cool Teal primary, achromatic structure, low glare for long sessions.
dawndarkDawn star morning. Cyan-blue borders, warm-gold titles, fog-gray body, close to the Tianshu splash.
antigravitydarkCodex style. Cool cyan accent, bright gray structural text, modern and restrained.
cobaltdarkCobalt cool neutral (default style). oklch-blended with a crisp lightness ramp.
graphitedarkGraphite ice-cyan (professional default). Neutral grays + a single ice-cyan accent; low-saturation semantic colors for long coding sessions.
geminidarkGemini style. Nebula glow gradient (cool indigo + nebula purple) with aurora mint.
paperlightPaper white. For light terminals; semantic colors deepened and brightened, indigo accent.
light-ansilightLight ANSI. A clean 16-color build that follows the terminal's own palette; light-background friendly.

Terminal Detection & Degradation

  • Auto detection: on startup, dark/light background is chosen via auto theme detection.
  • 16-color degradation: terminals without truecolor automatically fall back to an ANSI 16-color mapping of the semantic colors.
  • ASCII degradation: on legacy terminals, emoji icons (๐Ÿ“ etc.) degrade to ASCII (~) for stable width.
  • No rendering breaks at any terminal width: narrow widths drop minor segments progressively; extreme narrow truncates the model segment.

Custom Themes

/theme custom:<name> uses a custom palette. Definitions live in src/theme-palettes.ts (semantic tokens โ†’ color values + background + description). description is the single source of truth for the /theme picker โ€” new themes must carry one.

Themes & Readability

  • Semantic colors (primary/secondary/success/warning/error/dim/muted, etc.) keep tool cards, red/green diffs, approval cards, and panels readable under any theme.
  • Dim-level information (reasoning channels, turn summaries, subagent terminal lines) stays legible on light themes too.