From 57ce1b9ca8bd9720e0a1c8397b9c545aa2412788 Mon Sep 17 00:00:00 2001 From: Dax Date: Mon, 22 Jun 2026 08:05:49 -0400 Subject: [PATCH] fix(cli): increment ports from default (#33282) --- packages/cli/src/commands/handlers/serve.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/handlers/serve.ts b/packages/cli/src/commands/handlers/serve.ts index 8a365a89641..d4ecfed9745 100644 --- a/packages/cli/src/commands/handlers/serve.ts +++ b/packages/cli/src/commands/handlers/serve.ts @@ -27,9 +27,11 @@ export default Runtime.handler( function listen(hostname: string, port: Option.Option, password: string) { if (Option.isSome(port)) return bind(hostname, port.value, password) - // Preserve the familiar default when available, but let the OS choose a free - // port when another local server already owns 4096. - return bind(hostname, 4096, password).pipe(Effect.catch(() => bind(hostname, 0, password))) + const next = (port: number): ReturnType => + bind(hostname, port, password).pipe( + Effect.catch((error) => (port === 65_535 ? Effect.fail(error) : next(port + 1))), + ) + return next(4096) } function bind(hostname: string, port: number, password: string) {