tmux

Send keystrokes and capture pane output from local tmux sessions.

46.8k|8.3k|Updated Feb 1, 2026
One-click install
npx skills add https://github.com/HKUDS/nanobot --skill tmux-hkuds
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tmux
Source: https://github.com/HKUDS/nanobot/tree/main/nanobot/skills/tmux
Command: npx skills add https://github.com/HKUDS/nanobot --skill tmux-hkuds

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill enables remote control of local tmux sessions by sending keystrokes and capturing pane output.

Core Features & Use Cases

  • Remote-control tmux sessions to drive interactive CLIs from a single interface.
  • Capture pane output for logging, debugging, and automation, enabling scripted workflows.
  • Orchestrate multiple sessions and panes across a private socket to manage concurrent tasks.

Quick Start

Start a private tmux socket, create a session, and interact with a CLI; capture pane output to verify results.

Frequently Asked Questions about tmux

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate interactive CLI sessions in tmux remotely?

To automate interactive CLI sessions in tmux remotely, you send keystrokes to a named tmux socket and capture pane output. This enables driving interactive command-line interfaces from a single automated interface.

Can I capture pane output from a specific tmux session for logging?

Yes, you can capture pane output from a specific tmux session for logging and debugging. By interacting with a named socket and session, you retrieve the current pane output to verify automation results.

Does this tmux remote control approach work on macOS and Linux?

Yes, tmux remote control works on macOS and Linux environments. It requires the tmux binary to be available on your system PATH to send keystrokes and capture pane output successfully.

What is the best way to orchestrate multiple concurrent tasks using tmux?

The best way to orchestrate multiple concurrent tasks using tmux is managing multiple sessions and panes across a private socket. This allows you to drive interactive CLIs and handle concurrent workflows from one interface.

Why do I need a named tmux socket to drive interactive CLIs?

You need a named tmux socket to isolate and drive interactive CLIs securely. Targeting a specific socket allows the remote control process to send keystrokes and capture pane output without interfering with default tmux sessions.

Are there limitations when sending keystrokes to terminal sessions via tmux?

Limitations when sending keystrokes via tmux include dependency on the tmux binary being on PATH and strict compatibility with darwin and linux environments. It does not support platforms lacking native tmux binary access.