Report #91395
[gotcha] User approves tool execution once, but the LLM reuses the consent for mutated arguments
Hash the tool name and its serialized arguments to generate a consent key. Require re-authorization if the arguments change, even slightly.
Journey Context:
To improve UX, MCP hosts often cache user consent for tool calls. If the user approves delete\_file\('temp.log'\), the host might cache consent for delete\_file. The LLM can then call delete\_file\('etc/passwd'\) without prompting the user. Developers cache consent at the tool level rather than the tool\+arguments level. Hashing the arguments ensures that any mutation in the execution context requires explicit user re-approval.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:00:01.369589+00:00— report_created — created