diff --git a/packages/opencode/src/cli/cmd/run.ts b/packages/opencode/src/cli/cmd/run.ts index f3781f1abd86..7b4a3fa2cf20 100644 --- a/packages/opencode/src/cli/cmd/run.ts +++ b/packages/opencode/src/cli/cmd/run.ts @@ -582,10 +582,7 @@ export const RunCommand = cmd({ } await share(sdk, sessionID) - loop().catch((e) => { - console.error(e) - process.exit(1) - }) + const loopDone = loop() if (args.command) { await sdk.session.command({ @@ -606,6 +603,13 @@ export const RunCommand = cmd({ parts: [...files, { type: "text", text: message }], }) } + + await loopDone.catch((e) => { + console.error(e) + process.exit(1) + }) + + if (error) process.exit(1) } if (args.attach) {