tmux Skill
description: Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
by brennerspear · published 2026-03-22
$ claw add gh:brennerspear/brennerspear-tmux-remote-control---
name: tmux
description: Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
metadata:
{ "openclaw": { "emoji": "🧵", "os": ["darwin", "linux"], "requires": { "bins": ["tmux"] } } }
---
# tmux Skill
Use tmux only when you need an interactive TTY. Prefer exec background mode for long-running, non-interactive tasks.
Default Server — No Custom Sockets
**Always use the default tmux server.** Do NOT use `-S` custom sockets. The user needs to `tmux attach` easily without knowing obscure socket paths.
Session Naming
**Convention:** `oc-${project}-${feature}` (e.g. `oc-knowhere-date-range-picker`, `oc-deck-auth-flow`)
Quickstart
SESSION=oc-myproject-feature
tmux new-session -d -s "$SESSION" -c ~/projects/myproject
tmux send-keys -t "$SESSION" 'claude --dangerously-skip-permissions' Enter
tmux capture-pane -p -J -t "$SESSION" -S -200After starting a session, tell the user:
To monitor: tmux attach -t $SESSIONTargeting panes and naming
Sending input safely
`send-keys`. These apps may treat a fast text+Enter sequence as paste/multi-line input
and not submit. Send text and `Enter` as separate commands with a small delay:
tmux send-keys -t target -l -- "$cmd" && sleep 0.1 && tmux send-keys -t target EnterWatching output
Spawning processes
Orchestrating Coding Agents (Codex, Claude Code)
tmux excels at running multiple coding agents in parallel:
# Create sessions in different worktrees
tmux new-session -d -s oc-project-fix1 -c ~/projects/project-fix1
tmux new-session -d -s oc-project-fix2 -c ~/projects/project-fix2
# Launch agents
tmux send-keys -t oc-project-fix1 'claude --dangerously-skip-permissions' Enter
tmux send-keys -t oc-project-fix2 'codex --full-auto' Enter
# Send a prompt (text + Enter separated by delay)
tmux send-keys -t oc-project-fix1 -l -- "Fix the date picker styling." && sleep 0.1 && tmux send-keys -t oc-project-fix1 Enter
# Poll for completion (check if shell prompt returned)
for sess in oc-project-fix1 oc-project-fix2; do
if tmux capture-pane -p -t "$sess" -S -3 | grep -q "❯"; then
echo "$sess: DONE"
else
echo "$sess: Running..."
fi
done
# Get full output
tmux capture-pane -p -t oc-project-fix1 -S -500**Tips:**
Cleanup
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...