From 2404c42f39da88fb3cee03b6c0d444a4d39f3707 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 27 Feb 2026 00:22:59 +0000 Subject: [PATCH] preserve image content in tool messages content_to_text() was stripping image_url parts from ToolMessage content before sending to the API. This meant VLM models never saw screenshots returned by browser tools (CUA mode). Use normalize_content() instead, consistent with how all other message types handle multipart content. --- verifiers/clients/openai_chat_completions_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/verifiers/clients/openai_chat_completions_client.py b/verifiers/clients/openai_chat_completions_client.py index 174a72cf3..d47af8b0c 100644 --- a/verifiers/clients/openai_chat_completions_client.py +++ b/verifiers/clients/openai_chat_completions_client.py @@ -209,7 +209,7 @@ def from_chat_message(message: Message) -> OpenAIChatMessage: return ChatCompletionToolMessageParam( role="tool", tool_call_id=message.tool_call_id, - content=content_to_text(message.content), + content=cast(Any, normalize_content(message.content)), ) elif isinstance(message, TextMessage): return ChatCompletionUserMessageParam(