kitty-remote
Control kitty terminal via remote protocol and kitty-test-harness; launch panels/windows, send keys, capture screen, manage sockets, and debug remote-control failures when testing TUIs.
When & Why to Use This Skill
The kitty-remote skill enables programmatic control of the Kitty terminal through its remote protocol and test harness. It is specifically designed to automate Terminal User Interface (TUI) testing, allowing users to manage terminal windows, simulate complex key sequences, and capture screen output for verification and debugging.
Use Cases
- Automated TUI Testing: Use the kitty-test-harness to send precise keystrokes and verify terminal output, ensuring Terminal User Interfaces behave correctly across different environments.
- Terminal Session Orchestration: Programmatically launch, arrange, and close terminal panels or windows to set up complex development or testing environments.
- Remote Debugging: Capture terminal screens and logs via unix sockets to diagnose application crashes or remote-control failures in real-time.
- CI/CD Integration: Incorporate terminal-based automation and screen-capture validation into automated pipelines for CLI and TUI applications.
| name | kitty-remote |
|---|---|
| description | Control kitty terminal via remote protocol and kitty-test-harness; launch panels/windows, send keys, capture screen, manage sockets, and debug remote-control failures when testing TUIs. |
| license | MIT |
| type | domain |
| enforcement | suggest |
| priority | high |
Kitty Remote Control
Drive kitty instances via the remote control protocol and kitty-test-harness.
Prerequisites
- Ensure kitty is installed and on PATH.
- Enable remote control (
allow_remote_control=yesin kitty.conf or via-o). - Run under an active Wayland or X11 session.
Quick start
- Launch kitty with a unix socket (
--listen-on unix:/abs/path.sockorKITTY_LISTEN_ON). - Wait for
@ lsto succeed before sending input. - Send input with
send-textand capture output withget-text --extent screen. - Close with
close-windowand remove the socket.
Harness usage
- Prefer
kitty +kitten panelon Wayland; fall back to windows on X11/WSL - Use absolute socket paths; delete stale sockets before launch
- Send
ESCto normalize modal state before:commands - Socket disappearance = app exit/crash; capture with
@ ls,get-text --ansi, logs - Source scripts/kitty-harness.sh for ready-to-use harness
References
- harness-notes.md - internals, failure signatures, debug flow
- escape-codes.md - byte-level key sequences and modifiers