Claude Code Custom Themes: Create, Edit, and Ship Named Terminal Themes
Claude Code v2.1.118 introduces a fully extensible theme system, allowing developers to create and switch between named custom themes from the /theme command, hand-edit theme definitions as JSON files stored in ~/.claude/themes/, and bundle themes inside Claude Code plugins for distribution. Previously, theming was limited to a small set of built-in options with no way to define custom color palettes. This release transforms theming from a static selector into a first-class customization surface that the broader plugin ecosystem can build on.
Sources & Mentions
5 external resources covering this update
Shawn Tenam: Claude Code v2.1.118 β Vim visual modes and custom themes
X
claude-code-themes community theme repository (Piebald-AI)
GitHub
FEATURE: Custom theming + syntax highlighting plugin API β Issue #42189
GitHub
The Ultimate Claude Code Guide: Every Hidden Trick, Hack, and Power Feature
Dev.to
Settings reference
Claude Code Docs
Custom Terminal Themes Are Now a First-Class Feature in Claude Code
Anthropic introduced a full custom theme system in Claude Code v2.1.118, moving beyond the previous handful of built-in options and enabling developers to define, name, store, and distribute their own terminal color palettes.
How the New Theme System Works
The /theme command now acts as both a selector and a creation interface. Developers can:
- Create named themes directly from within
/themeβ define a palette, give it a name, and it persists across sessions - Hand-edit JSON theme files stored in
~/.claude/themes/β each file maps Claude Code's UI elements to color values, supportingrgb(r,g,b)notation or standard ANSI color names - Bundle themes in plugins β any Claude Code plugin can include a
themes/directory, allowing theme authors and teams to distribute palettes alongside skills, hooks, or MCP configurations
The new "Auto (match terminal)" option is the zero-configuration entry point: it detects the terminal's current dark or light preference and adjusts Claude Code's color scheme automatically.
Why This Matters
Claude Code's previous theming model served basic accessibility needs β colorblind-friendly variants, ANSI-only palettes for older terminals β but offered no way to align Claude Code's colors with a developer's existing terminal theme. Many developers spend effort maintaining a coherent color scheme across their editor, shell, and tooling. Until now, Claude Code sat outside that system.
With JSON-editable theme files and plugin distribution, the community can now build and share themes the same way it builds and shares skills. The claude-code-themes GitHub topic already hosts community-authored palettes; this update provides the native infrastructure to use them without third-party workarounds.
Plugin Authors: Ship Themes with Your Plugin
For plugin authors, the themes/ directory support is particularly significant. A plugin that installs a specialized workflow can now also install a matching visual theme, giving users a coherent experience without requiring manual color configuration. Theme distribution follows the same marketplace and install flow as other plugin assets.
Related Change: /cost and /stats Merged into /usage
The same release consolidates the /cost and /stats commands into /usage, which now presents both cost and token statistics in a tabbed interface. Both legacy commands remain as shortcuts that open the relevant tab, so existing workflows continue to work. This is a minor but welcome simplification for users who previously had to remember which command showed which metric.