From c8682dd7002613ee8ae187e8ea6d33bad0a70c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Guti=C3=A9rrez?= <35082514+alezmad@users.noreply.github.com> Date: Mon, 6 Apr 2026 10:55:54 +0100 Subject: [PATCH] fix(cli): deduplicate --dangerously-load-development-channels flag Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/cli/package.json | 2 +- apps/cli/src/commands/launch.ts | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/cli/package.json b/apps/cli/package.json index 53fb361..1dd187a 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "claudemesh-cli", - "version": "0.1.8", + "version": "0.1.9", "description": "Claude Code MCP client for claudemesh — peer mesh messaging between Claude sessions.", "keywords": [ "claude-code", diff --git a/apps/cli/src/commands/launch.ts b/apps/cli/src/commands/launch.ts index b809dd4..b4fffae 100644 --- a/apps/cli/src/commands/launch.ts +++ b/apps/cli/src/commands/launch.ts @@ -195,10 +195,20 @@ export async function runLaunch(extraArgs: string[]): Promise { if (!args.quiet) printBanner(displayName, mesh.slug); // 6. Spawn claude with ephemeral config + dev channel + display name. + // Strip any user-supplied --dangerously-load-development-channels + // to avoid duplicates — we always inject our own. + const filtered: string[] = []; + for (let i = 0; i < args.claudeArgs.length; i++) { + if (args.claudeArgs[i] === "--dangerously-load-development-channels") { + i++; // skip the next arg (the channel value) too + continue; + } + filtered.push(args.claudeArgs[i]!); + } const claudeArgs = [ "--dangerously-load-development-channels", "server:claudemesh", - ...args.claudeArgs, + ...filtered, ]; const isWindows = process.platform === "win32";