If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based. https://sw.kovidgoyal.net/kitty/
Find a file
OBrutus a0978a74a2 remote_file kitten: port ask UI to Go, wrap and shrink Python to result-handler shim
Adds kittens/remote_file/main.go (ask menu, hostname-mismatch prompt,
save-path prompt with tab completion, edit/open/save actions) on top of the
ControlMaster/ssh helpers from the previous two commits, registers it in
tools/cmd/tool/main.go, and adds remote_file to shell-integration/ssh/kitty's
wrapped_kittens list so both `kitty +kitten remote_file` and ssh-session
invocations exec the Go binary directly. main.py is shrunk to option_text
(kept importable by kitty/cli_stub.py and used for --doc/--help generation),
is_ssh_kitten_sentinel (kept importable by kitty/window.py), and the
handle_result shim boss.py runs in-process to open the returned file.

Also drops the dead `-h` alias on --hostname: Python's CLI layer always
special-cases -h/--help ahead of user options, so it never worked as a
hostname shorthand, but the Go CLI layer hard-errors on the collision; removing
it is a no-op for existing behavior (boss.py only ever passes --hostname) and
unblocks `kitten remote-file --help`. Also adds the same reset_terminal()
calls Python makes between UI phases (ask menu -> action, hostname-mismatch
prompt, overwrite prompt, $EDITOR handoff) so the Go and Python screens match.

Manually verified parity against Python (ask menu, cancel, open/edit/save
download+upload round-trips, hostname-mismatch Y/N, save-path prompt and
overwrite O/A/R/N) using a fake-ssh test double, and confirmed post-wrap that
`kitty +kitten remote_file` execs the Go kitten binary.
2026-08-13 15:21:57 +05:30
.github ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
3rdparty
bypy ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
docs Make cursor_trail_start_threshold accept two values for x and y dimensions independently 2026-07-10 02:05:57 +00:00
gen Migrate type checker to ty 2026-07-04 09:18:00 +05:30
glad ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
glfw Fix IME popup position after text_input re-enters on Wayland 2026-07-09 08:22:06 +08:00
kittens remote_file kitten: port ask UI to Go, wrap and shrink Python to result-handler shim 2026-08-13 15:21:57 +05:30
kitty Make cursor_trail_start_threshold accept two values for x and y dimensions independently 2026-07-10 02:05:57 +00:00
kitty_tests ... 2026-07-04 09:23:16 +05:30
logo macOS: Switch to Tahoe style application icon 2026-04-18 13:28:22 +05:30
shell-integration remote_file kitten: port ask UI to Go, wrap and shrink Python to result-handler shim 2026-08-13 15:21:57 +05:30
terminfo Update Se terminfo entry to reset cursor to configured default 2026-04-26 17:50:16 -05:00
tools remote_file kitten: port ask UI to Go, wrap and shrink Python to result-handler shim 2026-08-13 15:21:57 +05:30
.editorconfig
.gitattributes Move parsing of colors fully into C 2025-12-31 14:21:45 +05:30
.gitignore Agent neutral instructions 2026-07-06 11:18:16 +05:30
__main__.py
benchmark.py Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
Brewfile
build-terminfo
CHANGELOG.rst
CONTRIBUTING.md
count-lines-of-code Update the list of nerd font names when updating other unicode data as well 2025-05-21 13:19:27 +05:30
dev.sh
embeds.go Code to serialize/unserialize loaded images 2025-10-07 17:25:47 +05:30
go.mod Bump go version for stdlib CVEs 2026-07-09 07:46:27 +05:30
go.sum Bump the all-go-deps group with 2 updates 2026-07-06 03:42:57 +00:00
INSTALL.md
key_encoding.json
LICENSE
local-agent.md Agent neutral instructions 2026-07-06 11:18:16 +05:30
Makefile
publish.py Fix pkill invocation 2026-02-24 07:47:22 +05:30
pyproject.toml ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
README.asciidoc Update some docs 2025-10-07 20:20:19 +05:30
rsync-and-build.sh Slightly improve rsync script 2025-05-09 15:33:22 +05:30
SECURITY.md ... 2025-09-14 21:31:43 +05:30
session.vim
setup.py ... 2026-07-05 20:03:36 +05:30
shell.nix Update shell.nix 2026-03-23 17:26:53 -04:00
staticcheck.conf
test.py
update-on-ox

= kitty - the fast, feature-rich, cross-platform, GPU based terminal

If you live in the terminal, *kitty* is made for **you**!

See https://sw.kovidgoyal.net/kitty/[the kitty website].

image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"]

https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions]

To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the
https://www.reddit.com/r/KittyTerminal[Reddit community]

Packaging status in various repositories:

image:https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty["Packaging status", link="https://repology.org/project/kitty-terminal/versions"]