diff --git a/agent/output/adapters/openai/adapter.go b/agent/output/adapters/openai/adapter.go index 0a8e2613..de6747d3 100644 --- a/agent/output/adapters/openai/adapter.go +++ b/agent/output/adapters/openai/adapter.go @@ -68,6 +68,13 @@ func (a *Adapter) Adapt(msg *message.Message) ([]interface{}, error) { return []interface{}{}, nil // Return empty array, nothing to send } + // Skip "done" messages that are not delta updates + // These are final confirmation messages for CUI clients + // OpenAI clients don't need them - they use finish_reason instead + if msg.Done && !msg.Delta { + return []interface{}{}, nil // Return empty array, nothing to send + } + // Get converter for this message type converter, exists := a.registry.GetConverter(msg.Type) if !exists {