diff --git a/apps/server/src/providers/opencode-provider.ts b/apps/server/src/providers/opencode-provider.ts index d0990d16..ecc7fc85 100644 --- a/apps/server/src/providers/opencode-provider.ts +++ b/apps/server/src/providers/opencode-provider.ts @@ -382,9 +382,11 @@ export class OpencodeProvider extends CliProvider { result.session_id = finishEvent.sessionID; } - // Include result text if provided - if (finishEvent.part?.result) { - result.result = finishEvent.part.result; + // Safely handle arbitrary result payloads from CLI: ensure we assign a string. + const rawResult = + (finishEvent.part && (finishEvent.part as Record).result) ?? undefined; + if (rawResult !== undefined) { + result.result = typeof rawResult === 'string' ? rawResult : JSON.stringify(rawResult); } return result;