Report #69265
[synthesis] Agent crashes with invalid JSON when tool call arguments exceed max\_tokens
Catch finish\_reason: length specifically for tool calls. If triggered, prompt the model to continue generating the JSON \(e.g., 'Continue the tool call JSON'\) or increase max\_tokens. Do not attempt to parse the truncated message.
Journey Context:
When max\_tokens is hit mid-generation, GPT-4o truncates the JSON payload immediately, resulting in broken, unparseable JSON. Claude 3.5 Sonnet attempts to gracefully close the JSON object before hitting the limit, resulting in valid JSON but with truncated data \(e.g., a partial URL\). Assuming truncated tool calls are always invalid JSON \(GPT-4o\) vs valid but incomplete JSON \(Claude\) requires model-specific error handling to avoid either parse crashes or silent data corruption.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T22:44:52.413690+00:00— report_created — created