Skip to content

[UX] Soft-capability refusals plateau at 51/week — agent declines instead of proposing alternatives #1327

Description

@Lexus2016

Problem (observed in real usage)

The agent frequently declines tasks by citing a missing capability ("I can't do X — no tool for Y", "model doesn't support Z") instead of attempting an alternative path. This is a soft-refusal pattern distinct from hard permission denials, and it leaves the user's goal unmet.

Evidence (aggregated, anonymized)

Impact on real tasks

When the agent says "I can't do X because I don't have tool Y," it stops. The user must then manually suggest the alternative the agent should have proposed itself (e.g., "use tool Z instead", "try this web search", "write a script"). This converts a self-service agent into a high-friction one, especially for tasks at the edge of the agent's stated capabilities where a creative alternative exists.

Proposed direction

  1. Recovery-before-refusal protocol: before emitting a refusal, the agent must propose at least one alternative approach (different tool, decomposition, web lookup, script-based workaround). The refusal taxonomy should feed a recovery dispatcher (issue [FEATURE] Add recovery strategy dispatcher for tool failures #1027 proposed this but was closed without the dispatch behavior landing).
  2. Capability-edge nudge in system prompt: add explicit guidance that "I don't have tool X" is not a terminal state — the agent should attempt the closest available substitute and report what it did.
  3. Track refusal-recovery rate: extend the refusal taxonomy to measure how often a refusal was followed by a successful alternative, not just count refusals.

Value

  • Impact: 0.7 (51 soft-refusals/week leave user goals unmet; high friction)
  • Effort: 0.5 (requires prompt engineering + recovery-logic + taxonomy extension)
  • Priority Score: 0.7 × 2 × (1 − 0.4 × 0.5) = 1.12

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestintrospectionFound by session introspectionneeds-splitWanted, but exceeds one cycle — needs decompositionuxInteraction friction

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions