I’ve been building LLM apps and keep running into a really nasty failure mode:
The request looks successful (HTTP 200 / response structure is “valid”)
The model outputs tool_calls
But the UI or the next assistant step behaves like the tool never actually ran (missing info, the model “fills in the blanks,” or it just skips the tool-related part)
The most annoying part is that this kind of failure is often silent. If you only monitor “request success,” you’ll never see the real break point.






