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
## 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
Two more verb families now route through the local daemon's IPC for the

View File

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

View File

@@ -283,6 +283,12 @@ async function main(): Promise<void> {
join: normaliseInviteUrl(command),
yes: !!flags.y || !!flags.yes,
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));
return;
}
@@ -298,6 +304,12 @@ async function main(): Promise<void> {
name: flags.name as string | undefined,
yes: !!flags.y || !!flags.yes,
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));
return;
}
@@ -316,6 +328,12 @@ async function main(): Promise<void> {
join: flags.join as string,
yes: !!flags.y || !!flags.yes,
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));
break;
}
@@ -336,6 +354,12 @@ async function main(): Promise<void> {
join: flags.join as string,
yes: !!flags.y || !!flags.yes,
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));
}
else if (sub === "list" || sub === "ls") { const { runList } = await import("~/commands/list.js"); await runList(); }