用途:该技能用于远程控制 tmux 会话,通过发送按键(keystrokes)和抓取窗格(pane)输出来操作交互式 CLI。资料指出其对管理 Claude Code 会话尤为重要。
适用场景:监控 tmux 中的 Claude/Codex 会话;向交互式终端应用发送输入;抓取 tmux 中长期运行进程的输出;以程序化方式导航 tmux 窗格/窗口;查看既有会话中的后台工作。
不适用场景:运行一次性 shell 命令(应直接用 exec 工具);启动新的后台进程(应使用 exec 的 background:true);非交互式脚本(应使用 exec);进程不在 tmux 中;需要新建 tmux 会话(应使用 exec 配合 tmux new-session)。
常见命令:列出会话 tmux list-sessions 或 tmux ls;抓取输出 tmux capture-pane -t shared -p | tail -20(最后 20 行),-S - 抓取全部回滚历史,tmux capture-pane -t shared:0.0 -p 指定窗格;发送按键 tmux send-keys -t shared "hello"(不回车),tmux send-keys -t shared "y" Enter(带回车),特殊键 Enter、Escape、C-c(Ctrl+C)、C-d(Ctrl+D/EOF)、C-z(Ctrl+Z/挂起);窗口/窗格导航 tmux select-window -t shared:0、tmux select-pane -t shared:0.1、tmux list-windows -t shared;会话管理 tmux new-session -d -s newsession、tmux kill-session -t sessionname、tmux rename-session -t old new。
安全发送输入:对交互式 TUI(Claude Code、Codex 等),应把文本和 Enter 拆成两次发送,避免粘贴/多行边界问题,例如先 tmux send-keys -t shared -l -- "Please apply the patch in src/foo.ts",sleep 0.1,再 tmux send-keys -t shared Enter。
Claude Code 会话模式:检查是否需要输入可抓取末尾输出并匹配提示符;批准提示可发送 'y' Enter 或选择编号选项如 '2' Enter;可用循环抓取多个会话(如 shared、worker-2 至 worker-8)的最后几行查看状态;发送任务如 tmux send-keys -t worker-4 "Fix the bug in auth.js" Enter。
限制与注意:capture-pane -p 用于打印到标准输出(脚本化必要);-S - 抓取整个回滚历史;目标格式为 session:window.pane;会话可跨 SSH 断连持续存在。资料未提供收费、价格、平台等信息。