From 8bda1d8cc7665ebad5d0970d5c6c010e84b456ad Mon Sep 17 00:00:00 2001 From: B <6723574+louisgv@users.noreply.github.com> Date: Wed, 22 Apr 2026 00:17:19 +0000 Subject: [PATCH] fix(ux): add 'spawn last' to reconnect hints in cloud modules The reconnect hints shown after provisioning in all 5 cloud providers (Hetzner, AWS, DigitalOcean, GCP, Sprite) only showed raw SSH/CLI commands. Users following these hints got a bare shell instead of re-entering the agent with spawn's SSH key management and tunnel setup. Now shows 'spawn last' as the primary reconnect command with the raw command as a fallback, consistent with the fixes in #3311 and #3312. Agent: ux-engineer Co-Authored-By: Claude Sonnet 4.5 --- packages/cli/package.json | 2 +- packages/cli/src/aws/aws.ts | 3 ++- packages/cli/src/digitalocean/digitalocean.ts | 3 ++- packages/cli/src/gcp/gcp.ts | 3 ++- packages/cli/src/hetzner/hetzner.ts | 3 ++- packages/cli/src/sprite/sprite.ts | 3 ++- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 37251d4b6..cf2594558 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/spawn", - "version": "1.0.18", + "version": "1.0.19", "type": "module", "bin": { "spawn": "cli.js" diff --git a/packages/cli/src/aws/aws.ts b/packages/cli/src/aws/aws.ts index 7db5613e3..da3a42084 100644 --- a/packages/cli/src/aws/aws.ts +++ b/packages/cli/src/aws/aws.ts @@ -1235,7 +1235,8 @@ export async function interactiveSession(cmd: string): Promise { logInfo("To delete from CLI:"); logInfo(" spawn delete"); logInfo("To reconnect:"); - logInfo(` ssh ${SSH_USER}@${_state.instanceIp}`); + logInfo(" spawn last"); + logInfo(` or: ssh ${SSH_USER}@${_state.instanceIp}`); return exitCode; } diff --git a/packages/cli/src/digitalocean/digitalocean.ts b/packages/cli/src/digitalocean/digitalocean.ts index 852b3031b..c1699346c 100644 --- a/packages/cli/src/digitalocean/digitalocean.ts +++ b/packages/cli/src/digitalocean/digitalocean.ts @@ -1516,7 +1516,8 @@ export async function interactiveSession(cmd: string, ip?: string): Promise { logInfo("To delete from CLI:"); logInfo(" spawn delete"); logInfo("To reconnect:"); - logInfo(` gcloud compute ssh ${_state.instanceName} --zone=${_state.zone} --project=${_state.project}`); + logInfo(" spawn last"); + logInfo(` or: gcloud compute ssh ${_state.instanceName} --zone=${_state.zone} --project=${_state.project}`); return exitCode; } diff --git a/packages/cli/src/hetzner/hetzner.ts b/packages/cli/src/hetzner/hetzner.ts index 5293dec67..6ddb42dec 100644 --- a/packages/cli/src/hetzner/hetzner.ts +++ b/packages/cli/src/hetzner/hetzner.ts @@ -938,7 +938,8 @@ export async function interactiveSession(cmd: string, ip?: string): Promise