diff --git a/packages/opencode/src/cli/cmd/export.ts b/packages/opencode/src/cli/cmd/export.ts index 9eb1faffea7f..9b92d6969a83 100644 --- a/packages/opencode/src/cli/cmd/export.ts +++ b/packages/opencode/src/cli/cmd/export.ts @@ -287,5 +287,15 @@ const run = Effect.fn("Cli.export.body")(function* (args: { sessionID?: string; process.stdout.write(JSON.stringify(args.sanitize ? sanitize(exportData) : exportData, null, 2)) process.stdout.write(EOL) + + if (!process.stdout.isTTY) { + yield* Effect.promise( + () => + new Promise((resolve) => { + process.stdout.once("drain", resolve) + setTimeout(resolve, 1000) + }), + ) + } }).pipe(Effect.catchCause(() => fail(`Session not found: ${sessionID!}`))) })