| name | kitten |
| description | Control and interact with Kitty terminal windows - list windows, read output, send commands, and launch new terminals |
| user_invocable | true |
Kitten Terminal Remote Control
Control your Kitty terminal windows directly from the agent. See what's running in every terminal, send commands, and manage windows.
Quick Start: Get Oriented First
Always start with summary to see all your terminals at a glance:
python3 {{skill_dir}}/scripts/kitten_control.py summary
This gives you a complete markdown overview of ALL open terminals showing:
════════════════════════════════════════════════════════════════════════════════
## WINDOW 172 │ 🟡 ACTIVE │ ✅ READY │ 🐚 shell
════════════════════════════════════════════════════════════════════════════════
| Property | Value |
|----------|-------|
| **Window ID** | `172` |
| **Status** | ✅ READY - Can receive commands |
| **Process** | 🐚 shell |
| **CWD** | `/Users/me/workspace/myproject` |
| **Git Branch** | `main` |
| **Session Age** | 2d ago |
**Quick commands:**
- Send text: `send-text -w 172 -e "your command"`
- Send Ctrl+C: `send-key -w 172 ctrl+c`
```last 20 lines of terminal output...```
What Summary Shows You
| Annotation | Meaning |
|---|
| ✅ READY | Shell is at prompt, can receive commands |
| ⏳ BUSY | Running a process, may need Ctrl+C first |
| 🐚 shell | Idle shell |
| 🤖 agent | AI agent (codex, claude, etc.) |
| 🔗 ssh | SSH connection (shows target host) |
| 🔨 build | Build process (make, npm, cargo) |
| 🌐 server | Running server |
| 📝 editor | vim, nvim, etc. |
| Git Branch | Current branch in that directory |
| SSH Target | Remote host for SSH sessions |
Summary Options
python3 {{skill_dir}}/scripts/kitten_control.py summary
python3 {{skill_dir}}/scripts/kitten_control.py summary -n 50
python3 {{skill_dir}}/scripts/kitten_control.py summary -e last_cmd_output
python3 {{skill_dir}}/scripts/kitten_control.py summary -e all -n 100
Interacting With Windows
Once you've identified a window from the summary, use its Window ID to interact:
Send Commands
python3 {{skill_dir}}/scripts/kitten_control.py send-text -w 172 -e "git status"
python3 {{skill_dir}}/scripts/kitten_control.py send-text -w 172 "partial text"
python3 {{skill_dir}}/scripts/kitten_control.py send-key -w 172 ctrl+c
python3 {{skill_dir}}/scripts/kitten_control.py send-key -w 172 escape
Read Output
python3 {{skill_dir}}/scripts/kitten_control.py get-text -w 172
python3 {{skill_dir}}/scripts/kitten_control.py get-text -w 172 -e last_cmd_output
python3 {{skill_dir}}/scripts/kitten_control.py get-text -w 172 -e all
Window Management
python3 {{skill_dir}}/scripts/kitten_control.py focus -w 172
python3 {{skill_dir}}/scripts/kitten_control.py close -w 172
python3 {{skill_dir}}/scripts/kitten_control.py launch --cwd /path/to/project
python3 {{skill_dir}}/scripts/kitten_control.py launch --type tab --title "Build"
Common Workflows
Check on a build/process
python3 {{skill_dir}}/scripts/kitten_control.py summary -n 10
python3 {{skill_dir}}/scripts/kitten_control.py get-text -w 236 -e last_cmd_output
Run a command in an existing shell
python3 {{skill_dir}}/scripts/kitten_control.py summary -n 5
python3 {{skill_dir}}/scripts/kitten_control.py send-text -w 172 -e "make test"
python3 {{skill_dir}}/scripts/kitten_control.py get-text -w 172 -e last_cmd_output
Stop a runaway process
python3 {{skill_dir}}/scripts/kitten_control.py send-key -w 236 ctrl+c
python3 {{skill_dir}}/scripts/kitten_control.py signal -w 236 SIGINT
Requirements
- Kitty terminal with
allow_remote_control yes in kitty.conf
- The
kitten command in PATH (comes with Kitty)