diff --git a/src/services/api/openaiShim.ts b/src/services/api/openaiShim.ts index f7a5f6b7..a4dfb68b 100644 --- a/src/services/api/openaiShim.ts +++ b/src/services/api/openaiShim.ts @@ -345,8 +345,9 @@ async function* openaiStreamToAnthropic( for (const choice of chunk.choices ?? []) { const delta = choice.delta - // Text content - if (delta.content) { + // Text content — use != null to distinguish absent field from empty string, + // some providers send "" as first delta to signal streaming start + if (delta.content != null) { if (!hasEmittedContentStart) { yield { type: 'content_block_start',