daaanny90/claude-desktop.nvim

github github
colorscheme
stars 2
issues 0
subscribers 0
forks 0
CREATED

UPDATED


claude-desktop.nvim

A warm dark Neovim colorscheme that matches the Claude Desktop app's dark theme. Built for visual consistency when running Claude Code and Neovim side by side.

Colors were extracted directly from the Claude Desktop app's CSS — the same warm backgrounds, earthy accents, and muted tones you see in the app.

Includes matching tmux and iTerm2 color presets for a fully consistent terminal experience.

Variants

Two dark variants, each with matching tmux + iTerm2 presets:

  • claude-desktop (default) — warm, earthy palette matching the Claude Desktop app.
  • claude-code — neutral-dark palette with a blue accent, matching the newer Claude Code macOS app (cooler, higher-contrast chrome; brighter syntax).
vim.cmd.colorscheme("claude-desktop") -- or "claude-code"

Screenshots

Neovim with claude-desktop theme:

claude-desktop theme in Neovim

Side by side with Claude Desktop app:

Split view with Claude Desktop

iTerm2 color preset:

iTerm2 theme

Palette

Role Color Hex
Background #2f2f2d #2f2f2d
Foreground #f5f4ef #f5f4ef
Clay (accent) #d97757 #d97757
Green #65bb30 #65bb30
Gold #c1a855 #c1a855
Blue #74abe2 #74abe2
Purple #9b86f4 #9b86f4
Mint #7ab89a #7ab89a
Manilla #eadbbb #eadbbb

Features

  • Color palette extracted from Claude Desktop app's dark theme CSS
  • Treesitter and LSP semantic token highlights
  • 30+ plugin integrations (Telescope, Neo-tree, nvim-cmp, blink.cmp, gitsigns, which-key, lazy.nvim, mason, bufferline, lualine, notify, flash, mini.nvim, trouble, dap-ui, noice, and more)
  • Lualine theme (auto-discovered)
  • Two syntax modes: muted (default) and vivid (~15% more saturation)
  • Transparent background support
  • Matching tmux theme and iTerm2 color preset

Installation

lazy.nvim

{
  "daaanny90/claude-desktop.nvim",
  lazy = false,
  priority = 1000,
  config = function()
    require("claudetheme").setup({})
    vim.cmd.colorscheme("claude-desktop")
  end,
}

packer.nvim

use {
  "daaanny90/claude-desktop.nvim",
  config = function()
    require("claudetheme").setup({})
    vim.cmd.colorscheme("claude-desktop")
  end,
}

Manual

Clone the repository into your Neovim packages directory:

git clone https://github.com/daaanny90/claude-desktop.nvim \
  ~/.local/share/nvim/site/pack/plugins/start/claude-desktop.nvim

Then add to your init.lua:

require("claudetheme").setup({})
vim.cmd.colorscheme("claude-desktop")

Configuration

All options with their defaults:

require("claudetheme").setup({
  transparent = false,     -- transparent background (requires terminal transparency)
  vivid = false,           -- slightly more saturated syntax colors (~15%)
  italic_comments = true,  -- italic style for comments
  bold_keywords = false,   -- bold style for keywords
  terminal_colors = true,  -- set terminal ANSI colors
  dim_inactive = false,    -- dim inactive windows
  lualine_bold = false,    -- bold mode indicator in lualine
})

Note on transparency: When transparent = true, the editor background becomes transparent so your terminal's background shows through. Some highlight groups (floating windows, popups) keep their background for readability. Your terminal emulator must support transparency for this to have any effect.

Lualine

The lualine theme is auto-discovered when the colorscheme is active. If you want to set it explicitly:

require("lualine").setup({
  options = {
    theme = "claude-desktop",
  },
})

Extras

iTerm2 Color Preset

Import extras/claude-desktop.itermcolors in iTerm2:

  1. Open iTerm2 → Settings → Profiles → Colors
  2. Click Color Presets... → Import...
  3. Select extras/claude-desktop.itermcolors (or extras/claude-code.itermcolors for the Claude Code variant)
  4. Select it from the Color Presets... dropdown

tmux Theme

Source extras/claude-desktop.tmux in your tmux config:

source-file /path/to/claude-desktop.nvim/extras/claude-desktop.tmux
# or, for the Claude Code variant:
# source-file /path/to/claude-desktop.nvim/extras/claude-code.tmux

The tmux theme includes a minimal status-right with date and time. Customize it to add your own system info scripts:

# Example: add your own status modules
set -g status-right "#(~/.config/tmux/battery.sh) | %d.%m. %H:%M "

Supported Plugins

License

MIT