From cf7033ced5a4efcbd1d9b9bff95c3c2963c19b69 Mon Sep 17 00:00:00 2001 From: B <6723574+louisgv@users.noreply.github.com> Date: Thu, 16 Apr 2026 16:53:03 +0000 Subject: [PATCH] fix(ux): replace stale 'spawn connect' hints with 'spawn last' Two user-facing reconnect hints missed by #3311 still showed 'spawn connect ', which is not a registered command. Users following the hint get 'Unknown agent or cloud: connect'. Agent: code-health Co-Authored-By: Claude Sonnet 4.5 --- packages/cli/package.json | 2 +- packages/cli/src/__tests__/orchestrate.test.ts | 2 +- packages/cli/src/commands/connect.ts | 7 +------ packages/cli/src/commands/list.ts | 2 +- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 3102385fe..9d9978a71 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/spawn", - "version": "1.0.15", + "version": "1.0.16", "type": "module", "bin": { "spawn": "cli.js" diff --git a/packages/cli/src/__tests__/orchestrate.test.ts b/packages/cli/src/__tests__/orchestrate.test.ts index f192cc54d..4be3a22e0 100644 --- a/packages/cli/src/__tests__/orchestrate.test.ts +++ b/packages/cli/src/__tests__/orchestrate.test.ts @@ -908,7 +908,7 @@ describe("runOrchestration", () => { await runOrchestrationSafe(cloud, agent, "testagent"); - // launchCmd should be called (to save it for later `spawn connect`) + // launchCmd should be called (to save it for later `spawn last`) expect(agent.launchCmd).toHaveBeenCalledTimes(1); expect(cloud.interactiveSession).toHaveBeenCalledTimes(0); expect(capturedExitCode).toBe(0); diff --git a/packages/cli/src/commands/connect.ts b/packages/cli/src/commands/connect.ts index f90b1e1e3..b9ca83115 100644 --- a/packages/cli/src/commands/connect.ts +++ b/packages/cli/src/commands/connect.ts @@ -164,12 +164,7 @@ export async function cmdConnect(connection: VMConnection, agentKey?: string): P p.log.step(`Connecting to Daytona sandbox ${pc.bold(connection.server_name || connection.server_id)}...`); const { buildInteractiveSshArgs } = await import("../daytona/daytona.js"); const args = await buildInteractiveSshArgs(connection.server_id); - return runInteractiveCommand( - args[0], - args.slice(1), - "Daytona SSH connection failed", - `spawn connect ${connection.server_name || connection.server_id}`, - ); + return runInteractiveCommand(args[0], args.slice(1), "Daytona SSH connection failed", "spawn last"); } // Handle SSH connections diff --git a/packages/cli/src/commands/list.ts b/packages/cli/src/commands/list.ts index 9fd84eb44..213f545c4 100644 --- a/packages/cli/src/commands/list.ts +++ b/packages/cli/src/commands/list.ts @@ -625,7 +625,7 @@ export async function handleRecordAction( if (!conn.deleted) { const reconnectHint = conn.cloud === "daytona" - ? `spawn connect ${conn.server_name || conn.server_id || conn.ip}` + ? "spawn last" : conn.ip === "sprite-console" ? `sprite console -s ${conn.server_name}` : `ssh ${conn.user}@${conn.ip}`;