Themes

Restyle the Tau TUI with JSON theme files, from single colors to full custom palettes.

Tau’s TUI themes are JSON files. The built-in themes (tau-dark, tau-light, high-contrast) ship as JSON inside the package and load through the same parser as custom themes, so they double as reference examples: src/tau_coding/tui/themes/.

Adding a custom theme

Drop a .json file into one of the theme directories:

Themes are discovered at startup; restart Tau after adding or editing a file. Invalid theme files are skipped with a startup notice — they never prevent Tau from starting. Select a theme with /theme <name>, the /theme picker, or Textual’s command palette. The selection is persisted in ~/.tau/tui.json — see Configuration.

Theme format

{
  "name": "my-theme",
  "dark": true,
  "syntax_theme": "ansi_dark",
  "vars": {
    "base": "#1e1e2e",
    "text": "#cdd6f4",
    "teal": "#94e2d5"
  },
  "colors": {
    "screen_background": "base",
    "screen_text": "text",
    "completion_selected": "bold base on teal",
    "…": "all color fields are required"
  },
  "roles": {
    "user": { "border": "teal", "body": "text on base" },
    "…": "all roles are required"
  }
}

Validation reports every problem in a file at once, so a new theme can be fixed in one pass.