fix(cli): wire missing launch flags through entrypoint

six flags declared on `LaunchFlags` were silently dropped at the CLI
layer — `--role`, `--groups`, `--message-mode`, `--system-prompt`,
`--continue`, and `--quiet`. each was honored inside `runLaunch` if it
arrived, but the four call sites in the entrypoint forwarded a hardcoded
5-key subset.

now forwarded at every entry: bare command, bare invite URL, the
launch/connect verb, and the new workspace launch alias. pure plumbing;
no behaviour change for users who weren't passing these flags.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Alejandro Gutiérrez
2026-05-04 10:08:41 +01:00
parent 3753a6e137
commit e128a6ae5f
3 changed files with 47 additions and 1 deletions

View File

@@ -1,5 +1,27 @@
# Changelog # Changelog
## 1.27.1 (2026-05-04) — wire missing launch flags
Fixes a wiring bug in `apps/cli/src/entrypoints/cli.ts` where six flags
declared on `LaunchFlags` were silently dropped on the way to
`runLaunch`. They were honored *inside* `runLaunch` if they ever arrived,
but the four `runLaunch({...})` call sites in the CLI entrypoint each
forwarded a hardcoded 5-key subset (`mesh, name, join, yes, resume`).
Now forwarded at every entry point (bare command, bare invite URL,
`launch`/`connect`, `workspace launch`):
- `--role <r>` — sets session role; previously only settable via wizard.
- `--groups "frontend:lead,reviewers"` — comma-separated groups string.
- `--message-mode push|inbox|off` — message delivery mode.
- `--system-prompt <text>` — passes through to `claude`.
- `--continue` — passes through to `claude` to continue last session.
- `--quiet` — actually suppresses the wizard and banner now. Previously
it was a complete no-op flag at the CLI layer.
No internal logic changed; the launch internals already read these.
This is a pure plumbing fix.
## 1.27.0 (2026-05-04) — state + memory through the daemon, workspace alias ## 1.27.0 (2026-05-04) — state + memory through the daemon, workspace alias
Two more verb families now route through the local daemon's IPC for the Two more verb families now route through the local daemon's IPC for the

View File

@@ -1,6 +1,6 @@
{ {
"name": "claudemesh-cli", "name": "claudemesh-cli",
"version": "1.27.0", "version": "1.27.1",
"description": "Peer mesh for Claude Code sessions — CLI + MCP server.", "description": "Peer mesh for Claude Code sessions — CLI + MCP server.",
"keywords": [ "keywords": [
"claude-code", "claude-code",

View File

@@ -283,6 +283,12 @@ async function main(): Promise<void> {
join: normaliseInviteUrl(command), join: normaliseInviteUrl(command),
yes: !!flags.y || !!flags.yes, yes: !!flags.y || !!flags.yes,
resume: flags.resume as string | undefined, resume: flags.resume as string | undefined,
role: flags.role as string | undefined,
groups: flags.groups as string | undefined,
"message-mode": flags["message-mode"] as string | undefined,
"system-prompt": flags["system-prompt"] as string | undefined,
continue: !!flags.continue,
quiet: !!flags.quiet,
}, process.argv.slice(2)); }, process.argv.slice(2));
return; return;
} }
@@ -298,6 +304,12 @@ async function main(): Promise<void> {
name: flags.name as string | undefined, name: flags.name as string | undefined,
yes: !!flags.y || !!flags.yes, yes: !!flags.y || !!flags.yes,
resume: flags.resume as string | undefined, resume: flags.resume as string | undefined,
role: flags.role as string | undefined,
groups: flags.groups as string | undefined,
"message-mode": flags["message-mode"] as string | undefined,
"system-prompt": flags["system-prompt"] as string | undefined,
continue: !!flags.continue,
quiet: !!flags.quiet,
}, process.argv.slice(2)); }, process.argv.slice(2));
return; return;
} }
@@ -316,6 +328,12 @@ async function main(): Promise<void> {
join: flags.join as string, join: flags.join as string,
yes: !!flags.y || !!flags.yes, yes: !!flags.y || !!flags.yes,
resume: flags.resume as string, resume: flags.resume as string,
role: flags.role as string,
groups: flags.groups as string,
"message-mode": flags["message-mode"] as string,
"system-prompt": flags["system-prompt"] as string,
continue: !!flags.continue,
quiet: !!flags.quiet,
}, process.argv.slice(2)); }, process.argv.slice(2));
break; break;
} }
@@ -336,6 +354,12 @@ async function main(): Promise<void> {
join: flags.join as string, join: flags.join as string,
yes: !!flags.y || !!flags.yes, yes: !!flags.y || !!flags.yes,
resume: flags.resume as string, resume: flags.resume as string,
role: flags.role as string,
groups: flags.groups as string,
"message-mode": flags["message-mode"] as string,
"system-prompt": flags["system-prompt"] as string,
continue: !!flags.continue,
quiet: !!flags.quiet,
}, process.argv.slice(2)); }, process.argv.slice(2));
} }
else if (sub === "list" || sub === "ls") { const { runList } = await import("~/commands/list.js"); await runList(); } else if (sub === "list" || sub === "ls") { const { runList } = await import("~/commands/list.js"); await runList(); }