Skip to content

Feature Request: Allow interactive ask_user prompts in -p (piped prompt) mode #2929

@agupta-rg

Description

@agupta-rg

Problem

When using copilot -p "prompt", the CLI runs in fully non-interactive mode. If the agent encounters ambiguity and calls the ask_user tool, the prompt is never shown to the user on the terminal. Instead, the agent adapts by using whatever output channel is available (e.g., replying with a question in a PR review comment thread), which breaks the intended workflow.

Real-world example

When using a skill like fix-pr-review-comments via copilot -p "fix PR review comments", the agent sometimes needs clarification on ambiguous review comments. Rather than prompting the user on the terminal, it posts its question as a PR comment reply — which the user never sees in real-time, defeating the purpose of the interactive ask_user tool.

Desired Behavior

A semi-interactive mode where:

  • The agent runs autonomously by default (no unnecessary prompts)
  • When the agent genuinely needs user input (via ask_user), the CLI renders the prompt on the terminal and waits for a response
  • Once the user responds, the agent continues autonomously

This would enable a "fire and mostly forget" workflow that still handles edge cases gracefully.

Proposed Solution

Add a flag like --allow-interactive (or --semi-interactive) that enables ask_user terminal prompts even when a prompt is provided via -p:

copilot -p "fix PR review comments" --allow-interactive

Alternatively, this could be the default behavior for -p when the process has a controlling TTY (i.e., when it is not piped into another process or running in a CI environment). The fully non-interactive behavior could be preserved when there is no TTY.

Current Workarounds

  1. Use interactive mode and paste the prompt manually (loses the convenience of -p)
  2. Pre-empt ambiguity in the prompt with instructions like "skip unclear comments"
  3. Use autopilot mode interactively (copilot --experimental + Shift+Tab)

None of these match the ergonomics of a semi-interactive -p mode.

Additional Context

The -p flag is commonly used in scripted/aliased workflows (e.g., alias fixpr="copilot -p \"fix PR review comments\""). These workflows benefit from non-interactive execution but occasionally need human judgment. The current all-or-nothing approach forces users to choose between convenience and correctness.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:non-interactiveNon-interactive mode (-p), CI/CD, ACP protocol, and headless automation
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions