[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-deepgram-tmux":3,"mdc--wgzxz0-key":32,"related-org-deepgram-tmux":1874,"related-repo-deepgram-tmux":2031},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":30,"mdContent":31},"tmux","control tmux sessions via CLI","Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"deepgram","Deepgram","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fdeepgram.png",[12,16,19],{"name":13,"slug":14,"type":15},"Automation","automation","tag",{"name":17,"slug":18,"type":15},"Linux","linux",{"name":20,"slug":21,"type":15},"CLI","cli",23,"https:\u002F\u002Fgithub.com\u002Fdeepgram\u002Fdglabs-deepclaw","2026-07-12T08:28:05.361586",null,9,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":25},[],"https:\u002F\u002Fgithub.com\u002Fdeepgram\u002Fdglabs-deepclaw\u002Ftree\u002FHEAD\u002Fskills\u002Ftmux","---\nname: tmux\ndescription: Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.\nmetadata:\n  { \"openclaw\": { \"emoji\": \"🧵\", \"os\": [\"darwin\", \"linux\"], \"requires\": { \"bins\": [\"tmux\"] } } }\n---\n\n# tmux Skill (OpenClaw)\n\nUse tmux only when you need an interactive TTY. Prefer exec background mode for long-running, non-interactive tasks.\n\n## Quickstart (isolated socket, exec tool)\n\n```bash\nSOCKET_DIR=\"${OPENCLAW_TMUX_SOCKET_DIR:-${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-\u002Ftmp}\u002Fopenclaw-tmux-sockets}}\"\nmkdir -p \"$SOCKET_DIR\"\nSOCKET=\"$SOCKET_DIR\u002Fopenclaw.sock\"\nSESSION=openclaw-python\n\ntmux -S \"$SOCKET\" new -d -s \"$SESSION\" -n shell\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter\ntmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\n```\n\nAfter starting a session, always print monitor commands:\n\n```\nTo monitor:\n  tmux -S \"$SOCKET\" attach -t \"$SESSION\"\n  tmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\n```\n\n## Socket convention\n\n- Use `OPENCLAW_TMUX_SOCKET_DIR` (legacy `CLAWDBOT_TMUX_SOCKET_DIR` also supported).\n- Default socket path: `\"$OPENCLAW_TMUX_SOCKET_DIR\u002Fopenclaw.sock\"`.\n\n## Targeting panes and naming\n\n- Target format: `session:window.pane` (defaults to `:0.0`).\n- Keep names short; avoid spaces.\n- Inspect: `tmux -S \"$SOCKET\" list-sessions`, `tmux -S \"$SOCKET\" list-panes -a`.\n\n## Finding sessions\n\n- List sessions on your socket: `{baseDir}\u002Fscripts\u002Ffind-sessions.sh -S \"$SOCKET\"`.\n- Scan all sockets: `{baseDir}\u002Fscripts\u002Ffind-sessions.sh --all` (uses `OPENCLAW_TMUX_SOCKET_DIR`).\n\n## Sending input safely\n\n- Prefer literal sends: `tmux -S \"$SOCKET\" send-keys -t target -l -- \"$cmd\"`.\n- Control keys: `tmux -S \"$SOCKET\" send-keys -t target C-c`.\n- For interactive TUI apps like Claude Code\u002FCodex, this guidance covers **how to send commands**.\n  Do **not** append `Enter` in the same `send-keys`. These apps may treat a fast text+Enter\n  sequence as paste\u002Fmulti-line input and not submit; this is timing-dependent. Send text and\n  `Enter` as separate commands with a small delay (tune per environment; increase if needed,\n  or use `sleep 1` if sub-second sleeps aren't supported):\n\n```bash\ntmux -S \"$SOCKET\" send-keys -t target -l -- \"$cmd\" && sleep 0.1 && tmux -S \"$SOCKET\" send-keys -t target Enter\n```\n\n## Watching output\n\n- Capture recent history: `tmux -S \"$SOCKET\" capture-pane -p -J -t target -S -200`.\n- Wait for prompts: `{baseDir}\u002Fscripts\u002Fwait-for-text.sh -t session:0.0 -p 'pattern'`.\n- Attaching is OK; detach with `Ctrl+b d`.\n\n## Spawning processes\n\n- For python REPLs, set `PYTHON_BASIC_REPL=1` (non-basic REPL breaks send-keys flows).\n\n## Windows \u002F WSL\n\n- tmux is supported on macOS\u002FLinux. On Windows, use WSL and install tmux inside WSL.\n- This skill is gated to `darwin`\u002F`linux` and requires `tmux` on PATH.\n\n## Orchestrating Coding Agents (Codex, Claude Code)\n\ntmux excels at running multiple coding agents in parallel:\n\n```bash\nSOCKET=\"${TMPDIR:-\u002Ftmp}\u002Fcodex-army.sock\"\n\n# Create multiple sessions\nfor i in 1 2 3 4 5; do\n  tmux -S \"$SOCKET\" new-session -d -s \"agent-$i\"\ndone\n\n# Launch agents in different workdirs\ntmux -S \"$SOCKET\" send-keys -t agent-1 \"cd \u002Ftmp\u002Fproject1 && codex --yolo 'Fix bug X'\" Enter\ntmux -S \"$SOCKET\" send-keys -t agent-2 \"cd \u002Ftmp\u002Fproject2 && codex --yolo 'Fix bug Y'\" Enter\n\n# When sending prompts to Claude Code\u002FCodex TUI, split text + Enter with a delay\ntmux -S \"$SOCKET\" send-keys -t agent-1 -l -- \"Please make a small edit to README.md.\" && sleep 0.1 && tmux -S \"$SOCKET\" send-keys -t agent-1 Enter\n\n# Poll for completion (check if prompt returned)\nfor sess in agent-1 agent-2; do\n  if tmux -S \"$SOCKET\" capture-pane -p -t \"$sess\" -S -3 | grep -q \"❯\"; then\n    echo \"$sess: DONE\"\n  else\n    echo \"$sess: Running...\"\n  fi\ndone\n\n# Get full output from completed session\ntmux -S \"$SOCKET\" capture-pane -p -t agent-1 -S -500\n```\n\n**Tips:**\n\n- Use separate git worktrees for parallel fixes (no branch conflicts)\n- `pnpm install` first before running codex in fresh clones\n- Check for shell prompt (`❯` or `$`) to detect completion\n- Codex needs `--yolo` or `--full-auto` for non-interactive fixes\n\n## Cleanup\n\n- Kill a session: `tmux -S \"$SOCKET\" kill-session -t \"$SESSION\"`.\n- Kill all sessions on a socket: `tmux -S \"$SOCKET\" list-sessions -F '#{session_name}' | xargs -r -n1 tmux -S \"$SOCKET\" kill-session -t`.\n- Remove everything on the private socket: `tmux -S \"$SOCKET\" kill-server`.\n\n## Helper: wait-for-text.sh\n\n`{baseDir}\u002Fscripts\u002Fwait-for-text.sh` polls a pane for a regex (or fixed string) with a timeout.\n\n```bash\n{baseDir}\u002Fscripts\u002Fwait-for-text.sh -t session:0.0 -p 'pattern' [-F] [-T 20] [-i 0.5] [-l 2000]\n```\n\n- `-t`\u002F`--target` pane target (required)\n- `-p`\u002F`--pattern` regex to match (required); add `-F` for fixed string\n- `-T` timeout seconds (integer, default 15)\n- `-i` poll interval seconds (default 0.5)\n- `-l` history lines to search (integer, default 1000)\n",{"data":33,"body":41},{"name":4,"description":6,"metadata":34},{"openclaw":35},{"emoji":36,"os":37,"requires":39},"🧵",[38,18],"darwin",{"bins":40},[4],{"type":42,"children":43},"root",[44,53,59,66,447,452,462,468,505,511,559,565,599,605,683,805,811,850,856,872,878,912,918,923,1645,1653,1712,1718,1757,1763,1774,1788,1868],{"type":45,"tag":46,"props":47,"children":49},"element","h1",{"id":48},"tmux-skill-openclaw",[50],{"type":51,"value":52},"text","tmux Skill (OpenClaw)",{"type":45,"tag":54,"props":55,"children":56},"p",{},[57],{"type":51,"value":58},"Use tmux only when you need an interactive TTY. Prefer exec background mode for long-running, non-interactive tasks.",{"type":45,"tag":60,"props":61,"children":63},"h2",{"id":62},"quickstart-isolated-socket-exec-tool",[64],{"type":51,"value":65},"Quickstart (isolated socket, exec tool)",{"type":45,"tag":67,"props":68,"children":73},"pre",{"className":69,"code":70,"language":71,"meta":72,"style":72},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","SOCKET_DIR=\"${OPENCLAW_TMUX_SOCKET_DIR:-${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-\u002Ftmp}\u002Fopenclaw-tmux-sockets}}\"\nmkdir -p \"$SOCKET_DIR\"\nSOCKET=\"$SOCKET_DIR\u002Fopenclaw.sock\"\nSESSION=openclaw-python\n\ntmux -S \"$SOCKET\" new -d -s \"$SESSION\" -n shell\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter\ntmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\n","bash","",[74],{"type":45,"tag":75,"props":76,"children":77},"code",{"__ignoreMap":72},[78,150,181,212,230,240,304,380],{"type":45,"tag":79,"props":80,"children":83},"span",{"class":81,"line":82},"line",1,[84,90,96,101,106,111,116,120,125,130,135,140,145],{"type":45,"tag":79,"props":85,"children":87},{"style":86},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[88],{"type":51,"value":89},"SOCKET_DIR",{"type":45,"tag":79,"props":91,"children":93},{"style":92},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[94],{"type":51,"value":95},"=",{"type":45,"tag":79,"props":97,"children":98},{"style":92},[99],{"type":51,"value":100},"\"${",{"type":45,"tag":79,"props":102,"children":103},{"style":86},[104],{"type":51,"value":105},"OPENCLAW_TMUX_SOCKET_DIR",{"type":45,"tag":79,"props":107,"children":108},{"style":92},[109],{"type":51,"value":110},":-${",{"type":45,"tag":79,"props":112,"children":113},{"style":86},[114],{"type":51,"value":115},"CLAWDBOT_TMUX_SOCKET_DIR",{"type":45,"tag":79,"props":117,"children":118},{"style":92},[119],{"type":51,"value":110},{"type":45,"tag":79,"props":121,"children":122},{"style":86},[123],{"type":51,"value":124},"TMPDIR",{"type":45,"tag":79,"props":126,"children":127},{"style":92},[128],{"type":51,"value":129},":-\u002F",{"type":45,"tag":79,"props":131,"children":132},{"style":86},[133],{"type":51,"value":134},"tmp",{"type":45,"tag":79,"props":136,"children":137},{"style":92},[138],{"type":51,"value":139},"}\u002F",{"type":45,"tag":79,"props":141,"children":142},{"style":86},[143],{"type":51,"value":144},"openclaw-tmux-sockets",{"type":45,"tag":79,"props":146,"children":147},{"style":92},[148],{"type":51,"value":149},"}}\"\n",{"type":45,"tag":79,"props":151,"children":153},{"class":81,"line":152},2,[154,160,166,171,176],{"type":45,"tag":79,"props":155,"children":157},{"style":156},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[158],{"type":51,"value":159},"mkdir",{"type":45,"tag":79,"props":161,"children":163},{"style":162},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[164],{"type":51,"value":165}," -p",{"type":45,"tag":79,"props":167,"children":168},{"style":92},[169],{"type":51,"value":170}," \"",{"type":45,"tag":79,"props":172,"children":173},{"style":86},[174],{"type":51,"value":175},"$SOCKET_DIR",{"type":45,"tag":79,"props":177,"children":178},{"style":92},[179],{"type":51,"value":180},"\"\n",{"type":45,"tag":79,"props":182,"children":184},{"class":81,"line":183},3,[185,190,194,199,203,208],{"type":45,"tag":79,"props":186,"children":187},{"style":86},[188],{"type":51,"value":189},"SOCKET",{"type":45,"tag":79,"props":191,"children":192},{"style":92},[193],{"type":51,"value":95},{"type":45,"tag":79,"props":195,"children":196},{"style":92},[197],{"type":51,"value":198},"\"",{"type":45,"tag":79,"props":200,"children":201},{"style":86},[202],{"type":51,"value":175},{"type":45,"tag":79,"props":204,"children":205},{"style":162},[206],{"type":51,"value":207},"\u002Fopenclaw.sock",{"type":45,"tag":79,"props":209,"children":210},{"style":92},[211],{"type":51,"value":180},{"type":45,"tag":79,"props":213,"children":215},{"class":81,"line":214},4,[216,221,225],{"type":45,"tag":79,"props":217,"children":218},{"style":86},[219],{"type":51,"value":220},"SESSION",{"type":45,"tag":79,"props":222,"children":223},{"style":92},[224],{"type":51,"value":95},{"type":45,"tag":79,"props":226,"children":227},{"style":162},[228],{"type":51,"value":229},"openclaw-python\n",{"type":45,"tag":79,"props":231,"children":233},{"class":81,"line":232},5,[234],{"type":45,"tag":79,"props":235,"children":237},{"emptyLinePlaceholder":236},true,[238],{"type":51,"value":239},"\n",{"type":45,"tag":79,"props":241,"children":243},{"class":81,"line":242},6,[244,248,253,257,262,266,271,276,281,285,290,294,299],{"type":45,"tag":79,"props":245,"children":246},{"style":156},[247],{"type":51,"value":4},{"type":45,"tag":79,"props":249,"children":250},{"style":162},[251],{"type":51,"value":252}," -S",{"type":45,"tag":79,"props":254,"children":255},{"style":92},[256],{"type":51,"value":170},{"type":45,"tag":79,"props":258,"children":259},{"style":86},[260],{"type":51,"value":261},"$SOCKET",{"type":45,"tag":79,"props":263,"children":264},{"style":92},[265],{"type":51,"value":198},{"type":45,"tag":79,"props":267,"children":268},{"style":162},[269],{"type":51,"value":270}," new",{"type":45,"tag":79,"props":272,"children":273},{"style":162},[274],{"type":51,"value":275}," -d",{"type":45,"tag":79,"props":277,"children":278},{"style":162},[279],{"type":51,"value":280}," -s",{"type":45,"tag":79,"props":282,"children":283},{"style":92},[284],{"type":51,"value":170},{"type":45,"tag":79,"props":286,"children":287},{"style":86},[288],{"type":51,"value":289},"$SESSION",{"type":45,"tag":79,"props":291,"children":292},{"style":92},[293],{"type":51,"value":198},{"type":45,"tag":79,"props":295,"children":296},{"style":162},[297],{"type":51,"value":298}," -n",{"type":45,"tag":79,"props":300,"children":301},{"style":162},[302],{"type":51,"value":303}," shell\n",{"type":45,"tag":79,"props":305,"children":307},{"class":81,"line":306},7,[308,312,316,320,324,328,333,338,342,346,350,355,360,365,370,375],{"type":45,"tag":79,"props":309,"children":310},{"style":156},[311],{"type":51,"value":4},{"type":45,"tag":79,"props":313,"children":314},{"style":162},[315],{"type":51,"value":252},{"type":45,"tag":79,"props":317,"children":318},{"style":92},[319],{"type":51,"value":170},{"type":45,"tag":79,"props":321,"children":322},{"style":86},[323],{"type":51,"value":261},{"type":45,"tag":79,"props":325,"children":326},{"style":92},[327],{"type":51,"value":198},{"type":45,"tag":79,"props":329,"children":330},{"style":162},[331],{"type":51,"value":332}," send-keys",{"type":45,"tag":79,"props":334,"children":335},{"style":162},[336],{"type":51,"value":337}," -t",{"type":45,"tag":79,"props":339,"children":340},{"style":92},[341],{"type":51,"value":170},{"type":45,"tag":79,"props":343,"children":344},{"style":86},[345],{"type":51,"value":289},{"type":45,"tag":79,"props":347,"children":348},{"style":92},[349],{"type":51,"value":198},{"type":45,"tag":79,"props":351,"children":352},{"style":162},[353],{"type":51,"value":354},":0.0",{"type":45,"tag":79,"props":356,"children":357},{"style":162},[358],{"type":51,"value":359}," --",{"type":45,"tag":79,"props":361,"children":362},{"style":92},[363],{"type":51,"value":364}," '",{"type":45,"tag":79,"props":366,"children":367},{"style":162},[368],{"type":51,"value":369},"PYTHON_BASIC_REPL=1 python3 -q",{"type":45,"tag":79,"props":371,"children":372},{"style":92},[373],{"type":51,"value":374},"'",{"type":45,"tag":79,"props":376,"children":377},{"style":162},[378],{"type":51,"value":379}," Enter\n",{"type":45,"tag":79,"props":381,"children":383},{"class":81,"line":382},8,[384,388,392,396,400,404,409,413,418,422,426,430,434,438,442],{"type":45,"tag":79,"props":385,"children":386},{"style":156},[387],{"type":51,"value":4},{"type":45,"tag":79,"props":389,"children":390},{"style":162},[391],{"type":51,"value":252},{"type":45,"tag":79,"props":393,"children":394},{"style":92},[395],{"type":51,"value":170},{"type":45,"tag":79,"props":397,"children":398},{"style":86},[399],{"type":51,"value":261},{"type":45,"tag":79,"props":401,"children":402},{"style":92},[403],{"type":51,"value":198},{"type":45,"tag":79,"props":405,"children":406},{"style":162},[407],{"type":51,"value":408}," capture-pane",{"type":45,"tag":79,"props":410,"children":411},{"style":162},[412],{"type":51,"value":165},{"type":45,"tag":79,"props":414,"children":415},{"style":162},[416],{"type":51,"value":417}," -J",{"type":45,"tag":79,"props":419,"children":420},{"style":162},[421],{"type":51,"value":337},{"type":45,"tag":79,"props":423,"children":424},{"style":92},[425],{"type":51,"value":170},{"type":45,"tag":79,"props":427,"children":428},{"style":86},[429],{"type":51,"value":289},{"type":45,"tag":79,"props":431,"children":432},{"style":92},[433],{"type":51,"value":198},{"type":45,"tag":79,"props":435,"children":436},{"style":162},[437],{"type":51,"value":354},{"type":45,"tag":79,"props":439,"children":440},{"style":162},[441],{"type":51,"value":252},{"type":45,"tag":79,"props":443,"children":444},{"style":162},[445],{"type":51,"value":446}," -200\n",{"type":45,"tag":54,"props":448,"children":449},{},[450],{"type":51,"value":451},"After starting a session, always print monitor commands:",{"type":45,"tag":67,"props":453,"children":457},{"className":454,"code":456,"language":51},[455],"language-text","To monitor:\n  tmux -S \"$SOCKET\" attach -t \"$SESSION\"\n  tmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\n",[458],{"type":45,"tag":75,"props":459,"children":460},{"__ignoreMap":72},[461],{"type":51,"value":456},{"type":45,"tag":60,"props":463,"children":465},{"id":464},"socket-convention",[466],{"type":51,"value":467},"Socket convention",{"type":45,"tag":469,"props":470,"children":471},"ul",{},[472,492],{"type":45,"tag":473,"props":474,"children":475},"li",{},[476,478,483,485,490],{"type":51,"value":477},"Use ",{"type":45,"tag":75,"props":479,"children":481},{"className":480},[],[482],{"type":51,"value":105},{"type":51,"value":484}," (legacy ",{"type":45,"tag":75,"props":486,"children":488},{"className":487},[],[489],{"type":51,"value":115},{"type":51,"value":491}," also supported).",{"type":45,"tag":473,"props":493,"children":494},{},[495,497,503],{"type":51,"value":496},"Default socket path: ",{"type":45,"tag":75,"props":498,"children":500},{"className":499},[],[501],{"type":51,"value":502},"\"$OPENCLAW_TMUX_SOCKET_DIR\u002Fopenclaw.sock\"",{"type":51,"value":504},".",{"type":45,"tag":60,"props":506,"children":508},{"id":507},"targeting-panes-and-naming",[509],{"type":51,"value":510},"Targeting panes and naming",{"type":45,"tag":469,"props":512,"children":513},{},[514,534,539],{"type":45,"tag":473,"props":515,"children":516},{},[517,519,525,527,532],{"type":51,"value":518},"Target format: ",{"type":45,"tag":75,"props":520,"children":522},{"className":521},[],[523],{"type":51,"value":524},"session:window.pane",{"type":51,"value":526}," (defaults to ",{"type":45,"tag":75,"props":528,"children":530},{"className":529},[],[531],{"type":51,"value":354},{"type":51,"value":533},").",{"type":45,"tag":473,"props":535,"children":536},{},[537],{"type":51,"value":538},"Keep names short; avoid spaces.",{"type":45,"tag":473,"props":540,"children":541},{},[542,544,550,552,558],{"type":51,"value":543},"Inspect: ",{"type":45,"tag":75,"props":545,"children":547},{"className":546},[],[548],{"type":51,"value":549},"tmux -S \"$SOCKET\" list-sessions",{"type":51,"value":551},", ",{"type":45,"tag":75,"props":553,"children":555},{"className":554},[],[556],{"type":51,"value":557},"tmux -S \"$SOCKET\" list-panes -a",{"type":51,"value":504},{"type":45,"tag":60,"props":560,"children":562},{"id":561},"finding-sessions",[563],{"type":51,"value":564},"Finding sessions",{"type":45,"tag":469,"props":566,"children":567},{},[568,580],{"type":45,"tag":473,"props":569,"children":570},{},[571,573,579],{"type":51,"value":572},"List sessions on your socket: ",{"type":45,"tag":75,"props":574,"children":576},{"className":575},[],[577],{"type":51,"value":578},"{baseDir}\u002Fscripts\u002Ffind-sessions.sh -S \"$SOCKET\"",{"type":51,"value":504},{"type":45,"tag":473,"props":581,"children":582},{},[583,585,591,593,598],{"type":51,"value":584},"Scan all sockets: ",{"type":45,"tag":75,"props":586,"children":588},{"className":587},[],[589],{"type":51,"value":590},"{baseDir}\u002Fscripts\u002Ffind-sessions.sh --all",{"type":51,"value":592}," (uses ",{"type":45,"tag":75,"props":594,"children":596},{"className":595},[],[597],{"type":51,"value":105},{"type":51,"value":533},{"type":45,"tag":60,"props":600,"children":602},{"id":601},"sending-input-safely",[603],{"type":51,"value":604},"Sending input safely",{"type":45,"tag":469,"props":606,"children":607},{},[608,620,632],{"type":45,"tag":473,"props":609,"children":610},{},[611,613,619],{"type":51,"value":612},"Prefer literal sends: ",{"type":45,"tag":75,"props":614,"children":616},{"className":615},[],[617],{"type":51,"value":618},"tmux -S \"$SOCKET\" send-keys -t target -l -- \"$cmd\"",{"type":51,"value":504},{"type":45,"tag":473,"props":621,"children":622},{},[623,625,631],{"type":51,"value":624},"Control keys: ",{"type":45,"tag":75,"props":626,"children":628},{"className":627},[],[629],{"type":51,"value":630},"tmux -S \"$SOCKET\" send-keys -t target C-c",{"type":51,"value":504},{"type":45,"tag":473,"props":633,"children":634},{},[635,637,643,645,650,652,658,660,666,668,673,675,681],{"type":51,"value":636},"For interactive TUI apps like Claude Code\u002FCodex, this guidance covers ",{"type":45,"tag":638,"props":639,"children":640},"strong",{},[641],{"type":51,"value":642},"how to send commands",{"type":51,"value":644},".\nDo ",{"type":45,"tag":638,"props":646,"children":647},{},[648],{"type":51,"value":649},"not",{"type":51,"value":651}," append ",{"type":45,"tag":75,"props":653,"children":655},{"className":654},[],[656],{"type":51,"value":657},"Enter",{"type":51,"value":659}," in the same ",{"type":45,"tag":75,"props":661,"children":663},{"className":662},[],[664],{"type":51,"value":665},"send-keys",{"type":51,"value":667},". These apps may treat a fast text+Enter\nsequence as paste\u002Fmulti-line input and not submit; this is timing-dependent. Send text and\n",{"type":45,"tag":75,"props":669,"children":671},{"className":670},[],[672],{"type":51,"value":657},{"type":51,"value":674}," as separate commands with a small delay (tune per environment; increase if needed,\nor use ",{"type":45,"tag":75,"props":676,"children":678},{"className":677},[],[679],{"type":51,"value":680},"sleep 1",{"type":51,"value":682}," if sub-second sleeps aren't supported):",{"type":45,"tag":67,"props":684,"children":686},{"className":69,"code":685,"language":71,"meta":72,"style":72},"tmux -S \"$SOCKET\" send-keys -t target -l -- \"$cmd\" && sleep 0.1 && tmux -S \"$SOCKET\" send-keys -t target Enter\n",[687],{"type":45,"tag":75,"props":688,"children":689},{"__ignoreMap":72},[690],{"type":45,"tag":79,"props":691,"children":692},{"class":81,"line":82},[693,697,701,705,709,713,717,721,726,731,735,739,744,748,753,758,764,768,773,777,781,785,789,793,797,801],{"type":45,"tag":79,"props":694,"children":695},{"style":156},[696],{"type":51,"value":4},{"type":45,"tag":79,"props":698,"children":699},{"style":162},[700],{"type":51,"value":252},{"type":45,"tag":79,"props":702,"children":703},{"style":92},[704],{"type":51,"value":170},{"type":45,"tag":79,"props":706,"children":707},{"style":86},[708],{"type":51,"value":261},{"type":45,"tag":79,"props":710,"children":711},{"style":92},[712],{"type":51,"value":198},{"type":45,"tag":79,"props":714,"children":715},{"style":162},[716],{"type":51,"value":332},{"type":45,"tag":79,"props":718,"children":719},{"style":162},[720],{"type":51,"value":337},{"type":45,"tag":79,"props":722,"children":723},{"style":162},[724],{"type":51,"value":725}," target",{"type":45,"tag":79,"props":727,"children":728},{"style":162},[729],{"type":51,"value":730}," -l",{"type":45,"tag":79,"props":732,"children":733},{"style":162},[734],{"type":51,"value":359},{"type":45,"tag":79,"props":736,"children":737},{"style":92},[738],{"type":51,"value":170},{"type":45,"tag":79,"props":740,"children":741},{"style":86},[742],{"type":51,"value":743},"$cmd",{"type":45,"tag":79,"props":745,"children":746},{"style":92},[747],{"type":51,"value":198},{"type":45,"tag":79,"props":749,"children":750},{"style":92},[751],{"type":51,"value":752}," &&",{"type":45,"tag":79,"props":754,"children":755},{"style":156},[756],{"type":51,"value":757}," sleep",{"type":45,"tag":79,"props":759,"children":761},{"style":760},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[762],{"type":51,"value":763}," 0.1",{"type":45,"tag":79,"props":765,"children":766},{"style":92},[767],{"type":51,"value":752},{"type":45,"tag":79,"props":769,"children":770},{"style":156},[771],{"type":51,"value":772}," tmux",{"type":45,"tag":79,"props":774,"children":775},{"style":162},[776],{"type":51,"value":252},{"type":45,"tag":79,"props":778,"children":779},{"style":92},[780],{"type":51,"value":170},{"type":45,"tag":79,"props":782,"children":783},{"style":86},[784],{"type":51,"value":261},{"type":45,"tag":79,"props":786,"children":787},{"style":92},[788],{"type":51,"value":198},{"type":45,"tag":79,"props":790,"children":791},{"style":162},[792],{"type":51,"value":332},{"type":45,"tag":79,"props":794,"children":795},{"style":162},[796],{"type":51,"value":337},{"type":45,"tag":79,"props":798,"children":799},{"style":162},[800],{"type":51,"value":725},{"type":45,"tag":79,"props":802,"children":803},{"style":162},[804],{"type":51,"value":379},{"type":45,"tag":60,"props":806,"children":808},{"id":807},"watching-output",[809],{"type":51,"value":810},"Watching output",{"type":45,"tag":469,"props":812,"children":813},{},[814,826,838],{"type":45,"tag":473,"props":815,"children":816},{},[817,819,825],{"type":51,"value":818},"Capture recent history: ",{"type":45,"tag":75,"props":820,"children":822},{"className":821},[],[823],{"type":51,"value":824},"tmux -S \"$SOCKET\" capture-pane -p -J -t target -S -200",{"type":51,"value":504},{"type":45,"tag":473,"props":827,"children":828},{},[829,831,837],{"type":51,"value":830},"Wait for prompts: ",{"type":45,"tag":75,"props":832,"children":834},{"className":833},[],[835],{"type":51,"value":836},"{baseDir}\u002Fscripts\u002Fwait-for-text.sh -t session:0.0 -p 'pattern'",{"type":51,"value":504},{"type":45,"tag":473,"props":839,"children":840},{},[841,843,849],{"type":51,"value":842},"Attaching is OK; detach with ",{"type":45,"tag":75,"props":844,"children":846},{"className":845},[],[847],{"type":51,"value":848},"Ctrl+b d",{"type":51,"value":504},{"type":45,"tag":60,"props":851,"children":853},{"id":852},"spawning-processes",[854],{"type":51,"value":855},"Spawning processes",{"type":45,"tag":469,"props":857,"children":858},{},[859],{"type":45,"tag":473,"props":860,"children":861},{},[862,864,870],{"type":51,"value":863},"For python REPLs, set ",{"type":45,"tag":75,"props":865,"children":867},{"className":866},[],[868],{"type":51,"value":869},"PYTHON_BASIC_REPL=1",{"type":51,"value":871}," (non-basic REPL breaks send-keys flows).",{"type":45,"tag":60,"props":873,"children":875},{"id":874},"windows-wsl",[876],{"type":51,"value":877},"Windows \u002F WSL",{"type":45,"tag":469,"props":879,"children":880},{},[881,886],{"type":45,"tag":473,"props":882,"children":883},{},[884],{"type":51,"value":885},"tmux is supported on macOS\u002FLinux. On Windows, use WSL and install tmux inside WSL.",{"type":45,"tag":473,"props":887,"children":888},{},[889,891,896,898,903,905,910],{"type":51,"value":890},"This skill is gated to ",{"type":45,"tag":75,"props":892,"children":894},{"className":893},[],[895],{"type":51,"value":38},{"type":51,"value":897},"\u002F",{"type":45,"tag":75,"props":899,"children":901},{"className":900},[],[902],{"type":51,"value":18},{"type":51,"value":904}," and requires ",{"type":45,"tag":75,"props":906,"children":908},{"className":907},[],[909],{"type":51,"value":4},{"type":51,"value":911}," on PATH.",{"type":45,"tag":60,"props":913,"children":915},{"id":914},"orchestrating-coding-agents-codex-claude-code",[916],{"type":51,"value":917},"Orchestrating Coding Agents (Codex, Claude Code)",{"type":45,"tag":54,"props":919,"children":920},{},[921],{"type":51,"value":922},"tmux excels at running multiple coding agents in parallel:",{"type":45,"tag":67,"props":924,"children":926},{"className":69,"code":925,"language":71,"meta":72,"style":72},"SOCKET=\"${TMPDIR:-\u002Ftmp}\u002Fcodex-army.sock\"\n\n# Create multiple sessions\nfor i in 1 2 3 4 5; do\n  tmux -S \"$SOCKET\" new-session -d -s \"agent-$i\"\ndone\n\n# Launch agents in different workdirs\ntmux -S \"$SOCKET\" send-keys -t agent-1 \"cd \u002Ftmp\u002Fproject1 && codex --yolo 'Fix bug X'\" Enter\ntmux -S \"$SOCKET\" send-keys -t agent-2 \"cd \u002Ftmp\u002Fproject2 && codex --yolo 'Fix bug Y'\" Enter\n\n# When sending prompts to Claude Code\u002FCodex TUI, split text + Enter with a delay\ntmux -S \"$SOCKET\" send-keys -t agent-1 -l -- \"Please make a small edit to README.md.\" && sleep 0.1 && tmux -S \"$SOCKET\" send-keys -t agent-1 Enter\n\n# Poll for completion (check if prompt returned)\nfor sess in agent-1 agent-2; do\n  if tmux -S \"$SOCKET\" capture-pane -p -t \"$sess\" -S -3 | grep -q \"❯\"; then\n    echo \"$sess: DONE\"\n  else\n    echo \"$sess: Running...\"\n  fi\ndone\n\n# Get full output from completed session\ntmux -S \"$SOCKET\" capture-pane -p -t agent-1 -S -500\n",[927],{"type":45,"tag":75,"props":928,"children":929},{"__ignoreMap":72},[930,971,978,987,1041,1096,1104,1111,1119,1172,1226,1234,1243,1352,1360,1369,1402,1502,1529,1538,1563,1572,1580,1587,1596],{"type":45,"tag":79,"props":931,"children":932},{"class":81,"line":82},[933,937,941,945,949,953,957,962,967],{"type":45,"tag":79,"props":934,"children":935},{"style":86},[936],{"type":51,"value":189},{"type":45,"tag":79,"props":938,"children":939},{"style":92},[940],{"type":51,"value":95},{"type":45,"tag":79,"props":942,"children":943},{"style":92},[944],{"type":51,"value":100},{"type":45,"tag":79,"props":946,"children":947},{"style":86},[948],{"type":51,"value":124},{"type":45,"tag":79,"props":950,"children":951},{"style":92},[952],{"type":51,"value":129},{"type":45,"tag":79,"props":954,"children":955},{"style":86},[956],{"type":51,"value":134},{"type":45,"tag":79,"props":958,"children":959},{"style":92},[960],{"type":51,"value":961},"}",{"type":45,"tag":79,"props":963,"children":964},{"style":162},[965],{"type":51,"value":966},"\u002Fcodex-army.sock",{"type":45,"tag":79,"props":968,"children":969},{"style":92},[970],{"type":51,"value":180},{"type":45,"tag":79,"props":972,"children":973},{"class":81,"line":152},[974],{"type":45,"tag":79,"props":975,"children":976},{"emptyLinePlaceholder":236},[977],{"type":51,"value":239},{"type":45,"tag":79,"props":979,"children":980},{"class":81,"line":183},[981],{"type":45,"tag":79,"props":982,"children":984},{"style":983},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[985],{"type":51,"value":986},"# Create multiple sessions\n",{"type":45,"tag":79,"props":988,"children":989},{"class":81,"line":214},[990,996,1001,1006,1011,1016,1021,1026,1031,1036],{"type":45,"tag":79,"props":991,"children":993},{"style":992},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[994],{"type":51,"value":995},"for",{"type":45,"tag":79,"props":997,"children":998},{"style":86},[999],{"type":51,"value":1000}," i ",{"type":45,"tag":79,"props":1002,"children":1003},{"style":992},[1004],{"type":51,"value":1005},"in",{"type":45,"tag":79,"props":1007,"children":1008},{"style":162},[1009],{"type":51,"value":1010}," 1",{"type":45,"tag":79,"props":1012,"children":1013},{"style":162},[1014],{"type":51,"value":1015}," 2",{"type":45,"tag":79,"props":1017,"children":1018},{"style":162},[1019],{"type":51,"value":1020}," 3",{"type":45,"tag":79,"props":1022,"children":1023},{"style":162},[1024],{"type":51,"value":1025}," 4",{"type":45,"tag":79,"props":1027,"children":1028},{"style":162},[1029],{"type":51,"value":1030}," 5",{"type":45,"tag":79,"props":1032,"children":1033},{"style":92},[1034],{"type":51,"value":1035},";",{"type":45,"tag":79,"props":1037,"children":1038},{"style":992},[1039],{"type":51,"value":1040}," do\n",{"type":45,"tag":79,"props":1042,"children":1043},{"class":81,"line":232},[1044,1049,1053,1057,1061,1065,1070,1074,1078,1082,1087,1092],{"type":45,"tag":79,"props":1045,"children":1046},{"style":156},[1047],{"type":51,"value":1048},"  tmux",{"type":45,"tag":79,"props":1050,"children":1051},{"style":162},[1052],{"type":51,"value":252},{"type":45,"tag":79,"props":1054,"children":1055},{"style":92},[1056],{"type":51,"value":170},{"type":45,"tag":79,"props":1058,"children":1059},{"style":86},[1060],{"type":51,"value":261},{"type":45,"tag":79,"props":1062,"children":1063},{"style":92},[1064],{"type":51,"value":198},{"type":45,"tag":79,"props":1066,"children":1067},{"style":162},[1068],{"type":51,"value":1069}," new-session",{"type":45,"tag":79,"props":1071,"children":1072},{"style":162},[1073],{"type":51,"value":275},{"type":45,"tag":79,"props":1075,"children":1076},{"style":162},[1077],{"type":51,"value":280},{"type":45,"tag":79,"props":1079,"children":1080},{"style":92},[1081],{"type":51,"value":170},{"type":45,"tag":79,"props":1083,"children":1084},{"style":162},[1085],{"type":51,"value":1086},"agent-",{"type":45,"tag":79,"props":1088,"children":1089},{"style":86},[1090],{"type":51,"value":1091},"$i",{"type":45,"tag":79,"props":1093,"children":1094},{"style":92},[1095],{"type":51,"value":180},{"type":45,"tag":79,"props":1097,"children":1098},{"class":81,"line":242},[1099],{"type":45,"tag":79,"props":1100,"children":1101},{"style":992},[1102],{"type":51,"value":1103},"done\n",{"type":45,"tag":79,"props":1105,"children":1106},{"class":81,"line":306},[1107],{"type":45,"tag":79,"props":1108,"children":1109},{"emptyLinePlaceholder":236},[1110],{"type":51,"value":239},{"type":45,"tag":79,"props":1112,"children":1113},{"class":81,"line":382},[1114],{"type":45,"tag":79,"props":1115,"children":1116},{"style":983},[1117],{"type":51,"value":1118},"# Launch agents in different workdirs\n",{"type":45,"tag":79,"props":1120,"children":1121},{"class":81,"line":26},[1122,1126,1130,1134,1138,1142,1146,1150,1155,1159,1164,1168],{"type":45,"tag":79,"props":1123,"children":1124},{"style":156},[1125],{"type":51,"value":4},{"type":45,"tag":79,"props":1127,"children":1128},{"style":162},[1129],{"type":51,"value":252},{"type":45,"tag":79,"props":1131,"children":1132},{"style":92},[1133],{"type":51,"value":170},{"type":45,"tag":79,"props":1135,"children":1136},{"style":86},[1137],{"type":51,"value":261},{"type":45,"tag":79,"props":1139,"children":1140},{"style":92},[1141],{"type":51,"value":198},{"type":45,"tag":79,"props":1143,"children":1144},{"style":162},[1145],{"type":51,"value":332},{"type":45,"tag":79,"props":1147,"children":1148},{"style":162},[1149],{"type":51,"value":337},{"type":45,"tag":79,"props":1151,"children":1152},{"style":162},[1153],{"type":51,"value":1154}," agent-1",{"type":45,"tag":79,"props":1156,"children":1157},{"style":92},[1158],{"type":51,"value":170},{"type":45,"tag":79,"props":1160,"children":1161},{"style":162},[1162],{"type":51,"value":1163},"cd \u002Ftmp\u002Fproject1 && codex --yolo 'Fix bug X'",{"type":45,"tag":79,"props":1165,"children":1166},{"style":92},[1167],{"type":51,"value":198},{"type":45,"tag":79,"props":1169,"children":1170},{"style":162},[1171],{"type":51,"value":379},{"type":45,"tag":79,"props":1173,"children":1175},{"class":81,"line":1174},10,[1176,1180,1184,1188,1192,1196,1200,1204,1209,1213,1218,1222],{"type":45,"tag":79,"props":1177,"children":1178},{"style":156},[1179],{"type":51,"value":4},{"type":45,"tag":79,"props":1181,"children":1182},{"style":162},[1183],{"type":51,"value":252},{"type":45,"tag":79,"props":1185,"children":1186},{"style":92},[1187],{"type":51,"value":170},{"type":45,"tag":79,"props":1189,"children":1190},{"style":86},[1191],{"type":51,"value":261},{"type":45,"tag":79,"props":1193,"children":1194},{"style":92},[1195],{"type":51,"value":198},{"type":45,"tag":79,"props":1197,"children":1198},{"style":162},[1199],{"type":51,"value":332},{"type":45,"tag":79,"props":1201,"children":1202},{"style":162},[1203],{"type":51,"value":337},{"type":45,"tag":79,"props":1205,"children":1206},{"style":162},[1207],{"type":51,"value":1208}," agent-2",{"type":45,"tag":79,"props":1210,"children":1211},{"style":92},[1212],{"type":51,"value":170},{"type":45,"tag":79,"props":1214,"children":1215},{"style":162},[1216],{"type":51,"value":1217},"cd \u002Ftmp\u002Fproject2 && codex --yolo 'Fix bug Y'",{"type":45,"tag":79,"props":1219,"children":1220},{"style":92},[1221],{"type":51,"value":198},{"type":45,"tag":79,"props":1223,"children":1224},{"style":162},[1225],{"type":51,"value":379},{"type":45,"tag":79,"props":1227,"children":1229},{"class":81,"line":1228},11,[1230],{"type":45,"tag":79,"props":1231,"children":1232},{"emptyLinePlaceholder":236},[1233],{"type":51,"value":239},{"type":45,"tag":79,"props":1235,"children":1237},{"class":81,"line":1236},12,[1238],{"type":45,"tag":79,"props":1239,"children":1240},{"style":983},[1241],{"type":51,"value":1242},"# When sending prompts to Claude Code\u002FCodex TUI, split text + Enter with a delay\n",{"type":45,"tag":79,"props":1244,"children":1246},{"class":81,"line":1245},13,[1247,1251,1255,1259,1263,1267,1271,1275,1279,1283,1287,1291,1296,1300,1304,1308,1312,1316,1320,1324,1328,1332,1336,1340,1344,1348],{"type":45,"tag":79,"props":1248,"children":1249},{"style":156},[1250],{"type":51,"value":4},{"type":45,"tag":79,"props":1252,"children":1253},{"style":162},[1254],{"type":51,"value":252},{"type":45,"tag":79,"props":1256,"children":1257},{"style":92},[1258],{"type":51,"value":170},{"type":45,"tag":79,"props":1260,"children":1261},{"style":86},[1262],{"type":51,"value":261},{"type":45,"tag":79,"props":1264,"children":1265},{"style":92},[1266],{"type":51,"value":198},{"type":45,"tag":79,"props":1268,"children":1269},{"style":162},[1270],{"type":51,"value":332},{"type":45,"tag":79,"props":1272,"children":1273},{"style":162},[1274],{"type":51,"value":337},{"type":45,"tag":79,"props":1276,"children":1277},{"style":162},[1278],{"type":51,"value":1154},{"type":45,"tag":79,"props":1280,"children":1281},{"style":162},[1282],{"type":51,"value":730},{"type":45,"tag":79,"props":1284,"children":1285},{"style":162},[1286],{"type":51,"value":359},{"type":45,"tag":79,"props":1288,"children":1289},{"style":92},[1290],{"type":51,"value":170},{"type":45,"tag":79,"props":1292,"children":1293},{"style":162},[1294],{"type":51,"value":1295},"Please make a small edit to README.md.",{"type":45,"tag":79,"props":1297,"children":1298},{"style":92},[1299],{"type":51,"value":198},{"type":45,"tag":79,"props":1301,"children":1302},{"style":92},[1303],{"type":51,"value":752},{"type":45,"tag":79,"props":1305,"children":1306},{"style":156},[1307],{"type":51,"value":757},{"type":45,"tag":79,"props":1309,"children":1310},{"style":760},[1311],{"type":51,"value":763},{"type":45,"tag":79,"props":1313,"children":1314},{"style":92},[1315],{"type":51,"value":752},{"type":45,"tag":79,"props":1317,"children":1318},{"style":156},[1319],{"type":51,"value":772},{"type":45,"tag":79,"props":1321,"children":1322},{"style":162},[1323],{"type":51,"value":252},{"type":45,"tag":79,"props":1325,"children":1326},{"style":92},[1327],{"type":51,"value":170},{"type":45,"tag":79,"props":1329,"children":1330},{"style":86},[1331],{"type":51,"value":261},{"type":45,"tag":79,"props":1333,"children":1334},{"style":92},[1335],{"type":51,"value":198},{"type":45,"tag":79,"props":1337,"children":1338},{"style":162},[1339],{"type":51,"value":332},{"type":45,"tag":79,"props":1341,"children":1342},{"style":162},[1343],{"type":51,"value":337},{"type":45,"tag":79,"props":1345,"children":1346},{"style":162},[1347],{"type":51,"value":1154},{"type":45,"tag":79,"props":1349,"children":1350},{"style":162},[1351],{"type":51,"value":379},{"type":45,"tag":79,"props":1353,"children":1355},{"class":81,"line":1354},14,[1356],{"type":45,"tag":79,"props":1357,"children":1358},{"emptyLinePlaceholder":236},[1359],{"type":51,"value":239},{"type":45,"tag":79,"props":1361,"children":1363},{"class":81,"line":1362},15,[1364],{"type":45,"tag":79,"props":1365,"children":1366},{"style":983},[1367],{"type":51,"value":1368},"# Poll for completion (check if prompt returned)\n",{"type":45,"tag":79,"props":1370,"children":1372},{"class":81,"line":1371},16,[1373,1377,1382,1386,1390,1394,1398],{"type":45,"tag":79,"props":1374,"children":1375},{"style":992},[1376],{"type":51,"value":995},{"type":45,"tag":79,"props":1378,"children":1379},{"style":86},[1380],{"type":51,"value":1381}," sess ",{"type":45,"tag":79,"props":1383,"children":1384},{"style":992},[1385],{"type":51,"value":1005},{"type":45,"tag":79,"props":1387,"children":1388},{"style":162},[1389],{"type":51,"value":1154},{"type":45,"tag":79,"props":1391,"children":1392},{"style":162},[1393],{"type":51,"value":1208},{"type":45,"tag":79,"props":1395,"children":1396},{"style":92},[1397],{"type":51,"value":1035},{"type":45,"tag":79,"props":1399,"children":1400},{"style":992},[1401],{"type":51,"value":1040},{"type":45,"tag":79,"props":1403,"children":1405},{"class":81,"line":1404},17,[1406,1411,1415,1419,1423,1427,1431,1435,1439,1443,1447,1452,1456,1460,1465,1470,1475,1480,1484,1489,1493,1497],{"type":45,"tag":79,"props":1407,"children":1408},{"style":992},[1409],{"type":51,"value":1410},"  if",{"type":45,"tag":79,"props":1412,"children":1413},{"style":156},[1414],{"type":51,"value":772},{"type":45,"tag":79,"props":1416,"children":1417},{"style":162},[1418],{"type":51,"value":252},{"type":45,"tag":79,"props":1420,"children":1421},{"style":92},[1422],{"type":51,"value":170},{"type":45,"tag":79,"props":1424,"children":1425},{"style":86},[1426],{"type":51,"value":261},{"type":45,"tag":79,"props":1428,"children":1429},{"style":92},[1430],{"type":51,"value":198},{"type":45,"tag":79,"props":1432,"children":1433},{"style":162},[1434],{"type":51,"value":408},{"type":45,"tag":79,"props":1436,"children":1437},{"style":162},[1438],{"type":51,"value":165},{"type":45,"tag":79,"props":1440,"children":1441},{"style":162},[1442],{"type":51,"value":337},{"type":45,"tag":79,"props":1444,"children":1445},{"style":92},[1446],{"type":51,"value":170},{"type":45,"tag":79,"props":1448,"children":1449},{"style":86},[1450],{"type":51,"value":1451},"$sess",{"type":45,"tag":79,"props":1453,"children":1454},{"style":92},[1455],{"type":51,"value":198},{"type":45,"tag":79,"props":1457,"children":1458},{"style":162},[1459],{"type":51,"value":252},{"type":45,"tag":79,"props":1461,"children":1462},{"style":162},[1463],{"type":51,"value":1464}," -3",{"type":45,"tag":79,"props":1466,"children":1467},{"style":92},[1468],{"type":51,"value":1469}," |",{"type":45,"tag":79,"props":1471,"children":1472},{"style":156},[1473],{"type":51,"value":1474}," grep",{"type":45,"tag":79,"props":1476,"children":1477},{"style":162},[1478],{"type":51,"value":1479}," -q",{"type":45,"tag":79,"props":1481,"children":1482},{"style":92},[1483],{"type":51,"value":170},{"type":45,"tag":79,"props":1485,"children":1486},{"style":162},[1487],{"type":51,"value":1488},"❯",{"type":45,"tag":79,"props":1490,"children":1491},{"style":92},[1492],{"type":51,"value":198},{"type":45,"tag":79,"props":1494,"children":1495},{"style":92},[1496],{"type":51,"value":1035},{"type":45,"tag":79,"props":1498,"children":1499},{"style":992},[1500],{"type":51,"value":1501}," then\n",{"type":45,"tag":79,"props":1503,"children":1505},{"class":81,"line":1504},18,[1506,1512,1516,1520,1525],{"type":45,"tag":79,"props":1507,"children":1509},{"style":1508},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1510],{"type":51,"value":1511},"    echo",{"type":45,"tag":79,"props":1513,"children":1514},{"style":92},[1515],{"type":51,"value":170},{"type":45,"tag":79,"props":1517,"children":1518},{"style":86},[1519],{"type":51,"value":1451},{"type":45,"tag":79,"props":1521,"children":1522},{"style":162},[1523],{"type":51,"value":1524},": DONE",{"type":45,"tag":79,"props":1526,"children":1527},{"style":92},[1528],{"type":51,"value":180},{"type":45,"tag":79,"props":1530,"children":1532},{"class":81,"line":1531},19,[1533],{"type":45,"tag":79,"props":1534,"children":1535},{"style":992},[1536],{"type":51,"value":1537},"  else\n",{"type":45,"tag":79,"props":1539,"children":1541},{"class":81,"line":1540},20,[1542,1546,1550,1554,1559],{"type":45,"tag":79,"props":1543,"children":1544},{"style":1508},[1545],{"type":51,"value":1511},{"type":45,"tag":79,"props":1547,"children":1548},{"style":92},[1549],{"type":51,"value":170},{"type":45,"tag":79,"props":1551,"children":1552},{"style":86},[1553],{"type":51,"value":1451},{"type":45,"tag":79,"props":1555,"children":1556},{"style":162},[1557],{"type":51,"value":1558},": Running...",{"type":45,"tag":79,"props":1560,"children":1561},{"style":92},[1562],{"type":51,"value":180},{"type":45,"tag":79,"props":1564,"children":1566},{"class":81,"line":1565},21,[1567],{"type":45,"tag":79,"props":1568,"children":1569},{"style":992},[1570],{"type":51,"value":1571},"  fi\n",{"type":45,"tag":79,"props":1573,"children":1575},{"class":81,"line":1574},22,[1576],{"type":45,"tag":79,"props":1577,"children":1578},{"style":992},[1579],{"type":51,"value":1103},{"type":45,"tag":79,"props":1581,"children":1582},{"class":81,"line":22},[1583],{"type":45,"tag":79,"props":1584,"children":1585},{"emptyLinePlaceholder":236},[1586],{"type":51,"value":239},{"type":45,"tag":79,"props":1588,"children":1590},{"class":81,"line":1589},24,[1591],{"type":45,"tag":79,"props":1592,"children":1593},{"style":983},[1594],{"type":51,"value":1595},"# Get full output from completed session\n",{"type":45,"tag":79,"props":1597,"children":1599},{"class":81,"line":1598},25,[1600,1604,1608,1612,1616,1620,1624,1628,1632,1636,1640],{"type":45,"tag":79,"props":1601,"children":1602},{"style":156},[1603],{"type":51,"value":4},{"type":45,"tag":79,"props":1605,"children":1606},{"style":162},[1607],{"type":51,"value":252},{"type":45,"tag":79,"props":1609,"children":1610},{"style":92},[1611],{"type":51,"value":170},{"type":45,"tag":79,"props":1613,"children":1614},{"style":86},[1615],{"type":51,"value":261},{"type":45,"tag":79,"props":1617,"children":1618},{"style":92},[1619],{"type":51,"value":198},{"type":45,"tag":79,"props":1621,"children":1622},{"style":162},[1623],{"type":51,"value":408},{"type":45,"tag":79,"props":1625,"children":1626},{"style":162},[1627],{"type":51,"value":165},{"type":45,"tag":79,"props":1629,"children":1630},{"style":162},[1631],{"type":51,"value":337},{"type":45,"tag":79,"props":1633,"children":1634},{"style":162},[1635],{"type":51,"value":1154},{"type":45,"tag":79,"props":1637,"children":1638},{"style":162},[1639],{"type":51,"value":252},{"type":45,"tag":79,"props":1641,"children":1642},{"style":162},[1643],{"type":51,"value":1644}," -500\n",{"type":45,"tag":54,"props":1646,"children":1647},{},[1648],{"type":45,"tag":638,"props":1649,"children":1650},{},[1651],{"type":51,"value":1652},"Tips:",{"type":45,"tag":469,"props":1654,"children":1655},{},[1656,1661,1672,1692],{"type":45,"tag":473,"props":1657,"children":1658},{},[1659],{"type":51,"value":1660},"Use separate git worktrees for parallel fixes (no branch conflicts)",{"type":45,"tag":473,"props":1662,"children":1663},{},[1664,1670],{"type":45,"tag":75,"props":1665,"children":1667},{"className":1666},[],[1668],{"type":51,"value":1669},"pnpm install",{"type":51,"value":1671}," first before running codex in fresh clones",{"type":45,"tag":473,"props":1673,"children":1674},{},[1675,1677,1682,1684,1690],{"type":51,"value":1676},"Check for shell prompt (",{"type":45,"tag":75,"props":1678,"children":1680},{"className":1679},[],[1681],{"type":51,"value":1488},{"type":51,"value":1683}," or ",{"type":45,"tag":75,"props":1685,"children":1687},{"className":1686},[],[1688],{"type":51,"value":1689},"$",{"type":51,"value":1691},") to detect completion",{"type":45,"tag":473,"props":1693,"children":1694},{},[1695,1697,1703,1704,1710],{"type":51,"value":1696},"Codex needs ",{"type":45,"tag":75,"props":1698,"children":1700},{"className":1699},[],[1701],{"type":51,"value":1702},"--yolo",{"type":51,"value":1683},{"type":45,"tag":75,"props":1705,"children":1707},{"className":1706},[],[1708],{"type":51,"value":1709},"--full-auto",{"type":51,"value":1711}," for non-interactive fixes",{"type":45,"tag":60,"props":1713,"children":1715},{"id":1714},"cleanup",[1716],{"type":51,"value":1717},"Cleanup",{"type":45,"tag":469,"props":1719,"children":1720},{},[1721,1733,1745],{"type":45,"tag":473,"props":1722,"children":1723},{},[1724,1726,1732],{"type":51,"value":1725},"Kill a session: ",{"type":45,"tag":75,"props":1727,"children":1729},{"className":1728},[],[1730],{"type":51,"value":1731},"tmux -S \"$SOCKET\" kill-session -t \"$SESSION\"",{"type":51,"value":504},{"type":45,"tag":473,"props":1734,"children":1735},{},[1736,1738,1744],{"type":51,"value":1737},"Kill all sessions on a socket: ",{"type":45,"tag":75,"props":1739,"children":1741},{"className":1740},[],[1742],{"type":51,"value":1743},"tmux -S \"$SOCKET\" list-sessions -F '#{session_name}' | xargs -r -n1 tmux -S \"$SOCKET\" kill-session -t",{"type":51,"value":504},{"type":45,"tag":473,"props":1746,"children":1747},{},[1748,1750,1756],{"type":51,"value":1749},"Remove everything on the private socket: ",{"type":45,"tag":75,"props":1751,"children":1753},{"className":1752},[],[1754],{"type":51,"value":1755},"tmux -S \"$SOCKET\" kill-server",{"type":51,"value":504},{"type":45,"tag":60,"props":1758,"children":1760},{"id":1759},"helper-wait-for-textsh",[1761],{"type":51,"value":1762},"Helper: wait-for-text.sh",{"type":45,"tag":54,"props":1764,"children":1765},{},[1766,1772],{"type":45,"tag":75,"props":1767,"children":1769},{"className":1768},[],[1770],{"type":51,"value":1771},"{baseDir}\u002Fscripts\u002Fwait-for-text.sh",{"type":51,"value":1773}," polls a pane for a regex (or fixed string) with a timeout.",{"type":45,"tag":67,"props":1775,"children":1777},{"className":69,"code":1776,"language":71,"meta":72,"style":72},"{baseDir}\u002Fscripts\u002Fwait-for-text.sh -t session:0.0 -p 'pattern' [-F] [-T 20] [-i 0.5] [-l 2000]\n",[1778],{"type":45,"tag":75,"props":1779,"children":1780},{"__ignoreMap":72},[1781],{"type":45,"tag":79,"props":1782,"children":1783},{"class":81,"line":82},[1784],{"type":45,"tag":79,"props":1785,"children":1786},{"style":86},[1787],{"type":51,"value":1776},{"type":45,"tag":469,"props":1789,"children":1790},{},[1791,1809,1835,1846,1857],{"type":45,"tag":473,"props":1792,"children":1793},{},[1794,1800,1801,1807],{"type":45,"tag":75,"props":1795,"children":1797},{"className":1796},[],[1798],{"type":51,"value":1799},"-t",{"type":51,"value":897},{"type":45,"tag":75,"props":1802,"children":1804},{"className":1803},[],[1805],{"type":51,"value":1806},"--target",{"type":51,"value":1808}," pane target (required)",{"type":45,"tag":473,"props":1810,"children":1811},{},[1812,1818,1819,1825,1827,1833],{"type":45,"tag":75,"props":1813,"children":1815},{"className":1814},[],[1816],{"type":51,"value":1817},"-p",{"type":51,"value":897},{"type":45,"tag":75,"props":1820,"children":1822},{"className":1821},[],[1823],{"type":51,"value":1824},"--pattern",{"type":51,"value":1826}," regex to match (required); add ",{"type":45,"tag":75,"props":1828,"children":1830},{"className":1829},[],[1831],{"type":51,"value":1832},"-F",{"type":51,"value":1834}," for fixed string",{"type":45,"tag":473,"props":1836,"children":1837},{},[1838,1844],{"type":45,"tag":75,"props":1839,"children":1841},{"className":1840},[],[1842],{"type":51,"value":1843},"-T",{"type":51,"value":1845}," timeout seconds (integer, default 15)",{"type":45,"tag":473,"props":1847,"children":1848},{},[1849,1855],{"type":45,"tag":75,"props":1850,"children":1852},{"className":1851},[],[1853],{"type":51,"value":1854},"-i",{"type":51,"value":1856}," poll interval seconds (default 0.5)",{"type":45,"tag":473,"props":1858,"children":1859},{},[1860,1866],{"type":45,"tag":75,"props":1861,"children":1863},{"className":1862},[],[1864],{"type":51,"value":1865},"-l",{"type":51,"value":1867}," history lines to search (integer, default 1000)",{"type":45,"tag":1869,"props":1870,"children":1871},"style",{},[1872],{"type":51,"value":1873},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1875,"total":2030},[1876,1892,1904,1918,1930,1942,1954,1965,1981,1995,2007,2019],{"slug":1877,"name":1877,"fn":1878,"description":1879,"org":1880,"tags":1881,"stars":1889,"repoUrl":1890,"updatedAt":1891},"deepclaw-voice","configure phone calls with Deepgram Voice","Set up phone calling to OpenClaw using Deepgram Voice Agent API",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1882,1885,1886],{"name":1883,"slug":1884,"type":15},"API Development","api-development",{"name":9,"slug":8,"type":15},{"name":1887,"slug":1888,"type":15},"Voice","voice",78,"https:\u002F\u002Fgithub.com\u002Fdeepgram\u002Fdeepclaw","2026-07-12T08:29:25.371332",{"slug":1893,"name":1893,"fn":1894,"description":1895,"org":1896,"tags":1897,"stars":22,"repoUrl":23,"updatedAt":1903},"1password","manage secrets with 1Password CLI","Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading\u002Finjecting\u002Frunning secrets via op.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1898,1899,1900],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1901,"slug":1902,"type":15},"Security","security","2026-07-12T08:28:49.991939",{"slug":1905,"name":1905,"fn":1906,"description":1907,"org":1908,"tags":1909,"stars":22,"repoUrl":23,"updatedAt":1917},"apple-notes","manage Apple Notes on macOS","Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1910,1911,1914],{"name":20,"slug":21,"type":15},{"name":1912,"slug":1913,"type":15},"Knowledge Management","knowledge-management",{"name":1915,"slug":1916,"type":15},"macOS","macos","2026-07-12T08:29:01.538106",{"slug":1919,"name":1919,"fn":1920,"description":1921,"org":1922,"tags":1923,"stars":22,"repoUrl":23,"updatedAt":1929},"apple-reminders","manage Apple Reminders via CLI","Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete). Supports lists, date filters, and JSON\u002Fplain output.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1924,1925,1926],{"name":20,"slug":21,"type":15},{"name":1915,"slug":1916,"type":15},{"name":1927,"slug":1928,"type":15},"Task Management","task-management","2026-07-12T08:29:14.035414",{"slug":1931,"name":1931,"fn":1932,"description":1933,"org":1934,"tags":1935,"stars":22,"repoUrl":23,"updatedAt":1941},"bear-notes","manage Bear notes via CLI","Create, search, and manage Bear notes via grizzly CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1936,1937,1938],{"name":20,"slug":21,"type":15},{"name":1912,"slug":1913,"type":15},{"name":1939,"slug":1940,"type":15},"Notes","notes","2026-07-12T08:28:51.246011",{"slug":1943,"name":1943,"fn":1944,"description":1945,"org":1946,"tags":1947,"stars":22,"repoUrl":23,"updatedAt":1953},"blogwatcher","monitor blogs and RSS feeds","Monitor blogs and RSS\u002FAtom feeds for updates using the blogwatcher CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1948,1949,1950],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1951,"slug":1952,"type":15},"Monitoring","monitoring","2026-07-12T08:29:02.762321",{"slug":1955,"name":1955,"fn":1956,"description":1957,"org":1958,"tags":1959,"stars":22,"repoUrl":23,"updatedAt":1964},"blucli","control BluOS audio playback","BluOS CLI (blu) for discovery, playback, grouping, and volume.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1960,1963],{"name":1961,"slug":1962,"type":15},"Audio","audio",{"name":20,"slug":21,"type":15},"2026-07-12T08:28:21.009637",{"slug":1966,"name":1966,"fn":1967,"description":1968,"org":1969,"tags":1970,"stars":22,"repoUrl":23,"updatedAt":1980},"bluebubbles","send and manage iMessages","Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel=\"bluebubbles\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1971,1974,1977],{"name":1972,"slug":1973,"type":15},"Communications","communications",{"name":1975,"slug":1976,"type":15},"iMessage","imessage",{"name":1978,"slug":1979,"type":15},"Messaging","messaging","2026-07-12T08:28:57.517914",{"slug":1982,"name":1982,"fn":1983,"description":1984,"org":1985,"tags":1986,"stars":22,"repoUrl":23,"updatedAt":1994},"camsnap","capture frames and clips from cameras","Capture frames or clips from RTSP\u002FONVIF cameras.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1987,1988,1991],{"name":13,"slug":14,"type":15},{"name":1989,"slug":1990,"type":15},"Camera","camera",{"name":1992,"slug":1993,"type":15},"Media","media","2026-07-12T08:28:28.096134",{"slug":1996,"name":1996,"fn":1997,"description":1998,"org":1999,"tags":2000,"stars":22,"repoUrl":23,"updatedAt":2006},"clawhub","manage agent skills with ClawHub","Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish new\u002Fupdated skill folders with the npm-installed clawhub CLI.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2001,2004,2005],{"name":2002,"slug":2003,"type":15},"Agents","agents",{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},"2026-07-12T08:28:30.589001",{"slug":2008,"name":2008,"fn":2009,"description":2010,"org":2011,"tags":2012,"stars":22,"repoUrl":23,"updatedAt":2018},"coding-agent","run coding agents for programmatic control","Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2013,2014,2015],{"name":2002,"slug":2003,"type":15},{"name":13,"slug":14,"type":15},{"name":2016,"slug":2017,"type":15},"Coding","coding","2026-07-12T08:29:08.6658",{"slug":2020,"name":2020,"fn":2021,"description":2022,"org":2023,"tags":2024,"stars":22,"repoUrl":23,"updatedAt":2029},"eightctl","control Eight Sleep pod settings","Control Eight Sleep pods (status, temperature, alarms, schedules).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2025,2026],{"name":13,"slug":14,"type":15},{"name":2027,"slug":2028,"type":15},"Hardware","hardware","2026-07-12T08:28:39.322181",73,{"items":2032,"total":2074},[2033,2039,2045,2051,2057,2063,2068],{"slug":1893,"name":1893,"fn":1894,"description":1895,"org":2034,"tags":2035,"stars":22,"repoUrl":23,"updatedAt":1903},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2036,2037,2038],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1901,"slug":1902,"type":15},{"slug":1905,"name":1905,"fn":1906,"description":1907,"org":2040,"tags":2041,"stars":22,"repoUrl":23,"updatedAt":1917},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2042,2043,2044],{"name":20,"slug":21,"type":15},{"name":1912,"slug":1913,"type":15},{"name":1915,"slug":1916,"type":15},{"slug":1919,"name":1919,"fn":1920,"description":1921,"org":2046,"tags":2047,"stars":22,"repoUrl":23,"updatedAt":1929},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2048,2049,2050],{"name":20,"slug":21,"type":15},{"name":1915,"slug":1916,"type":15},{"name":1927,"slug":1928,"type":15},{"slug":1931,"name":1931,"fn":1932,"description":1933,"org":2052,"tags":2053,"stars":22,"repoUrl":23,"updatedAt":1941},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2054,2055,2056],{"name":20,"slug":21,"type":15},{"name":1912,"slug":1913,"type":15},{"name":1939,"slug":1940,"type":15},{"slug":1943,"name":1943,"fn":1944,"description":1945,"org":2058,"tags":2059,"stars":22,"repoUrl":23,"updatedAt":1953},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2060,2061,2062],{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":1951,"slug":1952,"type":15},{"slug":1955,"name":1955,"fn":1956,"description":1957,"org":2064,"tags":2065,"stars":22,"repoUrl":23,"updatedAt":1964},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2066,2067],{"name":1961,"slug":1962,"type":15},{"name":20,"slug":21,"type":15},{"slug":1966,"name":1966,"fn":1967,"description":1968,"org":2069,"tags":2070,"stars":22,"repoUrl":23,"updatedAt":1980},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2071,2072,2073],{"name":1972,"slug":1973,"type":15},{"name":1975,"slug":1976,"type":15},{"name":1978,"slug":1979,"type":15},54]