Skip to content

Magistral responses fail validation in RooCode (ZodError on streamed delta content) #6842

@Biotrioo

Description

@Biotrioo

App Version

3.25.10

API Provider

Mistral AI

Model Used

magistral-medium-latest

Roo Code Task Links (Optional)

When using Magistral in RooCode, every prompt fails with a ZodError. The RooCode response parser expects a string for delta.content, but receives an array containing items with unsupported type: "thinking". The schema also rejects multimodal fields (image_url, text, reference, document_url) because they are undefined while type is "thinking".

This works in other tools; only RooCode fails.

It get always error:

[
{
"code": "invalid_union",
"unionErrors": [
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "array",
"path": [
"data",
"choices",
0,
"delta",
"content"
],
"message": "Expected string, received array"
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_union",
"unionErrors": [
{
"issues": [
{
"code": "invalid_union",
"unionErrors": [
{
"issues": [
{
"code": "invalid_type",
"expected": "object",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"image_url"
],
"message": "Required"
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"image_url"
],
"message": "Required"
}
],
"name": "ZodError"
}
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"image_url"
],
"message": "Invalid input"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"image_url"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'image_url', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "image_url",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "image_url""
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"text"
],
"message": "Required"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"text"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'text', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "text",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "text""
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "array",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"reference_ids"
],
"message": "Required"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"reference"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'reference', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "reference",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "reference""
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"document_url"
],
"message": "Required"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"document_url"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'document_url', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "document_url",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "document_url""
}
],
"name": "ZodError"
}
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0
],
"message": "Invalid input"
}
],
"name": "ZodError"
}
],
"path": [
"data",
"choices",
0,
"delta",
"content"
],
"message": "Invalid input"
}
]

🔁 Steps to Reproduce

Steps to Reproduce

Open RooCode and configure Magistral as the model/provider.
Send any prompt (e.g., “Hello”).
Observe the response stream fails with a Zod validation error.

💥 Outcome Summary

RooCode throws a ZodError during delta parsing and the message never renders.

📄 Relevant Logs or Errors (Optional)

[
{
"code": "invalid_union",
"unionErrors": [
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "array",
"path": [
"data",
"choices",
0,
"delta",
"content"
],
"message": "Expected string, received array"
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_union",
"unionErrors": [
{
"issues": [
{
"code": "invalid_union",
"unionErrors": [
{
"issues": [
{
"code": "invalid_type",
"expected": "object",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"image_url"
],
"message": "Required"
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"image_url"
],
"message": "Required"
}
],
"name": "ZodError"
}
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"image_url"
],
"message": "Invalid input"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"image_url"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'image_url', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "image_url",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "image_url""
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"text"
],
"message": "Required"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"text"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'text', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "text",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "text""
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "array",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"reference_ids"
],
"message": "Required"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"reference"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'reference', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "reference",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "reference""
}
],
"name": "ZodError"
},
{
"issues": [
{
"code": "invalid_type",
"expected": "string",
"received": "undefined",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"document_url"
],
"message": "Required"
},
{
"received": "thinking",
"code": "invalid_enum_value",
"options": [
"document_url"
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid enum value. Expected 'document_url', received 'thinking'"
},
{
"received": "thinking",
"code": "invalid_literal",
"expected": "document_url",
"path": [
"data",
"choices",
0,
"delta",
"content",
0,
"type"
],
"message": "Invalid literal value, expected "document_url""
}
],
"name": "ZodError"
}
],
"path": [
"data",
"choices",
0,
"delta",
"content",
0
],
"message": "Invalid input"
}
],
"name": "ZodError"
}
],
"path": [
"data",
"choices",
0,
"delta",
"content"
],
"message": "Invalid input"
}
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Issue - In ProgressSomeone is actively working on this. Should link to a PR soon.bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions