Summary
colors/catppuccin_latte.vim contains set background=dark on line 2. Since Latte is the light-mode variant, this is almost certainly a copy-paste from one of the dark variant files. The wrong value causes two problems: downstream consumers of &background pick dark-mode defaults against a light palette, and any user who tries to correct it from their vimrc triggers a colorscheme reload loop that ends in Vim falling back to default.
Reproduction
- Install the plugin via Vim 8 native packages:
git clone https://github.com/catppuccin/vim ~/.vim/pack/themes/start/catppuccin
- In
~/.vimrc:
if has('termguicolors') | set termguicolors | endif
syntax enable
set background=light
colorscheme catppuccin_latte
- Open Vim and run
:verbose set background?.
Expected
background=light, last set from the user's vimrc or from the Latte colors file.
Actual
background=dark, last set from catppuccin_latte.vim line 2 (or, if the user puts set background=light after colorscheme, the colorscheme reloads in a loop per :help 'background' and Vim falls back to default, observable via :colorscheme returning default despite catppuccin_latte.vim appearing in :scriptnames).
Environment
- Vim 9.1, macOS (also reproduced on Vim 8.2, Linux)
- No other plugins installed
+termguicolors confirmed
Fix
Change line 2 of colors/catppuccin_latte.vim from:
to:
The other three variants (frappe, macchiato, mocha) correctly set background=dark and should stay as they are. Happy to send a PR if that's easier.
Why this matters
set background in Vim is a functional declaration of the actual terminal background, not a metadata label. Syntax files, plugins, and Vim's own highlight defaults branch on &background to pick readable colors. A light colorscheme declaring background=dark means every fallback path picks dark-mode colors that render poorly against Latte's light background — and, as shown above, users who try to correct it externally hit a reload loop because of the behavior documented in :help 'background'.
Summary
colors/catppuccin_latte.vimcontainsset background=darkon line 2. Since Latte is the light-mode variant, this is almost certainly a copy-paste from one of the dark variant files. The wrong value causes two problems: downstream consumers of&backgroundpick dark-mode defaults against a light palette, and any user who tries to correct it from their vimrc triggers a colorscheme reload loop that ends in Vim falling back todefault.Reproduction
~/.vimrc::verbose set background?.Expected
background=light, last set from the user's vimrc or from the Latte colors file.Actual
background=dark, last set fromcatppuccin_latte.vimline 2 (or, if the user putsset background=lightaftercolorscheme, the colorscheme reloads in a loop per:help 'background'and Vim falls back todefault, observable via:colorschemereturningdefaultdespitecatppuccin_latte.vimappearing in:scriptnames).Environment
+termguicolorsconfirmedFix
Change line 2 of
colors/catppuccin_latte.vimfrom:to:
The other three variants (
frappe,macchiato,mocha) correctly setbackground=darkand should stay as they are. Happy to send a PR if that's easier.Why this matters
set backgroundin Vim is a functional declaration of the actual terminal background, not a metadata label. Syntax files, plugins, and Vim's own highlight defaults branch on&backgroundto pick readable colors. A light colorscheme declaringbackground=darkmeans every fallback path picks dark-mode colors that render poorly against Latte's light background — and, as shown above, users who try to correct it externally hit a reload loop because of the behavior documented in:help 'background'.