tmuxRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
Install via ClawdBot CLI:
clawdbot install steipete/tmuxRequires:
Use tmux only when you need an interactive TTY. Prefer bash background mode for long-running, non-interactive tasks.
SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}"
mkdir -p "$SOCKET_DIR"
SOCKET="$SOCKET_DIR/clawdbot.sock"
SESSION=clawdbot-python
tmux -S "$SOCKET" new -d -s "$SESSION" -n shell
tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
After starting a session, always print monitor commands:
To monitor:
tmux -S "$SOCKET" attach -t "$SESSION"
tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200
CLAWDBOT_TMUX_SOCKET_DIR (default ${TMPDIR:-/tmp}/clawdbot-tmux-sockets)."$CLAWDBOT_TMUX_SOCKET_DIR/clawdbot.sock".session:window.pane (defaults to :0.0).tmux -S "$SOCKET" list-sessions, tmux -S "$SOCKET" list-panes -a.{baseDir}/scripts/find-sessions.sh -S "$SOCKET".{baseDir}/scripts/find-sessions.sh --all (uses CLAWDBOT_TMUX_SOCKET_DIR).tmux -S "$SOCKET" send-keys -t target -l -- "$cmd".tmux -S "$SOCKET" send-keys -t target C-c.tmux -S "$SOCKET" capture-pane -p -J -t target -S -200.{baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern'.Ctrl+b d.PYTHON_BASIC_REPL=1 (non-basic REPL breaks send-keys flows).darwin/linux and requires tmux on PATH.tmux excels at running multiple coding agents in parallel:
SOCKET="${TMPDIR:-/tmp}/codex-army.sock"
# Create multiple sessions
for i in 1 2 3 4 5; do
tmux -S "$SOCKET" new-session -d -s "agent-$i"
done
# Launch agents in different workdirs
tmux -S "$SOCKET" send-keys -t agent-1 "cd /tmp/project1 && codex --yolo 'Fix bug X'" Enter
tmux -S "$SOCKET" send-keys -t agent-2 "cd /tmp/project2 && codex --yolo 'Fix bug Y'" Enter
# Poll for completion (check if prompt returned)
for sess in agent-1 agent-2; do
if tmux -S "$SOCKET" capture-pane -p -t "$sess" -S -3 | grep -q "โฏ"; then
echo "$sess: DONE"
else
echo "$sess: Running..."
fi
done
# Get full output from completed session
tmux -S "$SOCKET" capture-pane -p -t agent-1 -S -500
Tips:
pnpm install first before running codex in fresh clonesโฏ or $) to detect completion--yolo or --full-auto for non-interactive fixestmux -S "$SOCKET" kill-session -t "$SESSION".tmux -S "$SOCKET" list-sessions -F '#{session_name}' | xargs -r -n1 tmux -S "$SOCKET" kill-session -t.tmux -S "$SOCKET" kill-server.{baseDir}/scripts/wait-for-text.sh polls a pane for a regex (or fixed string) with a timeout.
{baseDir}/scripts/wait-for-text.sh -t session:0.0 -p 'pattern' [-F] [-T 20] [-i 0.5] [-l 2000]
-t/--target pane target (required)-p/--pattern regex to match (required); add -F for fixed string-T timeout seconds (integer, default 15)-i poll interval seconds (default 0.5)-l history lines to search (integer, default 1000)Generated Feb 24, 2026
Use tmux to run multiple AI coding agents simultaneously across different git worktrees, enabling parallel code reviews or bug fixes without branch conflicts. This is ideal for software development teams needing to scale code analysis, such as testing multiple patches or refactoring suggestions concurrently.
Leverage tmux to control Python REPL sessions for interactive data exploration and model training, allowing data scientists to send commands and scrape outputs programmatically. This supports iterative analysis in environments like Jupyter alternatives or custom CLI tools, enhancing reproducibility and automation.
Employ tmux to manage multiple remote CLI sessions for infrastructure provisioning, monitoring, and deployment tasks across servers. This enables automated orchestration of commands in interactive terminals, useful for cloud operations teams handling complex, multi-server workflows.
Integrate tmux to provide students with isolated, interactive coding environments for programming exercises, allowing instructors to send keystrokes and capture outputs for grading or assistance. This supports scalable online learning platforms in computer science education.
Utilize tmux to automate interactive command-line tools for security assessments, such as running parallel scans or exploit simulations in controlled sessions. This aids penetration testers in managing multiple attack vectors and scraping results efficiently.
Offer a cloud-based service that uses this tmux skill to automate interactive CLI tasks for clients, such as code deployment or data processing, with pay-per-use or subscription pricing. Revenue is generated through monthly fees based on usage tiers and support services.
Sell custom integrations of this skill into existing enterprise DevOps or development tools, enabling companies to enhance their automation pipelines with interactive terminal control. Revenue comes from one-time licensing fees and ongoing maintenance contracts.
Provide training workshops and consulting to help organizations implement this tmux skill for specific use cases like parallel coding or infrastructure management. Revenue is generated through hourly consulting rates and packaged training programs.
๐ฌ Integration Tip
Ensure tmux is installed on the target system and set up isolated sockets to avoid conflicts; use helper scripts like wait-for-text.sh for reliable output monitoring in automated workflows.
Command-line tool to manage Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Slides, Contacts, Tasks, People, Groups, and Keep.
Runs shell commands inside a dedicated tmux session named claw, captures, and returns the output, with safety checks for destructive commands.
A modern text-based browser. Renders web pages in the terminal using headless Firefox.
Write robust, portable shell scripts. Use when parsing arguments, handling errors properly, writing POSIX-compatible scripts, managing temp files, running commands in parallel, managing background processes, or adding --help to scripts.
NotebookLM CLI wrapper via `node {baseDir}/scripts/notebooklm.mjs`. Use for auth, notebooks, chat, sources, notes, sharing, research, and artifact generation/download.
Command-line JSON processor. Extract, filter, transform JSON.