Dark Themes Vol. 2 · 8 / 12

Heliotrope

A violet accent, #DA9BE8, on a #1B161F terminal. Primary text reads at 14.67:1 and secondary text at 6.86:1, measured against that background. Free and MIT licensed, one of the Dark Themes Vol. 2 for Claude Code.

Heliotrope

#DA9BE8
✻ Claude Code · heliotrope
● Applied theme “Heliotrope”
  3 files changed · staged
> show me the diff
>theme heliotrope
/theme  ·  ⏎ send  ·  esc to interrupt

Install Heliotrope.

Requires Claude Code v2.1.118 or later. The marketplace command is needed once per machine; the plugin command installs the whole Dark Themes Vol. 2 pack, and /theme inside Claude Code switches to this one.

$ claude plugin marketplace add notgabriels-sys/claude-code-50-dark-themes
$ claude plugin install dark-themes-vol-2@notgabriels-themes
$ /theme heliotrope

Plugin themes are read-only. Press Ctrl+E on one in /theme for an editable copy in ~/.claude/themes/.

Or copy just this file.

One theme, no plugin: fetch plugins/dark-themes-vol-2/themes/heliotrope.json from the repository into your themes folder. If that folder did not exist when Claude Code started, restart it once.

$ mkdir -p ~/.claude/themes && curl -fsSL https://raw.githubusercontent.com/notgabriels-sys/claude-code-50-dark-themes/main/plugins/dark-themes-vol-2/themes/heliotrope.json -o ~/.claude/themes/heliotrope.json

Terminal background: #1B161F.

Claude Code colours its own interface; the terminal application owns the canvas behind it. Every figure below is measured against #1B161F, so set that as the terminal background for the result the numbers describe. On a different background the ratios move.

Palette.

The thirteen overrides Claude Code reads from the theme file. Success, error, warning and diff colours are deliberately not overridden, so status meaning stays the same across every theme in the pack.

ColourTokenRole
#DA9BE8claudeClaude's mark and accent
#EAC3F2claudeShimmerAccent highlight while Claude works
#ECE8EDtextPrimary text
#A89DAFinactiveSecondary text
#322A36subtleDecorative hairlines (reserved, carries no meaning)
#DA9BE8suggestionAutocomplete suggestions
#B487C5permissionPermission prompt border and indicator
#DA9BE8promptBorderInput prompt border
#EAC3F2promptBorderShimmerPrompt border highlight
#B487C5planModePlan mode indicator
#292330userMessageBackgroundSurface behind your messages
#332C3BuserMessageBackgroundHoverThat surface, hovered
#DA9BE8rate_limit_fillUsage meter fill

Measured contrast.

Computed from the hex values above with the WCAG 2 relative-luminance formula, by the same script that gates every change to this repository. Figures are truncated, never rounded up. Each row meets its floor.

PairColoursRatioFloorStandard
text on terminal background#ECE8ED on #1B161F14.67:17:1WCAG AAA, normal text
text on your-message surface#ECE8ED on #29233012.58:17:1WCAG AAA, normal text
inactive on terminal background#A89DAF on #1B161F6.86:14.5:1WCAG AA, normal text
inactive on your-message surface#A89DAF on #2923305.88:14.5:1WCAG AA, normal text
claude on terminal background#DA9BE8 on #1B161F8.32:14.5:1WCAG AA, normal text
claudeShimmer on terminal background#EAC3F2 on #1B161F11.50:14.5:1WCAG AA, normal text
suggestion on terminal background#DA9BE8 on #1B161F8.32:14.5:1WCAG AA, normal text
permission on terminal background#B487C5 on #1B161F6.10:13:1WCAG AA, non-text
planMode on terminal background#B487C5 on #1B161F6.10:13:1WCAG AA, non-text
promptBorder on terminal background#DA9BE8 on #1B161F8.32:13:1WCAG AA, non-text
promptBorderShimmer on terminal background#EAC3F2 on #1B161F11.50:13:1WCAG AA, non-text
rate_limit_fill on terminal background#DA9BE8 on #1B161F8.32:13:1WCAG AA, non-text
your-message surface against the terminal#292330 on #1B161F1.16:11.08:1visibly distinct surface
hovered surface against the resting one#332C3B on #2923301.13:11.08:1visibly distinct surface