The Shelly CLI supports 280+ built-in themes via bubbletint, with the ability to customize colors and create your own themes.
Quick Start
1
2
3
4
5
6
7
8
9
10
11
# List available themesshelly theme list
# Set a themeshelly theme set dracula
# Preview a themeshelly theme preview nord
# Show current themeshelly theme current
Built-in Themes
The CLI includes 280+ themes from bubbletint. Here are some popular options:
Dark Themes
Theme
Description
dracula
Dark theme with vibrant purple, pink, and green (default)
nord
Arctic, north-bluish color palette
gruvbox-dark
Warm, retro groove colors
tokyo-night
Modern dark theme inspired by Tokyo
catppuccin-mocha
Soothing pastel theme - Mocha variant
one-dark
Atom One Dark color scheme
monokai
Classic syntax highlighting theme
material
Material Design inspired colors
solarized-dark
Precision colors for machines and people
ayu-dark
Simple, bright colors with dark background
Light Themes
Theme
Description
solarized-light
Light variant of Solarized
catppuccin-latte
Light pastel theme - Latte variant
gruvbox-light
Light variant of Gruvbox
one-light
Atom One Light color scheme
ayu-light
Light variant of Ayu
Specialized Themes
Theme
Description
cyberpunk
Neon-inspired cyberpunk aesthetic
synthwave
80s retrowave inspired
github-dark
GitHub’s dark theme
vs-code
VS Code default dark theme
sublime
Sublime Text inspired
Setting a Theme
Via Command
1
shelly theme set <theme-name>
Via Configuration
1
2
# ~/.config/shelly/config.yamltheme: dracula
Via Environment Variable
1
exportSHELLY_THEME=nord
Theme Configuration
The theme setting supports three formats:
1. Simple Theme Name
1
theme: dracula
2. Theme with Color Overrides
Override specific colors while keeping the base theme:
This allows using a compact theme for CLI output while having a different aesthetic for the dashboard.
Color Overrides
Override individual colors without changing the base theme:
1
2
3
4
5
theme:
name: dracula
colors:
green: "#00ff88"# Brighter green for successcyan: "#00ccff"# Different highlight color
Theme Preview
Preview how a theme looks before setting it:
1
2
3
4
5
6
7
# Preview a built-in themeshelly theme preview nord
# The preview shows:# - Color palette# - Sample output with the theme applied# - How different elements appear
Listing Themes
1
2
3
4
5
6
7
8
# List all available themesshelly theme list
# Filter themes by nameshelly theme list --filter dark
# Show themes with descriptionsshelly theme list --verbose
Theme Categories
Themes are organized into categories:
Category
Description
Dark
Dark background themes
Light
Light background themes
Pastel
Soft, muted color themes
Vibrant
High contrast, colorful themes
Retro
Vintage-inspired themes
Material
Material Design based
Syntax
Based on code editor themes
How Themes Are Applied
Themes affect all CLI output:
Status Indicators
1
2
3
4
# With dracula theme:
online (green)
offline (red)
updating (yellow)
NAME ADDRESS STATUS
living-room 192.168.1.100 online (green)
kitchen 192.168.1.101 online (green)
garage 192.168.1.102 offline (red)
Progress Indicators
1
Processing devices... (spinner in theme accent color)
Disabling Colors
For scripts or piping, disable colors:
1
2
3
4
5
6
7
8
9
10
# Via flagshelly device list --no-color
# Via environmentexportSHELLY_NO_COLOR=1shelly device list
# NO_COLOR standardexportNO_COLOR=1shelly device list
Semantic Colors
The theme system includes semantic color roles that provide consistent meaning across the entire CLI. These colors are automatically mapped from the selected theme but can be overridden in your config.
Available Semantic Colors
Role
Purpose
Default Mapping
primary
Main actions, highlights
Purple
secondary
Supporting UI elements
Blue
highlight
Emphasis, selection
Cyan
muted
Disabled, less important
Gray (bright_black)
text
Primary text
Foreground
alt_text
Secondary text
Gray (bright_black)
success
Successful operations
Green
warning
Warnings, cautions
Yellow
error
Errors, failures
Red
info
Informational messages
Cyan
background
Main background
Background
alt_background
Alternate background
Gray (bright_black)
online
Device online status
Green
offline
Device offline status
Red
updating
Device updating
Yellow
idle
Device idle/inactive
Gray
table_header
Table headers
Cyan
table_cell
Table cells
Yellow
table_alt_cell
Alternating table cells
Orange
table_border
Table borders
Purple
Viewing Current Semantic Colors
Use the theme semantic command to see how colors are mapped:
1
shelly theme semantic
This displays a color swatch for each semantic role.
Overriding Semantic Colors
Add a semantic section to your config to customize specific colors:
1
2
3
4
5
6
7
# ~/.config/shelly/config.yamltheme:
name: dracula
semantic:
primary: "#ff79c6"# Use pink instead of purplesuccess: "#8be9fd"# Use cyan instead of greentable_header: "#ffb86c"# Orange table headers
Only the colors you specify are overridden; the rest use the theme defaults.
Theme-Specific Mappings
Popular themes have curated semantic mappings that match their aesthetic: