diff --git a/packages/cli/src/sprite/sprite.ts b/packages/cli/src/sprite/sprite.ts index 64702583..cb49a3b8 100644 --- a/packages/cli/src/sprite/sprite.ts +++ b/packages/cli/src/sprite/sprite.ts @@ -642,7 +642,10 @@ export async function destroyServer(name?: string): Promise { ); // Drain stderr before awaiting exit to prevent pipe buffer deadlock const stderrText = new Response(proc.stderr).text(); + // 60s timeout — sprite destroy should not hang indefinitely + const timer = setTimeout(() => killWithTimeout(proc), 60_000); const exitCode = await proc.exited; + clearTimeout(timer); if (exitCode !== 0) { logError(`Failed to destroy sprite '${target}'`); logError(`Delete it manually: sprite destroy ${target}`);