Kitsu is a Windows-focused fork of Kitty, with native Win32 windows, ConPTY shells, and WSL integration. It brings Kitty’s GPU rendering, tabs, layouts, kittens, and terminal protocols to Windows.
This is an independent fork maintained by Eder Matumoto (fhaze), not an official Windows release of Kitty. Kitty was created by Kovid Goyal; upstream copyright notices and the GPLv3 license are retained.
Download the Windows x86_64 installer or portable ZIP from Releases (Windows 10 1809 or newer).
-
kitsu-<version>-windows-x86_64-setup.exe: recommended. Adds Kitsu to the Start menu and optionally to PATH, and can install the Linuxkittenhelper into WSL. -
kitsu-<version>-windows-x86_64.zip: portable. Extract it and runbin/kitsu.exe. WSL helpers are distributed through the installer, not as separate downloads.
Run kitsu from cmd or PowerShell after enabling the installer’s PATH task.
The kitsu.com console shim makes command-line invocations wait and preserves
their output; kitsu.exe launches the GUI without an extra console window.
kitsu --version
kitsu pwsh.exe
kitsu cmd.exe
kitsu +wsl-setup
kitsu +health-check --mode=quick
kitsu +updateWith the default shell ., Windows uses SHELL when explicitly set, otherwise
PowerShell 7 (pwsh.exe) from PATH, then Windows PowerShell (PATH or its standard
SystemRoot location), and finally COMSPEC/cmd.exe. Set shell cmd.exe or
shell wsl.exe in kitty.conf to choose another shell explicitly.
PowerShell integration supplies prompt/command marks and cwd reporting, and
restores the configured cursor_shape at the prompt (default: block).
shell_integration no-cursor disables cursor restoration.
For cmd, Kitsu supplies prompt marks and cwd reporting only when PROMPT is
unset; custom prompts are preserved. Cmd has no pre-execution hook, so command
output boundaries, exit-status notifications and cursor changes still require
a supported shell such as PowerShell. shell_integration disabled or no-rc
disables this injection; no-prompt-mark and no-cwd are also respected.
+update works for installer-managed installations, not portable ZIPs.
For WSL, use the bundled Linux kitten inside the distribution, not the Windows
kitten.exe; run kitsu +wsl-setup to install it.
Windows packages include Mesa llvmpipe in bin/mesa, including its LLVM
dependencies. Kitsu tries the system OpenGL driver first and uses this private
CPU renderer if the requested OpenGL context is unavailable (for example, the
Microsoft Basic Display Adapter or an RDP session offering only GDI Generic).
The fallback is slower than GPU rendering but needs no D3D12 driver or DXIL DLL.
Keep the entire bin/mesa directory when moving a portable installation.
Set KITSU_OPENGL_DRIVER before launching Kitsu to select auto (the default),
native (disable fallback), or llvmpipe (force software rendering). The software
path sets GALLIUM_DRIVER=llvmpipe for the process. For example, in PowerShell:
$env:KITSU_OPENGL_DRIVER = 'llvmpipe'
kitsu --debug-rendering cmd.exekitsu +health-check --mode=native reports the renderer and flags llvmpipe as
software rendering. Hardware display behavior is not verified by that result.
If the fallback files are missing or damaged, reinstall Kitsu. Updating your GPU
driver or installing Microsoft’s OpenCL, OpenGL and Vulkan Compatibility Pack
may also make native OpenGL available.
The installer keeps the same application ID, install directory, and selected
tasks, so Kitsu upgrades existing installations in place. kitty.exe and
kitty.com remain compatibility aliases for scripts and shell integrations.
Configuration remains in %APPDATA%\kitty\kitty.conf (or KITTY_CONFIG_DIRECTORY).
The kitty Python package, kitten command, KITTY_* environment variables,
xterm-kitty terminfo, and Kitty protocols keep their names for compatibility.
Existing configuration and WSL setups do not need to be renamed.
-
Upstream Kitty documentation for shared configuration, key bindings, kittens, and protocols. Where it says
kitty, usekitsuon Windows; configuration keys and filenames stay unchanged. -
Kitsu issue tracker for Windows/fork bugs. Please do not send fork-specific Windows reports to upstream Kitty.
Build natively using MSYS2 UCRT64, GCC, Python, and Go:
./build-windows.sh --install-deps # first build on a fresh machine
./build-windows.sh # subsequent buildsSee Windows build notes for toolchain requirements and environment
details. Outputs are under windows-package/, including the Kitsu ZIP and, when
Inno Setup is installed, the setup executable. CI builds and scans Windows
packages only. Non-Windows source is retained from upstream, not shipped as a
supported Kitsu release.
