JSON Schema and reference doc covering all 69 color tokens for ~/.claude/themes/*.json (Claude Code v2.1.x). A developer has reverse-engineered the Claude Code v2.1.126 binary to produce a JSON Schema and reference document covering all 69 color tokens for `~/.claude/themes/*.json` theme files. While only about 35 tokens are officially documented, the remaining internal tokens remain reachable through overrides, and the schema provides strict validation to catch typos in editors since invalid values are silently ignored at runtime. | { | | "$schema": "https://json-schema.org/draft/2020-12/schema", | | "title": "Claude Code Theme", | | "description": "Schema for Claude Code custom themes ~/.claude/themes/ .json . Requires Claude Code v2.1.118 or later. Token list reverse-engineered from the 2.1.126 binary; ~35 tokens are officially documented at https://code.claude.com/docs/en/terminal-config color-token-reference and the rest are internal but reachable via overrides. Unknown tokens and invalid color values are silently ignored at runtime, so a typo cannot break rendering — but this schema flags them so you catch typos in your editor.", | | "type": "object", | | "additionalProperties": false, | | "properties": { | | "$schema": { | | "type": "string", | | "description": "Reference to this schema for editor autocomplete and validation." | | }, | | "name": { | | "type": "string", | | "description": "Display label shown in /theme. Defaults to the filename slug." | | }, | | "base": { | | "type": "string", | | "default": "dark", | | "description": "Built-in preset the theme starts from. Tokens not listed in overrides fall through to the base preset. Defaults to dark .", | | "enum": | | "dark", | | "light", | | "dark-daltonized", | | "light-daltonized", | | "dark-ansi", | | "light-ansi" | | | | }, | | "overrides": { | | "type": "object", | | "description": "Map of color token names to color values. Tokens not listed fall through to the base preset.", | | "additionalProperties": false, | | "properties": { | | "claude": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Primary brand accent, used for the spinner and assistant label." | | }, | | "claudeShimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Lighter color paired with claude in the spinner's animated gradient." | | }, | | "claudeBlue FOR SYSTEM SPINNER": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Blue variant of the brand accent used by the system spinner; pairs with claudeBlueShimmer FOR SYSTEM SPINNER ." | | }, | | "claudeBlueShimmer FOR SYSTEM SPINNER": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Lighter shimmer paired with claudeBlue FOR SYSTEM SPINNER ." | | }, | | "text": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Default foreground text." | | }, | | "inverseText": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Text drawn on top of a colored background, such as status badges." | | }, | | "inactive": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Secondary text such as hints, timestamps, and disabled items." | | }, | | "inactiveShimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer variant of inactive for animated gradients." | | }, | | "subtle": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Faint borders and de-emphasized secondary text." | | }, | | "permission": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Dialog borders, including permission prompts and pickers." | | }, | | "permissionShimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer variant of permission for animated gradients." | | }, | | "remember": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Memory and CLAUDE.md indicators." | | }, | | "suggestion": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Suggestion-tier UI accents autocomplete prompts, hint banners ." | | }, | | "background": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. General background fill for surfaces that opt into a color rare ." | | }, | | "success": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Success messages and passing checks." | | }, | | "error": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Error messages and failures." | | }, | | "warning": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Warnings, caution messages, and the auto mode border." | | }, | | "warningShimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Lighter color paired with warning in animated gradients." | | }, | | "merged": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Merged pull request status." | | }, | | "promptBorder": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Input box border in the default permission mode." | | }, | | "promptBorderShimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer variant of promptBorder for animated gradients." | | }, | | "planMode": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Plan mode accent and border." | | }, | | "autoAccept": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Accept-edits mode accent and border." | | }, | | "bashBorder": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Input box border when entering a shell command." | | }, | | "ide": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. IDE connection indicator." | | }, | | "fastMode": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Fast mode indicator." | | }, | | "fastModeShimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer variant of fastMode for animated gradients." | | }, | | "diffAdded": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Background of added lines." | | }, | | "diffRemoved": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Background of removed lines." | | }, | | "diffAddedDimmed": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Background of unchanged context near added lines." | | }, | | "diffRemovedDimmed": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Background of unchanged context near removed lines." | | }, | | "diffAddedWord": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Word-level highlight within an added line." | | }, | | "diffRemovedWord": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Word-level highlight within a removed line." | | }, | | "userMessageBackground": { | | "$ref": " /$defs/colorValue", | | "description": "Documented fullscreen mode only . Background behind your messages in the transcript." | | }, | | "userMessageBackgroundHover": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Hover-state variant of userMessageBackground ." | | }, | | "messageActionsBackground": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Background fill behind per-message action affordances." | | }, | | "selectionBg": { | | "$ref": " /$defs/colorValue", | | "description": "Documented fullscreen mode only . Background of text selected with the mouse." | | }, | | "bashMessageBackgroundColor": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Background fill for shell-command messages in fullscreen mode." | | }, | | "memoryBackgroundColor": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Background fill for memory / CLAUDE.md annotations in fullscreen mode." | | }, | | "rate limit fill": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Filled portion of the rate-limit usage bar." | | }, | | "rate limit empty": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Empty portion of the rate-limit usage bar." | | }, | | "briefLabelYou": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. \"You\" label color in brief / compact transcript mode." | | }, | | "briefLabelClaude": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. \"Claude\" label color in brief / compact transcript mode." | | }, | | "professionalBlue": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Anthropic-blue brand accent used in marketing surfaces login screens, billing UI ." | | }, | | "chromeYellow": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Yellow accent used in marketing surfaces." | | }, | | "clawd body": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Body color for the Clawd mascot easter-egg art." | | }, | | "clawd background": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Background color behind the Clawd mascot easter-egg art." | | }, | | "rainbow red": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Red stop in the rainbow palette animated celebration sequences ." | | }, | | "rainbow orange": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Orange stop in the rainbow palette." | | }, | | "rainbow yellow": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Yellow stop in the rainbow palette." | | }, | | "rainbow green": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Green stop in the rainbow palette." | | }, | | "rainbow blue": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Blue stop in the rainbow palette." | | }, | | "rainbow indigo": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Indigo stop in the rainbow palette." | | }, | | "rainbow violet": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Violet stop in the rainbow palette." | | }, | | "rainbow red shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow red ." | | }, | | "rainbow orange shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow orange ." | | }, | | "rainbow yellow shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow yellow ." | | }, | | "rainbow green shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow green ." | | }, | | "rainbow blue shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow blue ." | | }, | | "rainbow indigo shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow indigo ." | | }, | | "rainbow violet shimmer": { | | "$ref": " /$defs/colorValue", | | "description": "Internal. Shimmer paired with rainbow violet ." | | }, | | "red FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: red . See https://code.claude.com/docs/en/sub-agents." | | }, | | "blue FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: blue ." | | }, | | "green FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: green ." | | }, | | "yellow FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: yellow ." | | }, | | "purple FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: purple ." | | }, | | "orange FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: orange ." | | }, | | "pink FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: pink ." | | }, | | "cyan FOR SUBAGENTS ONLY": { | | "$ref": " /$defs/colorValue", | | "description": "Documented. Color drawn for subagents declared with color: cyan ." | | } | | } | | } | | }, | | "$defs": { | | "colorValue": { | | "type": "string", | | "description": "A color in one of: rrggbb , rgb , rgb r,g,b , ansi256 n n = 0–255 , or ansi: