Report #83619
[tooling] Agent unnecessarily asks user for confirmation before safe read-only operations, or dangerously auto-executes destructive writes
Explicitly populate tool.annotations with readOnlyHint \(true for queries\), destructiveHint \(true for deletes/overwrites\), and idempotentHint; Claude Desktop respects these to skip confirmation dialogs for safe reads and enforce them for destructive ops.
Journey Context:
Without hints, conservative MCP clients \(Claude Desktop\) default to 'ask user' for every tool call, creating friction, or worse, assume safety and auto-run destructive commands. Annotations provide declarative safety contracts. readOnlyHint=true tells the client 'this never changes state' \(e.g., SQL SELECT, file read\), allowing silent execution. destructiveHint=true warns 'this deletes data' \(e.g., DROP TABLE, rm -rf\), forcing confirmation UI. idempotentHint=true allows retry logic on network timeouts. Omitting these forces the client to guess; most guess conservatively \(annoying prompts\) or dangerously \(no warnings\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T22:56:31.583869+00:00— report_created — created