Open-source project
catppuccin/kde avatar
catppuccin/kde

Catppuccin for KDE: a pastel Plasma theme installed by number

🌻 Soothing pastel theme for KDE

1,100 stars48 forksShellMIT

At a glance

What is it?
catppuccin/kde is the Catppuccin pastel theme for the KDE desktop, covering Plasma look and feel, colour schemes, splash screens and Krita themes, installed through a shell script that takes flavour, accent and window decoration as arguments. It suits Plasma users who want a consistent pastel desktop, and it needs a Plasma version newer than 5.27.
Who is it for?
Adopt catppuccin/kde if you run KDE Plasma and want the four Catppuccin flavours applied consistently across the shell, colour scheme and splash screen in one pass, because the install script handles all of it with three numeric choices. Do not adopt it on Plasma 5.27 or older, where the project points you at the v0.2.5 checkout instead.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 79 days ago.
What is it written in?
Mainly Shell, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A theme for the whole Plasma shell, not just a colour scheme

catppuccin/kde is the Catppuccin theme set for the KDE desktop, described as a soothing pastel theme for KDE. It covers the Plasma look and feel, the colour schemes and splash screens, and it also ships Krita themes, with Krita named in the repository topics alongside kde-plasma and kde-theme.

The scope is wider than a wallpaper and a terminal palette. The repository layout shows Resources directories that hold look and feel packages named per flavour, with a Catppuccin-Latte-Global directory and the same pattern for Frappe, Macchiato and Mocha, each containing a contents folder with a fullscreenpreview image. So the deliverable is four complete desktop themes rather than a set of loose assets.

The four flavours are the familiar Catppuccin set: Latte, Frappe, Macchiato and Mocha. The README links the previews under each name, which is a practical way to choose before installing anything.

The project belongs to the Catppuccin organisation, which is why the copyright line reads 2021-present Catppuccin Org and the licence is MIT. The maintenance is handled by two current maintainers, Sourcastic and soleynn, with Prayag2 listed as a past maintainer. Releases have been frequent, with v0.4.0 on 2026-08-05, v0.3.1 on 2026-06-29 and v0.3.0 on 2026-06-26, and the last push to the repository was on 2026-08-05.

The installer takes three numbers and an auto keyword

Installation for KDE Plasma is a clone and a script. The clone is shallow, and you run the script from inside the checkout.

bash
git clone --depth=1 https://github.com/catppuccin/kde catppuccin-kde && cd catppuccin-kde
./install.sh

Run without arguments the script prompts for the choices. The automated form takes the flavour, the accent and the window decoration as numbers, with the flavour numbered 1 to 4, the accent 1 to 14, and the window decoration 1 or 2, and the literal keyword auto at the end to skip the prompts.

bash
./install.sh [-q|--quiet] [-n|--no-cursor] [-c|--local-cursor <dir>] <flavour 1-4> <accent 1-14> <window_decoration 1-2> auto

The worked example in the documentation is Mocha, Blue and Classic, which maps to the numbers 1, 13 and 2.

bash
./install.sh 1 13 2 auto

Two flags matter for anyone with an existing setup. The -n or --no-cursor flag keeps your current cursor theme untouched, which is the safe choice if you already have one you like. The -c or --local-cursor option with a directory installs an already-downloaded cursor theme directory instead of fetching one, which matters when the machine has no access to the download source.

Plasma 5.27 and older need the v0.2.5 branch

The first note in the documentation is a compatibility warning, and it is specific. If you are using KDE 5.27 or below, the project suggests checking out v0.2.5 before running the install script, to avoid running into compatibility issues. The release binaries for that version are linked as an alternative, so you can download v0.2.5 instead of switching branches in a clone.

That is a concrete deadline for old installations rather than a vague warning. A Plasma 5.27 user therefore has two working options, the older release or the older branch, and a newer Plasma user can take the current one.

The second note covers a failure mode that looks like a bug in the script but is not. If you encounter an error similar to connection refused while running the installation script, it may be due to store.kde.org being down, or to issues with your internet connection. The script fetches theme components from the KDE store, so the dependency is real and the failure is external.

The third note is the one with a lasting effect on your system, and it is covered in its own section below.

One setting outside the theme directories: kwinrc

Applying the theme writes BorderSizeAuto=false to ~/.config/kwinrc, which is documented as the only setting the installer changes outside the theme directories. The purpose given in parentheses is borderless windows.

It is a small thing, and it is exactly the kind of detail that makes a theme installer something to read before running. The file is your window manager configuration, the setting is written into it, and nothing else outside the theme folders is touched.

The write is not reversible by uninstalling the theme in the ordinary sense, since it is an edit to a file you own rather than a file the theme owns. A user who has deliberately set BorderSizeAuto themselves will find that value replaced.

That is the whole extent of the documented side effects, which is worth stating plainly because the script also fetches from the network, installs a cursor theme, and writes theme directories. Only the kwinrc edit is described as reaching outside those directories, and it is the one to check after installing.

Krita themes come as zips from the releases tab

Krita is handled separately from Plasma, and the mechanism is different. Rather than the install script, you download the colour scheme zip file for your preferred flavour from the release tab, extract it, and move the themes you want into the colour-schemes folder for your platform.

For Windows that path is %appdata%\krita\color-schemes, and for Linux it is ~/.local/share/krita/color-schemes. Once the files are in place you open Krita and choose the theme from Settings, then Themes.

The Krita path has no flags and no prompts, which is a reasonable amount of friction for a manual install. It also means the Krita side is not covered by the scripted installation at all, so a user who runs the Plasma installer and expects Krita to change with it will be disappointed.

The two platforms in the instruction are all the documentation names, and the Windows path is written with a backslash, so it is clearly written for a Windows shell rather than for a POSIX one.

Templates rendered by Whiskers into a committed generated tree

The build model is the most interesting part of the repository for anyone thinking about contributing, and it is a deliberate separation of two audiences.

Colour schemes, splash screens and look and feel metadata are rendered from templates/*.tera into the committed generated/ tree by Whiskers, and the key rule is that install.sh only ever reads generated/, never the templates or the palette directly. The stated reason is that end users need no Rust or Cargo toolchain. A user installs with a shell script; a contributor regenerates with a binary that is fetched, not built.

Contributors need just, and there are three commands. just build fetches a pinned, checksum-verified Whiskers binary into .bin, which is gitignored, and renders templates/*.tera into generated/. just check verifies that generated/ matches a fresh render, and it is the same check CI runs. A release-regen target exists as well, which regenerates ahead of a version bump and asks you to review the diff and update the goldens if needed.

bash
just build
just check

The justfile explains why the Whiskers version is pinned at 2.9.0. A Whiskers found on PATH is unsupported for regeneration, because a newer version can render subtly different bytes, with different hex casing, newlines or spacing, and produce a spurious diff. The fetch step therefore verifies a checksum for the platform, with separate SHA256 values for Linux on x86_64 and for macOS on arm64. After editing a template you run just build, review the diff, and commit the template change together with the regenerated output.

What this theme does not cover

Two boundaries are worth being clear about, and one of them is a matter of taste rather than fact.

The first is the platform. The Plasma installer is a shell script that expects a KDE Plasma desktop, and the Krita instructions cover a separate application. There is no mention of GNOME, of tiling window managers, or of any other desktop environment, and the repository itself is described with the primary language given as Shell, which is consistent with a project that is a script plus generated assets rather than a theme engine.

The second is the dependency on the KDE store. The installation script fetches components from store.kde.org, which means the install is not fully offline and not fully under your control. A store outage produces a connection refused error rather than a helpful message, and the only documented workaround is to check the store and your connection. A local render from the templates, which is what contributors do with just build, avoids that path entirely, but it is a development workflow rather than a supported user install.

The third point is a preference rather than a limitation. The accent choice runs to fourteen and the window decoration to two, which is a wide range for a single script to expose, and the numbers are positional rather than named, so the first time you run it you will be reading the documentation to work out that 13 means blue.

Editorial conclusion

Adopt catppuccin/kde if you run KDE Plasma and want the four Catppuccin flavours applied consistently across the shell, colour scheme and splash screen in one pass, because the install script handles all of it with three numeric choices. Do not adopt it on Plasma 5.27 or older, where the project points you at the v0.2.5 checkout instead. Before you run the installer, read the cursor flags and the note about the store.kde.org dependency, since the script fetches from the KDE store and a store outage surfaces as a connection refused error.

Frequently asked questions

How do I install the Catppuccin theme on KDE Plasma?

Clone the repository with git clone --depth=1 https://github.com/catppuccin/kde catppuccin-kde, change into the directory and run ./install.sh, then follow the prompts. The automated form is ./install.sh <flavour 1-4> <accent 1-14> <window_decoration 1-2> auto, for example ./install.sh 1 13 2 auto for Mocha, Blue and Classic.

Does the Catppuccin KDE theme work on Plasma 5.27?

The documentation says that on KDE 5.27 or below you might want to run git checkout v0.2.5 before running the install script to avoid compatibility issues, and it links the v0.2.5 release binaries as an alternative.

What does the Catppuccin KDE install script change outside the theme folders?

It writes BorderSizeAuto=false to ~/.config/kwinrc for borderless windows, and the documentation states that this is the only setting the installer changes outside the theme directories.

How do I install the Catppuccin theme in Krita?

Download the colour scheme zip for your flavour from the release tab, extract it and move the themes into %appdata%\krita\color-schemes on Windows or ~/.local/share/krita/color-schemes on Linux, then pick the theme in Krita under Settings, Themes.

Official sources

  1. catppuccin/kde on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/catppuccin-kde.svg)](https://hysenlabs.com/projects/catppuccin-kde)

Was this useful?