Claude Code /theme Explained: Give Your Terminal a New Look
Why /theme
Claude Code defaults to a dark theme. But not everyone uses a dark terminal — some prefer light backgrounds, some have color vision deficiencies, and some terminals only support 16 colors.
/theme lets you switch themes instantly, adapting Claude Code’s colors to your terminal environment.
What Is /theme
/theme is Claude Code’s theme switching command. It opens an interactive picker that lets you preview and select a theme.
/theme
The selected theme takes effect immediately and is saved to your global config (~/.claude/), applying across all projects.
7 Theme Options
| Option | Display Name | Description |
|---|---|---|
auto | Auto (match terminal) | Automatically matches terminal dark/light mode |
dark | Dark mode | Dark theme (default) |
light | Light mode | Light theme |
dark-daltonized | Dark mode (colorblind-friendly) | Dark, colorblind-friendly |
light-daltonized | Light mode (colorblind-friendly) | Light, colorblind-friendly |
dark-ansi | Dark mode (ANSI colors only) | Dark, 16 colors only |
light-ansi | Light mode (ANSI colors only) | Light, 16 colors only |
Three categories:
- Standard themes (dark / light): Use 24-bit RGB true color, ideal for modern terminals
- Colorblind-friendly themes (daltonized): Optimized for deuteranopia (red-green color blindness), replacing red/green contrasts with blue and yellow
- ANSI themes: Use only the 16 standard ANSI colors, compatible with older terminals and environments without true color support
How Auto Mode Works
When you select auto, Claude Code detects whether your terminal has a dark or light background:
Method 1: Environment Variable
Reads the $COLORFGBG variable (set by iTerm2, Konsole, and similar terminals), formatted as foreground;background (ANSI color indices). Background 0-6 or 8 is classified as dark; 7 or 9-15 as light.
Method 2: OSC 11 Query
Sends an OSC 11 escape sequence to the terminal to retrieve the background RGB value, then calculates luminance using the ITU-R BT.709 formula:
luminance = 0.2126 × R + 0.7152 × G + 0.0722 × B
Luminance > 0.5 → light theme, otherwise → dark theme.
What Themes Affect
Each theme defines 60+ color values, covering nearly every UI element in the terminal:
| Category | Includes |
|---|---|
| Brand colors | Claude’s signature orange rgb(215,119,87) |
| Text | Foreground, inverse, inactive text |
| UI elements | Permission prompts, Plan mode, prompt borders |
| Semantic colors | Success (green), error (red), warning (yellow) |
| Diff | Added lines, removed lines, highlighted words |
| Agents | Sub-agent colors (red/blue/green/yellow/purple/orange/pink/cyan) |
| Selection | Text selection background |
Some specific comparisons:
| Property | Dark | Light |
|---|---|---|
| Text | rgb(255,255,255) white | rgb(0,0,0) black |
| Success | rgb(78,186,101) bright green | rgb(44,122,57) dark green |
| Error | rgb(255,107,128) bright red | rgb(171,43,63) dark red |
| Added line bg | rgb(34,92,43) dim green | rgb(105,219,124) bright green |
| Removed line bg | rgb(122,41,54) dim red | rgb(255,168,180) bright pink |
Colorblind-friendly themes differ by replacing confusing red/green pairings with blue and yellow/orange alternatives.
Preview Mechanism
The /theme picker doesn’t require “select then see” — it supports live preview:
- Move the cursor to a theme and the terminal switches to it immediately
- Press Enter to confirm and save
- Press Escape to cancel and restore the original theme
You can freely browse all themes without worry — cancel reverts everything, no configuration is changed.
Configuration Storage
Theme settings are saved in global config, effective across all projects. You can also set it directly via the /config command:
/config set theme light
Supported values: auto, dark, light, dark-daltonized, light-daltonized, dark-ansi, light-ansi.
Default is dark.
Note for Apple Terminal Users
Apple Terminal (macOS built-in) has poor support for 24-bit RGB escape sequences. If you use Apple Terminal, Claude Code automatically downgrades to 256-color mode.
Recommendations:
- If colors look off, try the
dark-ansiorlight-ansitheme - Or switch to a terminal with true color support like iTerm2, Warp, or Kitty
Difference from /color
Claude Code also has a /color command, which only changes the Agent identifier color (the colored marker next to sub-agent names) without affecting the overall theme.
/theme→ Changes the global color scheme/color→ Only changes the Agent identifier color
Final Thoughts
/theme is a small command, but it solves a real problem: making terminal colors stop hurting your eyes.
The colorblind-friendly and ANSI-compatible theme variants especially show attention to different user groups. Not everyone uses the latest terminal, and not everyone can distinguish red from green.
A great tool isn’t just powerful — it’s comfortable for everyone to use.
More Articles
- Why AI-First Startups Only Need One Programming Language
- cc-ping: Ping All Your Claude Code Configs in One Command
- Shocking! This Tool Lets Programmers Finish 95 Minutes of Work in 4 Minutes! 24x Efficiency Boost
- CCBot - 24x Development Efficiency Boost
- Claude Code /add-dir: The Monorepo Command You Miss
- Claude Code Token-Saving Tip: The Power of the Exclamation Mark
- I Built a Bot That Runs Claude Code From Chat
- Claude Code /btw Command Explained: Quick Side Questions Without Breaking Flow
- Claude Code /compact: Free Up Context, Keep Progress
- Claude Code /config: Every Setting Explained
- Claude Code /context: What's Eating Your Context Window?
- Claude Code /diff: See Exactly What Changed, Turn by Turn
- Claude Code /fast: Same Opus, 2x Speed — Worth It?
- Best Practice for External Knowledge in Claude Code: GitHub MCP + Context7
- Claude Code /hooks: Make AI Follow Your Rules
- Claude Code /init: Generate CLAUDE.md in 10 Seconds
- Claude Code MCP: Give Your AI Access to Any Tool
- Claude Code /memory Explained: Make AI Truly Remember Your Project
- Claude Code /model: Opus vs Sonnet vs Haiku Guide
- Claude Code /permissions: Fine-Grained Control Over What AI Can Do
- Claude Code /plan Explained: Think Before You Code
- Claude Code + Playwright MCP: AI Can Finally "See" the Page
- Claude Code /resume Command Explained: Don't Let Your Conversations Go to Waste
- Claude Code /review: Let AI Do Your Code Review
- Claude Code Skills Explained: Build Your Custom Command Library
- Claude Code /stats: See How Much AI Does For You
- Claude Code /status Command Explained: Your Session Dashboard
- Claude Code /tasks Command Explained: Master Your Background Tasks
- Claude Code /usage Command Explained: Know Your Remaining Quota
- Claude Code /vim: Vim Keybindings in Your AI Coding Assistant
- Claude Code in 2026: The Only Setup Guide You Need
- The Complete Guide to Claude: From Chat to Code to Automation
- Claude Code /agents Explained: Custom AI Sub-Agents, Each with Their Own Role
- Claude Code /doctor Explained: One-Click Diagnostics for Your Dev Environment
- Claude Code /effort Explained: Control How Hard Your AI Thinks
- Claude Code /cost Explained: How Much Is Your AI Coding Really Costing?
- Claude Code /export Explained: Take Your AI Conversations With You
- Claude Code /rewind Explained: AI Made a Mistake? Undo It Instantly
- Claude Code /plugin Explained: Install Plugins for Your AI Coding Assistant
- Claude Code /insights: Using AI to Analyze How You Use AI
- Claude Code /rename Explained: Give Your Sessions Meaningful Names
- Claude Code settings.json Explained (1): Where Config Files Live and Who Wins
- Claude Code settings.json Deep Dive (Part 2): The Permissions System
- Claude Code settings.json Deep Dive (Part 3): The Hooks System
- Claude Code settings.json Deep Dive (4): env, Models, Auth, and Other Useful Fields