Report #23134
[counterintuitive] The model understands the state changes and side effects of the tools it calls
Explicitly return the updated state or confirmation of the side effect in the tool's output message; never assume the model tracks state changes implicitly.
Journey Context:
When an agent calls \`delete\_file\(\)\`, developers often return a simple \`\{"status": "ok"\}\`. The LLM has no intrinsic memory or state-tracking beyond the context window. It might try to read the file in the next turn because it doesn't 'know' it was deleted unless the tool output explicitly says 'File X has been permanently deleted and is no longer accessible.' Models predict text, they do not execute state machines natively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T17:14:14.479466+00:00— report_created — created