---
title: DexThemes for Claude Code
description: Install the DexThemes Claude Code plugin to connect the canonical MCP, load the native skill, and add ready-to-use themes to `/theme`.
slug: claude-code-custom-theme-export
kind: article
section: Articles
answer: The DexThemes Claude Code plugin connects the full MCP, loads a native DexThemes skill, and contributes reviewed dark and light themes directly to `/theme`. Community and generated themes use a validated, confirmation-bound installer before the user chooses them in `/theme`.
author: Daeshawn Ballard
authorUrl: https://x.com/daeshawn
datePublished: 2026-08-21
dateModified: 2026-08-27
testedWith: Claude Code 2.1.170 local marketplace install, exact 13-tool inventory, real search, native skill, contributed themes, bundled and searched-theme selection, exact light-theme restoration, and non-destructive uninstall reviewed 2026-08-27
related: /articles/how-we-test-codex-themes, /guides/how-to-install-a-codex-theme, /reference/codex-theme-format
---

DexThemes now ships a complete Claude Code plugin rather than a discovery-only MCP wrapper. A marketplace or local-package install connects `https://www.dexthemes.com/api/mcp`, loads the Claude-native DexThemes skill, and contributes the Quiet Anthracite and Parchment Signal dark/light themes directly to Claude Code's `/theme` picker.

The four bundled files are generated from DexThemes' canonical Claude theme contract and validated before release. Dark and light remain separate host choices; the plugin does not claim automatic system appearance pairing.

## Search, create, review, then install

The native skill supports both community discovery and private creation. It uses `search` and `fetch`, or `draft_theme`, then validates and renders the theme before any local installation.

Custom installation has two explicit phases. Preparation converts only bounded canonical palette fields through the same Claude contract used for bundled themes and refuses output inside the Claude profile. It writes exact review JSON and SHA-256 receipts outside that profile. Installation runs only after the user confirms one exact variant and digest. Its CLI targets only the default `~/.claude/themes` directory, checks existing destination components for symlinks immediately before an exclusive create, and refuses traversal, changed receipts, and conflicting filenames. It never overwrites a different file or edits Claude settings. This local workflow assumes the user's own Claude profile directories are not concurrently replaced during that write.

Installation does not select the theme. The user makes the final choice with `/theme`, after noting the exact current theme. Restoration uses `/theme` to choose that exact prior value again.

## Loaded evidence

Claude Code 2.1.170 loaded DexThemes plugin version 1.1.0 from a fresh local marketplace declaration. Plugin inventory showed one native skill and the canonical MCP connection. Claude's loaded tool discovery exposed the exact 13-tool full inventory, and a real `search` call completed successfully.

The `/theme` picker exposed all four plugin-contributed files. Parchment Signal Dark visibly applied, and the exact prior `light` appearance was restored. A searched production theme then passed the packaged prepare/install workflow, appeared as a custom `/theme` choice, visibly applied, and restored to `light`.

Finally, plugin and marketplace removal left the prior `light` setting and an unrelated custom-theme file byte-identical. A separately installed custom theme remains user-owned after plugin removal; the plugin does not silently delete it.

## Boundaries

Claude Code's plugin theme component is experimental. Final selection and persistence remain host-owned, and no documented programmatic selection API was found in the tested version. Marketplace submission and Anthropic acceptance are separate from this loaded local-package evidence.

DexThemes is independent and not affiliated with Anthropic.
