Skip to content

[Feat] Implement Auto-Approve for tool confirmations #125

@xinyi-gong

Description

@xinyi-gong

Summary

Implement Auto-Approve for Agent Mode tool confirmations in Eclipse. When agent mode calls tools (terminal commands, file edits, MCP tools), users should be able to configure rules to skip manual confirmation.

Features

Terminal Auto-approve

  • Per-command rules table: command name + Always/Never toggle
  • Add/remove/reset rules
  • "Auto-approve commands not covered by rules" fallback toggle

Edits Auto-approve

  • Per-pattern rules table: glob pattern + description + type + Always/Never toggle
  • Default rules provided (e.g., .github/instructions/*, IDE settings, Copilot config files)
  • Add/remove/reset rules
  • "Auto-approve file edits not covered by rules" fallback toggle

MCP Tool Auto-approve

  • "Trust MCP Tool Annotations" toggle (auto-approve readOnly MCP tools)
  • MCP Server and Tool allow-list configuration (per-server, per-tool granularity)

Global Auto Approve

  • Master override toggle that auto-approves ALL tool calls
  • Warning label indicating this is dangerous

Chat panel integration

  • "Allow for Session" / "Always Allow" options in the confirmation dialog
  • Session-level memory (auto-approve same tool/command for rest of conversation)
  • "Always Allow" persists to settings and syncs to CLS

Sub-Tasks

  • LSP API extension + confirmation service framework (protocol classes, ConfirmationService skeleton, AgentToolService wiring)
  • Terminal auto-approve (rules table UI, allow/deny handler, unmatched fallback, CLS sync)
  • Edits auto-approve (pattern rules table UI, sensitive file handler, unmatched fallback, CLS sync)
  • MCP tool auto-approve (trust annotations toggle, server/tool allow-list UI, MCP handler, CLS sync)
  • Global auto-approve (YOLO toggle + warning, global check in ConfirmationService)
  • Chat panel dialog enhancement ("Allow for Session" / "Always Allow", session memory)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions