summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/cli/cmd/tui/thread.ts1
-rw-r--r--packages/opencode/src/cli/cmd/tui/worker.ts7
2 files changed, 7 insertions, 1 deletions
diff --git a/packages/opencode/src/cli/cmd/tui/thread.ts b/packages/opencode/src/cli/cmd/tui/thread.ts
index 6d41fe857..9eb296032 100644
--- a/packages/opencode/src/cli/cmd/tui/thread.ts
+++ b/packages/opencode/src/cli/cmd/tui/thread.ts
@@ -184,5 +184,6 @@ export const TuiThreadCommand = cmd({
} finally {
unguard?.()
}
+ process.exit(0)
},
})
diff --git a/packages/opencode/src/cli/cmd/tui/worker.ts b/packages/opencode/src/cli/cmd/tui/worker.ts
index e63f10ba8..bb5495c48 100644
--- a/packages/opencode/src/cli/cmd/tui/worker.ts
+++ b/packages/opencode/src/cli/cmd/tui/worker.ts
@@ -137,7 +137,12 @@ export const rpc = {
async shutdown() {
Log.Default.info("worker shutting down")
if (eventStream.abort) eventStream.abort.abort()
- await Instance.disposeAll()
+ await Promise.race([
+ Instance.disposeAll(),
+ new Promise((resolve) => {
+ setTimeout(resolve, 5000)
+ }),
+ ])
if (server) server.stop(true)
},
}