microsoft / microsoft/aspire

CLI does not support all IInteractionService prompt types during pipeline execution

Open
#16,294 1 comment 0 reactions 0 assignees View on GitHub
area-cli area-deployment
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

## Problem

`IInteractionService` exposes several prompt methods, but the CLI only supports a subset during pipeline execution:

| Method | Supported in CLI | What happens |
|--------|-----------------|-------------|
| `PromptInputsAsync` | ✅ Yes | Renders as input form |
| `PromptNotificationAsync` | ✅ Yes | Renders as boolean confirm |
| `PromptConfirmationAsync` | ❌ No | **Hangs forever** |
| `PromptMessageBoxAsync` | ❌ No | **Hangs forever** |

When a pipeline step calls an unsupported method, the interaction is silently dropped by `PipelineActivityReporter.WriteInteractionUpdateToClientAsync` and the call blocks indefinitely waiting for a response that never arrives. No error, no timeout, no log — just a hang.

## Impact

Pipeline step authors who use `PromptConfirmationAsync` (the natural API for yes/no questions) get a silent hang. The workaround is to use `PromptNotificationAsync` instead, which is not discoverable.

## Suggested fix

Either:
1. Add CLI support for all `IInteractionService` prompt types
2. Or throw / log a warning when an unsupported interaction type is used during pipeline execution, instead of silently dropping it

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.