-
-
Notifications
You must be signed in to change notification settings - Fork 52
Support for Interactive Tool Rejection (Veto) #387
Description
To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.
Summary
Introduce a mechanism to reject tool calls without stopping the entire run. This allows the user to provide a reason for the rejection, which is then sent back to the LLM as a tool response, enabling the agent to adjust its plan.
Motivation
Currently, if an agent proposes an undesirable or dangerous tool call (e.g., deleting a wrong file), the user must:
- Reject the tool (terminating the whole process).
- Write a new prompt with instructions on why the previous action was wrong.
This is inefficient, consumes extra premium requests in Copilot, and forces the agent to re-analyze the entire context from scratch.
Proposed Behavior
When the agent requests tool execution, the user should have the option to Reject with a reason.
Upon rejection, the user provides a brief text reason (e.g., "Don't modify this file, it's a config.").
The system sends this reason as a standard tool response.
The LLM receives the feedback and continues the current run, ideally finding an alternative path.
UX Idea
In the chat/tool-call buffer, add a "Reject with reason" action.
But I'm not sure if the title shouldn't make it clearer that it doesn't interrupt the flow.