Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Tmux Remote Control

v1.0.0

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

0· 404·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (remote-controlling tmux sessions) align with the declared dependency (tmux), the SKILL.md examples, and the included wait-for-text.sh script. Nothing requested (no extra binaries, env vars, or config paths) is out of scope for a tmux helper.
Instruction Scope
SKILL.md instructs creating and naming tmux sessions, sending keys, and capturing pane output — all expected. It also shows examples that launch local agent CLIs (e.g., 'claude --dangerously-skip-permissions', 'codex --full-auto'). Those examples encourage running arbitrary commands in the user's environment and using agent flags that bypass protections; this is a usage concern but not an incoherence with the skill's purpose.
Install Mechanism
No install spec; instruction-only plus a small included shell script. No external downloads or archive extraction. Low install risk.
Credentials
No environment variables, credentials, or config paths are requested. The script and docs use only tmux and standard shell tools, which is proportional to the functionality.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system settings. It will create tmux sessions with an 'oc-' prefix (documented) but otherwise has no elevated persistence requirements.
Assessment
This skill is coherent for controlling tmux sessions: it will create sessions, send keystrokes, and scrape pane output. Before installing, review the commands you plan to run via tmux (the skill will accept and forward arbitrary input), avoid running it with elevated privileges, and be cautious if you use the example flags like '--dangerously-skip-permissions' or '--full-auto' — those flags can bypass local safety checks of third-party agent CLIs. If you want extra assurance, inspect or run the included wait-for-text.sh script yourself; it only uses tmux and standard shell utilities.

Like a lobster shell, security has layers — review code before you run it.

latestvk973dpgr2cgpftgfphge0vynrx81t414

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🧵 Clawdis
OSmacOS · Linux
Binstmux

SKILL.md

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)

  • oc- prefix = OpenClaw-managed, avoids collision with user sessions
  • Easy to find: tmux ls | grep oc-

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 -200

After starting a session, tell the user:

To monitor: tmux attach -t $SESSION

Targeting panes and naming

  • Target format: session:window.pane (defaults to :0.0).
  • Keep names short; avoid spaces.
  • Inspect: tmux list-sessions, tmux list-panes -a.

Sending input safely

  • Prefer literal sends: tmux send-keys -t target -l -- "$cmd".
  • Control keys: tmux send-keys -t target C-c.
  • For interactive TUI apps like Claude Code/Codex, do not append Enter in the same 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 Enter

Watching output

  • Capture recent history: tmux capture-pane -p -J -t target -S -200.
  • Attaching is OK; detach with Ctrl+b d.

Spawning processes

  • For python REPLs, set PYTHON_BASIC_REPL=1 (non-basic REPL breaks send-keys flows).

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:

  • Use separate git worktrees for parallel fixes (no branch conflicts)
  • bun install / pnpm install first before running agents in fresh clones
  • Check for shell prompt ( or $) to detect completion
  • Codex needs --yolo or --full-auto for non-interactive fixes

Cleanup

  • Kill a session: tmux kill-session -t "$SESSION".
  • Kill all OpenClaw sessions: tmux ls -F '#{session_name}' | grep '^oc-' | xargs -n1 tmux kill-session -t.

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…