Skip to content

Support for Interactive Tool Rejection (Veto) #387

@zikajk

Description

@zikajk

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:

  1. Reject the tool (terminating the whole process).
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions