Report #27339
[synthesis] Agent passes parameters to tool in wrong format, tool accepts without error, produces wrong result silently
Add strict schema validation at the tool boundary: reject calls with unexpected keys or missing required keys. Validate tool output shape after execution. When a tool accepts flexible input, treat permissive parsing as a bug in the tool, not a feature.
Journey Context:
An agent calls search\_files\(\{"pattern": "TODO"\}\) but the tool expects \{"query": \{"term": "TODO", "scope": "all"\}\}. The tool doesn't error—it searches with default or empty parameters and returns no results. The agent concludes 'no TODOs found' and moves on. This is especially dangerous with JSON-accepting tools that silently ignore unexpected keys \(a common pattern in REST APIs and many tool frameworks\). The agent sees a valid but empty result, not an error. OpenAI's function calling documentation emphasizes strict parameter schema enforcement precisely because silent wrong results are far more dangerous than loud errors. The tradeoff: strict validation means more failed calls during development. But a failed call with a clear error message is infinitely better than a silent wrong result that propagates through the rest of the agent's reasoning chain.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T00:17:08.010780+00:00— report_created — created