kitten-themes(1)
π kitten-themes β manage kitty color schemes easily π¨β¨
okay bestie, so this is kitten-themes(1) from the kitty fam, and it's literally the glow-up tool for your terminal π¦
πΈ NAME πΈ
kitten-themes β manage kitty color schemes easily π
β¨ OVERVIEW β¨
The themes kitten lets you change color themes so easily it's giving main character energy β and there are over three hundred pre-built themes waiting for you at [kitty-themes](https://github.com/kovidgoyal/kitty-themes) π
To use it, simply run:
kitten themes
That's it. The kitten lets you pick a theme, with live previews of the colors π₯ You can choose between light and dark themes, and search by theme name by just typing a few characters from the name. iykyk.
The kitten also maintains a list of recently used themes so you can quick-switch like a menace π
Wanna restore the colors to default? Just choose the Default theme. Easy.
Added in version 0.23.0: the themes kitten π
π§ HOW IT WORKS π§
A theme in kitty is just a .conf file containing kitty settings. When you select a theme, the kitten simply copies the .conf file to ~/.config/kitty/current-theme.conf and adds an include for current-theme.conf to kitty.conf. It also comments out any existing color settings in kitty.conf so they don't interfere β no cap, it's that clean β¨
Once that's done, the kitten sends kitty a signal to make it reload its config π¦
Note: if you want to have some color settings in yourkitty.confthat the theme kitten does not override, move them into a separate conf file and include it intokitty.conf. The include should be placed after the inclusion ofcurrent-theme.confso that the settings in it override conflicting settings fromcurrent-theme.conf. Order matters, bestie π
π Change color themes automatically when the os switches between light and dark π
Added in version 0.38.0.
You can have kitty automatically change its color theme when the OS switches between dark, light and no-preference modes π Here's the whole vibe: run the theme kitten as normal, and at the final screen select the option to save your chosen theme as either light, dark, or no-preference. Repeat until you've chosen a theme for each of the three modes. Then, once you restart kitty, it will automatically use your chosen themes depending on the OS color scheme. Obsessed π«Ά
This works by creating three files: dark-theme.auto.conf, light-theme.auto.conf and no-preference-theme.auto.conf in the kitty config directory. When these files exist, kitty queries the OS for its color scheme and uses the appropriate file.
β οΈ heads up: the colors in these files override all other colors, and also all background image settings, even those specified using the kitty --override command line flag. So yeah, they're kind of the boss π
kitty will also automatically change colors when the OS color scheme changes, for example, during night/day transitions πβοΈ
When using these colors, you can still dynamically change colors, but the next time the OS changes its color mode, any dynamic changes will be overridden. Soz π
Note: on the GNOME desktop, the desktop reports the color preference asno-preferencewhen the "Dark style" is not enabled. So useno-preference-theme.auto.confto select colors for light mode on GNOME. You can manually enable light style withgsettings set org.gnome.desktop.interface color-scheme prefer-lightin which case GNOME will report the color scheme as light and kitty will uselight-theme.auto.conf. Slay π
π Using your own themes π
You can also create your own themes as .conf files, because why not be your own icon π
Put them in the themes sub-directory of the kitty config directory, usually ~/.config/kitty/themes. The kitten will automatically add them to the list of themes β¨
You can use this to modify the builtin themes, by giving the conf file the name Some theme name.conf to override the builtin theme of that name. Here, Some theme name is the actual builtin theme name, not its file name. Note that after doing so you have to run the kitten and choose that theme once for your changes to be applied β one little extra step, but it's fine π
π¦ Contributing new themes π¦
If you wish to contribute a new theme to the kitty theme repository, start by going to the [kitty-themes](https://github.com/kovidgoyal/kitty-themes) repository. [Fork it](https://docs.github.com/en/get-started/quickstart/fork-a-repo), and use the file template.conf as a template when creating your theme. Once you are satisfied with how it looks, [submit a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) to have your theme merged into the [kitty-themes](https://github.com/kovidgoyal/kitty-themes) repository, which will make it available in this kitten automatically. Literally your theme, in everyone's terminal. Iconic π
β‘ Changing the theme non-interactively β‘
You can specify the theme name as an argument when invoking the kitten to have it change to that theme instantly. For example:
kitten themes --reload-in=all Dimmed Monokai
Will change the theme to Dimmed Monokai in all running kitty instances π₯ See below for more details on non-interactive operation π
π Source code for themes π
The source code for this kitten is available [on GitHub](https://github.com/kovidgoyal/kitty/tree/master/kittens/themes) π
π Command line interface π
kitten themes [options] [theme name to switch to]
Change the kitty theme. If no theme name is supplied, run interactively, otherwise change the current theme to the specified theme name π«
πΈ Options πΈ
--cache-age <CACHE_AGE>β check for new themes only after the specified number of days β³ A value of zero will always check for new themes. A negative value will never check for new themes, instead raising an error if a local copy of the themes is not available. Default:1--reload-in <RELOAD_IN>β by default, this kitten will signal only the parent kitty instance it's running in to reload its config, after making changes. Use this option to instead either not reload the config at all or in all running kitty instances π Note that if you have config autoreload enabled inkitty.conf(it is enabled by default) thenparentis the same asall, since all kitty instances will detect the config file change and reload automatically. Default:parentChoices:all,none,parent--dump-theme [=no]β when running non-interactively, dump the specified theme toSTDOUTinstead of changingkitty.confπ€ Default:false--config-file-name <CONFIG_FILE_NAME>β the name or path to the config file to edit. Relative paths are interpreted with respect to the kitty config directory. By default the kitty config file,kitty.confis edited. This is most useful if you addinclude themes.confto yourkitty.confand then have the kitten operate only onthemes.conf, allowingkitty.confto remain unchanged π― Default:kitty.conf
π Author π
Kovid Goyal
π Copyright π
2026, Kovid Goyal
β¨ and that's the whole page bestie β¨ this was kitty 0.49.2, dated Oct 01, 2026 π go forth and make your terminal gorgeous, mwah π
π
π¦ where this page comes from
- arch rolling: kitty 0.49.2-1 Β· GPL-3.0-only
- nixpkgs unstable: kitty-bin 0.49.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms