Install
Terminal · npx$
npx skills add https://github.com/steipete/clawdis --skill tmuxWorks with Paperclip
How Tmux fits into a Paperclip company.
Tmux drops into any Paperclip agent that handles this kind of work. Assign it to a specialist inside a pre-configured PaperclipOrg company and the skill becomes available on every heartbeat — no prompt engineering, no tool wiring.
S
SaaS FactoryPaired
Pre-configured AI company — 18 agents, 18 skills, one-time purchase.
$27$59
Explore packSource file
SKILL.md170 linesExpandCollapse
---name: tmuxdescription: Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.metadata: { "openclaw": { "emoji": "🧵", "os": ["darwin", "linux"], "requires": { "bins": ["tmux"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "tmux", "bins": ["tmux"], "label": "Install tmux (brew)", }, ], }, }--- # tmux Session Control Control tmux sessions by sending keystrokes and reading output. Essential for managing Claude Code sessions. ## When to Use ✅ **USE this skill when:** - Monitoring Claude/Codex sessions in tmux- Sending input to interactive terminal applications- Scraping output from long-running processes in tmux- Navigating tmux panes/windows programmatically- Checking on background work in existing sessions ## When NOT to Use ❌ **DON'T use this skill when:** - Running one-off shell commands → use `exec` tool directly- Starting new background processes → use `exec` with `background:true`- Non-interactive scripts → use `exec` tool- The process isn't in tmux- You need to create a new tmux session → use `exec` with `tmux new-session` ## Example Sessions | Session | Purpose || ----------------------- | --------------------------- || `shared` | Primary interactive session || `worker-2` - `worker-8` | Parallel worker sessions | ## Common Commands ### List Sessions ```bashtmux list-sessionstmux ls``` ### Capture Output ```bash# Last 20 lines of panetmux capture-pane -t shared -p | tail -20 # Entire scrollbacktmux capture-pane -t shared -p -S - # Specific pane in windowtmux capture-pane -t shared:0.0 -p``` ### Send Keys ```bash# Send text (doesn't press Enter)tmux send-keys -t shared "hello" # Send text + Entertmux send-keys -t shared "y" Enter # Send special keystmux send-keys -t shared Entertmux send-keys -t shared Escapetmux send-keys -t shared C-c # Ctrl+Ctmux send-keys -t shared C-d # Ctrl+D (EOF)tmux send-keys -t shared C-z # Ctrl+Z (suspend)``` ### Window/Pane Navigation ```bash# Select windowtmux select-window -t shared:0 # Select panetmux select-pane -t shared:0.1 # List windowstmux list-windows -t shared``` ### Session Management ```bash# Create new sessiontmux new-session -d -s newsession # Kill sessiontmux kill-session -t sessionname # Rename sessiontmux rename-session -t old new``` ## Sending Input Safely For interactive TUIs (Claude Code, Codex, etc.), split text and Enter into separate sends to avoid paste/multiline edge cases: ```bashtmux send-keys -t shared -l -- "Please apply the patch in src/foo.ts"sleep 0.1tmux send-keys -t shared Enter``` ## Claude Code Session Patterns ### Check if Session Needs Input ```bash# Look for promptstmux capture-pane -t worker-3 -p | tail -10 | grep -E "❯|Yes.*No|proceed|permission"``` ### Approve Claude Code Prompt ```bash# Send 'y' and Entertmux send-keys -t worker-3 'y' Enter # Or select numbered optiontmux send-keys -t worker-3 '2' Enter``` ### Check All Sessions Status ```bashfor 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 -5done``` ### Send Task to Session ```bashtmux send-keys -t worker-4 "Fix the bug in auth.js" Enter``` ## Notes - Use `capture-pane -p` to print to stdout (essential for scripting)- `-S -` captures entire scrollback history- Target format: `session:window.pane` (e.g., `shared:0.0`)- Sessions persist across SSH disconnects