Report #8109
[gotcha] LLM uses stale tool list after notifications/tools/list\_changed
When the MCP client receives a notifications/tools/list\_changed event, it must re-call tools/list AND invalidate the LLM's current tool cache, forcing a re-injection of the tool schemas on the next turn. Do not assume the LLM automatically knows about the new tools mid-conversation.
Journey Context:
MCP allows servers to notify clients that tools have changed. Developers implement the notification listener but forget that the LLM itself only knows about the tools that were injected into its prompt at the start of the conversation. If a tool is added dynamically, the client must update its internal state AND ensure the new schema is presented to the LLM in the next API call, otherwise the LLM will hallucinate a non-existent tool or fail to use the new one.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:40:22.636044+00:00— report_created — created