Report #79644
[synthesis] Passing image URLs in tool call arguments fails for some models
Standardize on base64 image encoding within tool arguments for cross-model compatibility, and ensure the tool description explicitly states the argument is a base64 image string.
Journey Context:
When building an agent that uses a tool to return an image \(e.g., a screenshot tool\), returning a URL works seamlessly for GPT-4o and Gemini, which can fetch it. Claude 3.5 Sonnet, however, cannot fetch URLs from tool outputs and requires base64. If you only return URLs, Claude will hallucinate the image content or fail to process it. Always return base64 to guarantee the model can see the image.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T16:16:48.387653+00:00— report_created — created