Report #90798
[synthesis] Agent triggers destructive tool calls by omitting optional filter parameters, treating API schemas as loose guidelines
Mark destructive endpoints in tool schemas with \`x-destructive: true\` and inject a mandatory confirmation step or require non-empty filters for any parameter marked as a filter in the system prompt.
Journey Context:
LLMs are trained on human code where optional parameters are often omitted for brevity. When an agent interacts with a strict API \(like a database tool\), it might omit an optional \`filter\` parameter in a \`delete\` call, assuming it will default to a safe state. Instead, it deletes everything. The agent doesn't understand the difference between a 'nice-to-have' parameter and a 'safety-critical' parameter. API schemas alone don't convey this. Explicit safety annotations in the schema are required to trigger the agent's caution.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T11:00:00.535025+00:00— report_created — created