diff --git a/apps/cli/package.json b/apps/cli/package.json index 775bdca..4e63069 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "claudemesh-cli", - "version": "1.0.0-alpha.39", + "version": "1.0.0-alpha.40", "description": "Peer mesh for Claude Code sessions — CLI + MCP server.", "keywords": [ "claude-code", diff --git a/apps/cli/src/commands/connect.ts b/apps/cli/src/commands/connect.ts index 6a6f7cd..5bdb1f7 100644 --- a/apps/cli/src/commands/connect.ts +++ b/apps/cli/src/commands/connect.ts @@ -69,7 +69,7 @@ export async function withMesh( } const displayName = opts.displayName ?? config.displayName ?? `${hostname()}-${process.pid}`; - const client = new BrokerClient(mesh, { displayName }); + const client = new BrokerClient(mesh, { displayName, quiet: true }); try { await client.connect(); diff --git a/apps/cli/src/services/broker/ws-client.ts b/apps/cli/src/services/broker/ws-client.ts index 22fdc44..88fadf8 100644 --- a/apps/cli/src/services/broker/ws-client.ts +++ b/apps/cli/src/services/broker/ws-client.ts @@ -186,6 +186,8 @@ export class BrokerClient { onStatusChange?: (status: ConnStatus) => void; displayName?: string; debug?: boolean; + /** Suppress informational stderr logs like "session restored". Default false. */ + quiet?: boolean; } = {}, ) {} @@ -297,9 +299,11 @@ export class BrokerClient { const groups = msg.restoredGroups ? (msg.restoredGroups as Array<{ name: string; role?: string }>).map((g) => g.role ? `@${g.name}:${g.role}` : `@${g.name}`).join(", ") : "none"; - process.stderr.write( - `[claudemesh] session restored — last seen ${msg.lastSeenAt ?? "unknown"}, groups: ${groups}\n`, - ); + if (!this.opts.quiet) { + process.stderr.write( + `[claudemesh] session restored — last seen ${msg.lastSeenAt ?? "unknown"}, groups: ${groups}\n`, + ); + } if (msg.restoredStats) { const rs = msg.restoredStats as { messagesIn: number; messagesOut: number; toolCalls: number; errors: number }; this._statsCounters.messagesIn = rs.messagesIn ?? 0;