From ce321c0a21c2b152aeab0f1b18d17d6209bb48ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Guti=C3=A9rrez?= <35082514+alezmad@users.noreply.github.com> Date: Sat, 2 May 2026 22:48:16 +0100 Subject: [PATCH] docs(skill): add Windows pane-spawn primitives for `launch` Adds Windows Terminal (wt.exe new-tab + split-pane), PowerShell Start-Process, cmd.exe start, and WSL routing examples to the "Spawning new sessions" section. Plus the platform's gotchas: single-quote nesting in cmd.exe, -NoExit semantics, WSL ~/.claudemesh path-vs-host divergence, and pwsh / --profile selectors for Windows Terminal. Bumps CLI to 1.9.5. --- apps/cli/package.json | 2 +- apps/cli/skills/claudemesh/SKILL.md | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index 9fdeef1..4edeb10 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "claudemesh-cli", - "version": "1.9.4", + "version": "1.9.5", "description": "Peer mesh for Claude Code sessions — CLI + MCP server.", "keywords": [ "claude-code", diff --git a/apps/cli/skills/claudemesh/SKILL.md b/apps/cli/skills/claudemesh/SKILL.md index e54ce77..daebded 100644 --- a/apps/cli/skills/claudemesh/SKILL.md +++ b/apps/cli/skills/claudemesh/SKILL.md @@ -126,8 +126,29 @@ gnome-terminal -- bash -lc 'claudemesh launch --name "Lug Nut" --mesh openclaw - # screen detached: screen -dmS lugnut bash -lc 'claudemesh launch --name "Lug Nut" --mesh openclaw -y' + +# Windows Terminal (wt.exe) — open a new tab: +wt.exe new-tab --title claudemesh-lugnut powershell -NoExit -Command "claudemesh launch --name 'Lug Nut' --mesh openclaw -y" + +# Windows Terminal — split the current pane vertically instead: +wt.exe split-pane -V powershell -NoExit -Command "claudemesh launch --name 'Lug Nut' --mesh openclaw -y" + +# PowerShell — spawn a detached window of the user's default shell: +Start-Process powershell -ArgumentList '-NoExit','-Command','claudemesh launch --name "Lug Nut" --mesh openclaw -y' + +# cmd.exe — start a new console window: +start "claudemesh-lugnut" cmd /k "claudemesh launch --name ""Lug Nut"" --mesh openclaw -y" + +# WSL from a Windows host — same launch verb, just route through wsl.exe: +wsl.exe -- bash -lc 'claudemesh launch --name "Lug Nut" --mesh openclaw -y' ``` +Windows-specific gotchas: +- **Single quotes don't nest in cmd.exe.** Use `""` to escape inner double quotes (see the `cmd /k` example) or move to PowerShell where single quotes work normally. +- **`-NoExit`** is the PowerShell equivalent of bash's `exec` + interactive shell — keeps the window open after `claudemesh launch` returns control to its child `claude` process. Without it, the window closes when the launch script exits. +- **WSL paths.** If you spawn from a Windows-side script into WSL, the `claudemesh` CLI in WSL writes to `~/.claudemesh/` on the Linux side, *not* `%USERPROFILE%\.claudemesh\`. The two installs are independent — match the spawn host to the install host. +- **Windows Terminal profile names.** Replace `powershell` with `pwsh` for PowerShell 7+, or use `--profile ""` to target a configured profile (e.g. one preconfigured with WSL Ubuntu + a starting directory). + The user's environment may also have these pre-built helpers (CLAUDE.md will tell you): - `~/tools/scripts/spawn-iterm-panes.sh` and `spawn-iterm-window.sh` — safer iTerm spawners that only write into sessions they themselves created.