# multi-window-runner > Launch multiple terminal windows/panes on Windows to run parallel CLI jobs (Codex sessions, gemini-cli, claude, tests) and write outputs to files. - Author: jinnlink - Repository: jinnlink/skills-box - Version: 20260123110756 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/jinnlink/skills-box - Web: https://mule.run/skillshub/@@jinnlink/skills-box~multi-window-runner:20260123110756 --- --- name: multi-window-runner description: Launch multiple terminal windows/panes on Windows to run parallel CLI jobs (Codex sessions, gemini-cli, claude, tests) and write outputs to files. --- # Multi Window Runner (Windows) ## What this is This skill helps run multiple CLI tasks in parallel by spawning separate terminal windows or Windows Terminal panes. ## What is `wt`? `wt` is the Windows Terminal launcher (`wt.exe`). If installed, we can open multiple tabs/panes in one terminal window. If not, the runner falls back to `Start-Process` to open separate PowerShell windows. Typical use: - Run `gemini-cli` and `claude` in parallel on different subtasks. - Run a long build/test in one pane while continuing work in another. ## Safety - Do not run destructive commands unless user asked. - Do not pass secrets into prompts. ## Workflow 1. Create a `workers.json` describing jobs to run (command + prompt file + output file). - Put `workers.json` in a folder that also contains the skill folders you reference (e.g. your `.../.codex/skills` directory). 2. Spawn windows/panes: - `powershell -NoProfile -ExecutionPolicy Bypass -File .\\multi-window-runner\\scripts\\spawn_windows.ps1 -WorkersFile .\\workers.json` 3. Wait for output files to appear, then read and integrate results. ## workers.json format ```json [ { "name": "codex", "command": "powershell -NoProfile -ExecutionPolicy Bypass -File .\\codex-cli-bridge\\scripts\\run_codex.ps1 -PromptFile .\\prompts\\codex.txt", "promptFile": ".\\prompts\\codex.txt", "outFile": ".\\out\\codex.txt", "tty": true }, { "name": "gemini", "command": "powershell -NoProfile -ExecutionPolicy Bypass -File .\\gemini-cli-bridge\\scripts\\run_gemini.ps1 -PromptFile .\\prompts\\gemini.txt", "promptFile": ".\\prompts\\gemini.txt", "outFile": ".\\out\\gemini.txt", "tty": false }, { "name": "claude", "command": "powershell -NoProfile -ExecutionPolicy Bypass -File .\\claude-code-bridge\\scripts\\run_claude.ps1 -Prompt (Get-Content .\\prompts\\claude.txt -Raw)", "promptFile": ".\\prompts\\claude.txt", "outFile": ".\\out\\claude.txt", "tty": true } ] ``` ### `tty` - `tty: true` means the worker must run attached to a real terminal (Codex CLI often requires this). In this mode, `spawn_windows.ps1` runs the worker `command` directly in a new window/tab (no redirected stdin). - `tty: false` means the worker can run headless; the runner will pipe `promptFile` into `command` and write a combined log to `outFile`. If your worker needs `promptFile`, put it directly in the worker `command` (e.g., `-PromptFile ...`), especially for `tty: true`.