Skip to content

Sequential approval and execution instead of batch approval queue #879

@Igoraamc

Description

@Igoraamc

Describe the feature or problem you'd like to solve

Batch approval auto-rejects subsequent operations and prevents iterative step-by-step execution.

Proposed solution

Change Copilot CLI's execution model to be sequential instead of batch, where each operation is approved/rejected/refined individually before execution, and subsequent operations are planned based on actual results.

Key improvements:

  • No cascade rejection - each operation is evaluated independently
  • User can approve, reject, or refine individual steps before proceeding
  • Next steps are planned based on validated results, not assumptions
  • Natural iterative workflow that matches how developers think
  • Allows course correction between operations without restarting the entire process

This could be implemented as:

  • The new default behavior
  • An opt-in flag like --sequential or --interactive
  • A configurable setting in ~/.copilot/config.json

Example prompts or workflows

Example 1: Independent operations (current issue)

Prompt: "Create three text files: notes.txt, todos.txt, ideas.txt"

Current behavior:

  1. Create notes.txt [Approve?] ✅
  2. Create todos.txt [Approve?] ❌
  3. Create ideas.txt [AUTO-REJECTED] ← User wanted this one!

Desired behavior:

  1. Create notes.txt [Approve?] ✅ → Executes
  2. Create todos.txt [Approve?] ❌ → Skips
  3. Create ideas.txt [Approve?] ✅ → Executes

Example 2: Iterative refinement

Prompt: "Install the latest versions of React, TypeScript, and ESLint"

Current behavior:

  1. Run: npm install react@latest [Approve?] ❌ (User wants specific version 18.2.0)
  2. Run: npm install typescript@latest [AUTO-REJECTED]
  3. Run: npm install eslint@latest [AUTO-REJECTED]
    → Must restart entire process

Desired behavior:

  1. Run: npm install react@latest [Approve?]
    User: "Use [email protected] instead"
    Run: npm install [email protected] [Approve?] ✅ → Executes
  2. Run: npm install typescript@latest [Approve?] ✅ → Executes
  3. Run: npm install eslint@latest [Approve?] ✅ → Executes
    → Iterative refinement without restarting

Additional context

The batch approval model with cascade rejection makes it difficult to work iteratively with Copilot CLI, especially when tasks involve multiple steps that need refinement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions