From 6ab88210d56f1f827c0a4a6c375f53eedd957a2c Mon Sep 17 00:00:00 2001 From: Phillip Morgan Date: Sat, 21 Mar 2026 17:40:01 -0400 Subject: [PATCH] Opencode now respects SIGTERMs and shuts down gracefully (K8 prehook compatibility) --- packages/opencode/src/cli/cmd/serve.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/cli/cmd/serve.ts b/packages/opencode/src/cli/cmd/serve.ts index ab51fe8c3e3b..4df6a78b13a3 100644 --- a/packages/opencode/src/cli/cmd/serve.ts +++ b/packages/opencode/src/cli/cmd/serve.ts @@ -17,8 +17,12 @@ export const ServeCommand = cmd({ const opts = await resolveNetworkOptions(args) const server = Server.listen(opts) console.log(`opencode server listening on http://${server.hostname}:${server.port}`) - - await new Promise(() => {}) - await server.stop() + await new Promise((resolve) => { + process.once("SIGTERM", () => resolve()) + process.once("SIGINT", () => resolve()) + }) + // Force-close active connections (e.g. open SSE streams) so the process + // exits promptly instead of waiting for clients to disconnect. + await server.stop(true) }, })