diff --git a/packages/opencode/src/cli/cmd/generate.ts b/packages/opencode/src/cli/cmd/generate.ts index 562dc84e..0cefb253 100644 --- a/packages/opencode/src/cli/cmd/generate.ts +++ b/packages/opencode/src/cli/cmd/generate.ts @@ -5,6 +5,14 @@ export const GenerateCommand = { command: "generate", handler: async () => { const specs = await Server.openapi() - process.stdout.write(JSON.stringify(specs, null, 2)) + const json = JSON.stringify(specs, null, 2) + + // Wait for stdout to finish writing before process.exit() is called + await new Promise((resolve, reject) => { + process.stdout.write(json, (err) => { + if (err) reject(err) + else resolve() + }) + }) }, } satisfies CommandModule