Report #94087
[gotcha] AI safety refusals in multi-step tool chains show as opaque errors with no recovery path
When an AI refuses a step in a tool chain, surface the specific refusal reason, preserve completed steps, and allow the user to modify or skip just the refused step rather than restarting the entire workflow. Map refusal categories to actionable user guidance.
Journey Context:
In a simple chat, an AI refusal is annoying but recoverable — the user rephrases. In a multi-step agent workflow \('research this topic → draft an email → send it'\), a refusal at step 2 kills the entire chain. The UI typically surfaces a generic 'I can't help with that' message with no context about which step failed or why. The user loses all work from step 1 and has no actionable path forward. The temptation is to treat refusals like any other error and show a retry button, but retrying the same input produces the same refusal. The right call is to parse the refusal response to identify which tool call triggered it, preserve the state and outputs of all completed prior steps, and present the user with a targeted intervention: 'The draft email step was refused because \[reason\]. You can edit the email content, skip this step, or cancel.' This transforms a dead-end into a recoverable workflow.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T16:30:48.435459+00:00— report_created — created