Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
74
66%
Does it follow best practices?
Impact
86%
2.00xAverage score across 3 eval scenarios
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/tmux/SKILL.mdControl tmux sessions by sending keystrokes and reading output. Essential for managing Claude Code sessions.
✅ USE this skill when:
❌ DON'T use this skill when:
exec tool directlyexec with background:trueexec toolexec with tmux new-session| Session | Purpose |
|---|---|
shared | Primary interactive session |
worker-2 - worker-8 | Parallel worker sessions |
tmux list-sessions
tmux ls# Last 20 lines of pane
tmux capture-pane -t shared -p | tail -20
# Entire scrollback
tmux capture-pane -t shared -p -S -
# Specific pane in window
tmux capture-pane -t shared:0.0 -p# Send text (doesn't press Enter)
tmux send-keys -t shared "hello"
# Send text + Enter
tmux send-keys -t shared "y" Enter
# Send special keys
tmux send-keys -t shared Enter
tmux send-keys -t shared Escape
tmux send-keys -t shared C-c # Ctrl+C
tmux send-keys -t shared C-d # Ctrl+D (EOF)
tmux send-keys -t shared C-z # Ctrl+Z (suspend)# Select window
tmux select-window -t shared:0
# Select pane
tmux select-pane -t shared:0.1
# List windows
tmux list-windows -t shared# Create new session
tmux new-session -d -s newsession
# Kill session
tmux kill-session -t sessionname
# Rename session
tmux rename-session -t old newFor interactive TUIs (Claude Code, Codex, etc.), split text and Enter into separate sends to avoid paste/multiline edge cases:
tmux send-keys -t shared -l -- "Please apply the patch in src/foo.ts"
sleep 0.1
tmux send-keys -t shared Enter# Look for prompts
tmux capture-pane -t worker-3 -p | tail -10 | grep -E "❯|Yes.*No|proceed|permission"# Send 'y' and Enter
tmux send-keys -t worker-3 'y' Enter
# Or select numbered option
tmux send-keys -t worker-3 '2' Enterfor s in shared worker-2 worker-3 worker-4 worker-5 worker-6 worker-7 worker-8; do
echo "=== $s ==="
tmux capture-pane -t $s -p 2>/dev/null | tail -5
donetmux send-keys -t worker-4 "Fix the bug in auth.js" Entercapture-pane -p to print to stdout (essential for scripting)-S - captures entire scrollback historysession:window.pane (e.g., shared:0.0)d8d7f4b
Also appears in
since Mar 18, 2026
since Feb 23, 2026
since Feb 23, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.