kitty-remote

Alb-O's avatarfrom Alb-O

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.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 2, 2026⬇️1downloads

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.
namekitty-remote
descriptionControl 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.
licenseMIT
typedomain
enforcementsuggest
priorityhigh

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=yes in kitty.conf or via -o).
  • Run under an active Wayland or X11 session.

Quick start

  1. Launch kitty with a unix socket (--listen-on unix:/abs/path.sock or KITTY_LISTEN_ON).
  2. Wait for @ ls to succeed before sending input.
  3. Send input with send-text and capture output with get-text --extent screen.
  4. Close with close-window and remove the socket.

Harness usage

  • Prefer kitty +kitten panel on Wayland; fall back to windows on X11/WSL
  • Use absolute socket paths; delete stale sockets before launch
  • Send ESC to 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