diff --git a/packages/cli/src/nonInteractiveCli.ts b/packages/cli/src/nonInteractiveCli.ts index 45c9ce2d..1d641ae1 100644 --- a/packages/cli/src/nonInteractiveCli.ts +++ b/packages/cli/src/nonInteractiveCli.ts @@ -94,9 +94,19 @@ export async function runNonInteractive( console.error( `Error executing tool ${fc.name}: ${toolResponse.resultDisplay || toolResponse.error.message}`, ); - toolResponseParts.push(...(toolResponse.responseParts as Part[])); - } else { - toolResponseParts.push(...(toolResponse.responseParts as Part[])); + } + + if (toolResponse.responseParts) { + const parts = Array.isArray(toolResponse.responseParts) + ? toolResponse.responseParts + : [toolResponse.responseParts]; + for (const part of parts) { + if (typeof part === 'string') { + toolResponseParts.push({ text: part }); + } else if (part) { + toolResponseParts.push(part); + } + } } } currentMessages = [{ role: 'user', parts: toolResponseParts }];