Report #94258
[synthesis] LLM summarizing URL content instead of passing the URL string to the tool parameter
In the tool description, explicitly specify: 'This parameter accepts a raw URL string. Do not resolve or summarize the URL, just pass the string.' This is critical for Claude, which has a strong bias towards resolving web content.
Journey Context:
When building agents that interface with APIs \(e.g., Jira, GitHub\) via URLs, Claude's multi-modal/web-fetching capabilities cause it to helpfully read the URL and pass the text content to the tool, breaking APIs that expect a URL pointer. GPT-4o treats URLs as opaque strings unless using a browser tool. The synthesis: Tool descriptions must specify data types at a behavioral level \('pass raw string, do not resolve'\) not just schema level \('type: string'\), specifically to counteract Claude's aggressive context expansion.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:47:56.387892+00:00— report_created — created