---
title: Themes
url: https://arcana.otnelhq.com/docs/themes
---

# Themes



Arcana includes **21 built-in themes** (plus an auto-generated `system` theme that follows your terminal) with custom backgrounds and color palettes for supported truecolor terminals. Each theme transforms the terminal UI — from the prompt colors and borders to background imagery and accent highlights.




## Available Themes



Each theme includes a complete color palette with background, foreground, accent, and status colors. Here's a visual preview of each theme's color scheme:





              bloodmoon  
             Dark red accents, gothic 








              coven  
             Purple, mystical 








              crypt  
             Cool blue-grey, stoic 








              dragon  
             Fiery orange-amber 








              lich  
             Ghostly green, undead 








              wraith  
             Ethereal white-silver 








              arcana  
             Default theme, soft lavender 








              grimoire  
             Ancient tome, warm browns 








              jade  
             Imperial jade, deep green 








              oracle  
             Prophetic red, divination 








              sakura  
             Cherry blossom, soft pink 








              arctic  
             Cool sky blue, crisp 








              dracula  
             Classic Dracula palette 








              ember  
             Warm amber on deep brown 








              gruvbox  
             Retro-groove, muted warm 








              monokai  
             Classic Monokai 








              nord  
             Nordic frost blues 








              phosphor  
             Green CRT phosphor glow 








              synthwave  
             Neon cyan on midnight 








              tokyonight  
             Tokyo neon night blue 








              void  
             Pure black, electric blue 










## Setting a Theme



You can set a theme using either the config command or the dedicated theme command:



```
# Set theme via config
arcana config set theme bloodmoon

# Or use the dedicated command
arcana theme set crypt

# Apply immediately without saving (session only)
arcana theme set dragon --temporary
```




## Preview a Theme



Preview a theme without permanently switching to it:



```
# Preview a theme (revert on exit)
arcana theme preview lich

# List available themes with preview
arcana theme list --preview
```




## Managing Themes



```
# List all available themes
arcana theme list

# Show current theme
arcana theme current

# Reset to default theme
arcana theme reset

# Export current theme to file
arcana theme export my-theme.json
```




## Creating a Custom Theme



You can create your own theme by placing a JSON file in `~/.config/arcana/themes/`. Themes use a simple color scheme format:



```
{
  "name": "midnight-ocean",
  "type": "dark",
  "colors": {
    "background": "#0a0e1a",
    "foreground": "#c8d6e5",
    "accent": "#54a0ff",
    "success": "#5fcf80",
    "warning": "#feca57",
    "error": "#ee5a24",
    "info": "#54a0ff",
    "border": "#1e2a4a",
    "selection": "#2e3a5a",
    "muted": "#576574"
  }
}
```



Custom themes appear automatically in `arcana theme list` once placed in the themes directory.




## Color Reference



Each theme supports these color keys:



| Key | Usage | Example |
| --- | --- | --- |
| `background` | Main terminal background | `#0c0a10` |
| `foreground` | Primary text color | `#faf4ef` |
| `accent` | Headings, links, highlights | `#d4a8ff` |
| `success` | Success messages, checkmarks | `#7ec9a8` |
| `warning` | Warning messages, caution | `#e8b86d` |
| `error` | Error messages, failures | `#f08a8a` |
| `info` | Info messages, links | `#8eb6e8` |
| `border` | Borders, dividers | `#1a1820` |
| `selection` | Text selection highlight | `#2e3a5a` |
| `muted` | Muted/secondary text | `#576574` |




## Example Custom Themes




### Ocean Breeze



```
{
  "name": "ocean-breeze",
  "type": "dark",
  "colors": {
    "background": "#0a1628",
    "foreground": "#e8f4f8",
    "accent": "#00b4d8",
    "success": "#48cae4",
    "warning": "#f9c74f",
    "error": "#f94144",
    "info": "#0096c7",
    "border": "#1a3a5c",
    "selection": "#1a3a5c",
    "muted": "#577590"
  }
}
```




### Sunset Glow



```
{
  "name": "sunset-glow",
  "type": "dark",
  "colors": {
    "background": "#1a0f0a",
    "foreground": "#f5e6d3",
    "accent": "#ff6b35",
    "success": "#06d6a0",
    "warning": "#ffd166",
    "error": "#ef476f",
    "info": "#118ab2",
    "border": "#3a2a1a",
    "selection": "#3a2a1a",
    "muted": "#8d6e63"
  }
}
```




### Nord Frost



```
{
  "name": "nord-frost",
  "type": "dark",
  "colors": {
    "background": "#2e3440",
    "foreground": "#eceff4",
    "accent": "#88c0d0",
    "success": "#a3be8c",
    "warning": "#ebcb8b",
    "error": "#bf616a",
    "info": "#5e81ac",
    "border": "#3b4252",
    "selection": "#434c5e",
    "muted": "#7b88a1"
  }
}
```




## Overriding Built-in Themes



To customize a built-in theme, create a file with the same name in your themes directory:



```
# Override the bloodmoon theme with custom colors
~/.config/arcana/themes/bloodmoon.json
```



Your override takes precedence over the built-in version.




## Requirements



- **Truecolor support** — Arcana uses 24-bit truecolor. Supported by most modern terminals (iTerm2, Kitty, Alacritty, Windows Terminal, Gnome Terminal)
- **Kitty image protocol** (optional) — For background images in supported terminals




## Theme File Locations



| Path | Purpose |
| --- | --- |
| `~/.config/arcana/themes/*.json` | Custom user themes |
| `~/.config/arcana/themes/bloodmoon.json` | Custom override of built-in theme |
| `~/.config/arcana/config.json` | Theme setting in config |




## Troubleshooting



- **Colors look wrong?** — Ensure your terminal supports truecolor. Run `arcana doctor` to check.
- **Theme not showing?** — Verify the JSON file is valid and in the correct directory.
- **Want to revert?** — Run `arcana theme reset` to restore the default theme.
