Skip to content

Themes

Hive ships with five built-in color themes. Each theme defines 9 semantic colors that drive all TUI styles.

tui:
  theme: catppuccin

Available Themes

Theme Description
tokyo-night Default — cool blue/purple
gruvbox Warm retro
catppuccin Catppuccin Mocha
kanagawa Kanagawa Wave
onedark One Dark

Semantic Color Roles

Role Usage
Primary Selections, borders, active elements
Secondary IDs, branches, links
Foreground Main text
Muted De-emphasized text, help text, dividers
Background Base background
Surface Elevated surfaces (modals, selections, status bar)
Success Positive states (active agent, open PRs, clean git)
Warning Caution states (needs approval, dirty git)
Error Error states, destructive actions, search highlights

Live preview

Use the :ThemePreview command in the TUI to cycle through available themes and see them applied in real time.

Adding a Theme

Add a new palette to internal/core/styles/themes.go:

"my-theme": {
    Primary:    lipgloss.Color("#hex"),
    Secondary:  lipgloss.Color("#hex"),
    Foreground: lipgloss.Color("#hex"),
    Muted:      lipgloss.Color("#hex"),
    Background: lipgloss.Color("#hex"),
    Surface:    lipgloss.Color("#hex"),
    Success:    lipgloss.Color("#hex"),
    Warning:    lipgloss.Color("#hex"),
    Error:      lipgloss.Color("#hex"),
},

All 70+ lipgloss styles are rebuilt from these 9 colors by SetTheme(), so adding a palette entry is all that's needed.