mrkeyoor.com_
Fri 16 Oct 18:53 UTC
Dev Toolsevaluationupdated 13 Oct 2026

kitty review

Kitty is a desktop terminal for Linux, macOS, and BSD that lets you run shell commands, display images, and organize programs into tabs and panes. Its small helper programs make command output easier to browse and let you automate your workspace.

+69stars / 7d
Verdict

Our Kitty run installed 35 packages into 37 MB in 10 seconds and built successfully in 7 seconds, making its measured setup easy to try, though tests were skipped. Choose it for a Linux or macOS workspace where acting on command output and scripting windows will save you repeated work. Keep your remote-session tool if persistence matters, and check graphics compatibility before adopting Kitty inside a VM.

We ran it

Lab card: what happened when we ran kittyScreenshot of kitty (sw.kovidgoyal.net/kitty)
Install✓ · 10s35 packages · 37 MB
Build✓ · 7s
Testsn/ano test script
Known vulns0(pip-audit)
Repo1090 files~311,595 lines of source · 27.9 MB · 3 CI workflows

Answers from our run

Does kitty build from source?

Dependencies installed in 10 seconds (35 packages), and the build succeeded in 7 seconds. We cloned commit 643f18f into a clean Debian container with 3 CPUs and no project-specific setup.

Does kitty have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does kitty have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use kitty?

Windows users needing a native desktop application: Kitty lists Linux, macOS, and BSD, leaving Windows outside its supported desktop platforms.

What are the alternatives to kitty?

Alacritty, WezTerm, Ghostty. Our Kitty run installed 35 packages into 37 MB in 10 seconds and built successfully in 7 seconds, making its measured setup easy to try, though tests were skipped.

Setup4/510-second install and 7-second build, desktop behavior unverified
Docs5/5Detailed guides for shell integration, SSH, config, and control permissions
Community5/5October 12 push and recent issue and pull-request activity
Maturity4/5Active releases, with graphics and multiplexer limits to check

Discussed on

  1. hnKitty – a fast, featureful, GPU based terminal emulator452 points
  2. hnKitty – A fast, featureful, GPU based terminal emulator385 points
  3. hnShow HN: Kitty – A modern, hackable, featureful, OpenGL based terminal emulator192 points
  4. hnComprehensive Keyboard Handling in Terminals166 points
  5. hnRaw keyboard handling in Unix terminals115 points

Who it’s for

Linux and macOS developers who want to browse command output in a pager and open files directly from the terminal.
Frequent SSH users allowed to install terminfo and enable shell integration on remote hosts.
Developers who want configurable keyboard controls and scripts that create or rearrange terminal windows.
Terminal users whose image-aware applications can use Kitty's graphics support.

Who it’s NOT for

Windows users needing a native desktop application: Kitty lists Linux, macOS, and BSD, leaving Windows outside its supported desktop platforms.
People expecting Kitty panes to preserve remote sessions after disconnecting: the FAQ explicitly excludes remote persistence from its multiplexer replacement.
Teams requiring every advanced feature to work through tmux: the FAQ warns that images and other extensions depend on multiplexer and application support.
Administrators prohibited from bootstrapping remote hosts: the SSH kitten executes a remote script and copies files before launching the login shell.
macOS VM users who cannot verify graphics compatibility: open issue 10660 reports a launch failure with a pixel-format error.

Setup reality

Our sandbox installed commit 643f18f in 10 seconds, adding 35 packages and using 37 MB. The build succeeded in 7 seconds. Tests were skipped because the harness found no test script or target, and pip-audit reported 0 known vulnerabilities. The October 5, 2026 run used a fresh Debian container with 3 CPUs, 8 GB of RAM, no elevated privileges, and no secrets.

Local terminal use needs no hosted service or API credential. Settings live in kitty.conf. The SSH helper needs your existing SSH access and bootstraps the remote environment, including terminfo. Script control is optional and requires explicit permissions.

The README mainly points to the website, where Linux and macOS binary paths and desktop integration are documented. Linux menu entries and executable links need attention. A successful container build does not establish desktop graphics compatibility, and Windows is outside the documented desktop platforms.

Kitty turns terminal output into something you can act on

Open a filename from a command's output, inspect an image beside your prompt, or send the last command's output to a pager. Those are the reasons to choose Kitty. Its desktop terminal features suit someone who spends the day moving between code and shell output. The appeal is fewer trips out of that workspace. A terminal that only runs your shell is enough if you rarely need those actions.

Our checkout contained 1,090 files and roughly 311,595 source lines, occupying 27.9 MB. That is a substantial application despite GitHub classifying it as Python. The design overview describes C for performance-sensitive work, Python for interface extensibility, and Go for command-line helpers called kittens. You can customize the terminal without treating its language label as a promise that everything runs through Python.

What happened when we ran it

Our run installed Kitty at commit 643f18f in 10 seconds, adding 35 packages and occupying 37 MB, then completed the build in 7 seconds. We used a fresh Debian sandbox on October 5, 2026, with 3 CPUs and 8 GB of RAM. The image was ghcr.io/astral-sh/uv:python3.12-bookworm, and the container ran without elevated privileges or secrets. Installation and build both succeeded on that path.

Tests were skipped because the harness found no test script or target. The scan recorded 3 CI workflow files, no Dockerfile, and no tests directory. Those are discovery results, not proof that the project lacks upstream checks. Pip-audit reported 0 known vulnerabilities. The supplied measurements establish a working install and build, but provide no passing test result, typing-latency measurement, or evidence of how the graphical terminal behaves on your desktop.

A successful build leaves desktop compatibility unanswered

Kitty's documented desktop platforms are Linux, macOS, and various BSDs. Windows users needing a native terminal should choose elsewhere. The binary installation guide offers Linux and macOS downloads, but Linux desktop integration still involves executable links and desktop entries. Keep the application directory intact: the guide specifically warns against copying the executable out of it. A shell launch and an application-menu launch can need different PATH setup.

The 7-second build tells us nothing about graphics-driver compatibility. Issue 10660, opened October 12, reports a launch failure inside a macOS VM. Its log says GLFW could not find a suitable pixel format and could not create a window. That is a user's report, separate from our container result. If your workstation is virtualized, check that environment before spending an afternoon recreating your terminal configuration.

The SSH helper fixes terminfo by changing the remote environment

The SSH kitten wraps your existing SSH client and copies Kitty's terminal description to the host. That description tells remote programs how to address the terminal. It also enables remote shell integration and can copy selected shell or editor configuration. This is useful when arrow keys or full-screen programs misbehave because a server does not recognize Kitty's terminal type.

Our 37 MB installed environment is a local measurement, not a measure of remote setup. The SSH helper executes a bootstrap script and places files on the destination before starting the login shell. It needs your normal SSH access and a suitable remote interpreter. On tightly controlled hosts, where login tooling must not copy configuration or run bootstrap scripts, use an approved terminfo deployment instead of adopting the helper by habit.

Kitty's panes cannot replace remote session persistence

Tabs and layouts let Kitty organize several local programs, but they do not supply remote persistence. The multiplexer guidance explicitly identifies that exception and warns that advanced features may fail through tmux. Image display depends on application support for its workaround. If detached server sessions are central to your day, keep that requirement ahead of a terminal's attractive pane management.

The 10-second install makes trying Kitty easy on the measured path. Migrating a tmux workflow deserves a separate trial: check the editor's images and keyboard handling through your existing multiplexer. Kitty configuration lives in a human-editable file, so you can retain a small experiment in source control. Start with the shortcuts you use daily. Adding every kitten immediately makes it harder to identify which layer changed a familiar behavior.

Remote control needs explicit permission

Kitty's script control interface can launch windows and send text into running programs. External scripts can communicate through a socket. These are useful building blocks for a repeatable development workspace, but sending text to a shell carries real authority. The docs provide passwords restricted to named actions and selective access for particular windows. Choose those permissions deliberately before copying a tutorial that enables broad control.

A pip-audit result of 0 known vulnerabilities does not assess those permissions. Keep configuration review separate from dependency auditing, especially if you forward the control socket to a remote host. Ordinary local terminal use needs no hosted account or API credential. Remote control is optional, so leave it disabled until you have a specific script that needs it and can state which actions that script should perform.

October activity supports adoption, with platform limits intact

GitHub recorded a push on October 12, 2026, and 18 open issues and PRs when checked October 13. The latest release, v0.49.2, shipped October 1. Recent closed pull requests address file-chooser behavior while the macOS VM issue remains open. That mix shows maintenance alongside unresolved compatibility reports. The short queue alone would not establish reliability, and our skipped tests cannot fill that gap.

The 35-package install is a reasonable entry cost for trying Kitty's richer workflow. Choose Alacritty when you prefer composing a terminal with other tools, or WezTerm when built-in multiplexing is the attraction. Ghostty deserves a look for its native interface. For Kitty, make the decision on one real task: opening output in a pager, working over SSH, or scripting a workspace you currently rebuild by hand.

Alternatives

ProjectWhat it isPick it when
Alacritty gh↗A GPU terminal that favors integration with other applications.pick this instead when you want a terminal that fits around your existing tools, including on Windows.
WezTerm gh↗A cross-platform GPU terminal with built-in multiplexing.pick this instead when a terminal and multiplexer in the same application match your workflow.
Ghostty gh↗A terminal with a native interface and support for modern terminal protocols.pick this instead when native desktop behavior matters more than adopting Kitty kittens.

Sources

  1. Kitty repository and README
  2. Kitty features and supported platforms
  3. Kitty design overview
  4. Binary installation and desktop integration
  5. Kitty FAQ and multiplexer compatibility
  6. SSH kitten bootstrap behavior
  7. Script control and permissions
  8. Issue 10660: macOS VM launch failure

More dev tools reviews

compose-samples · librepods · sqlmap · coucou · world-execute-me-dsh-pv · mcp-extensions · the whole board →

Related reading