Skip to content

[UX] Improve extension installation and source selection UX during azd up #9302

Description

@hyoshis

Problem

During azd up, azd checks the project's azure.yaml file for required extensions. If one or more required extensions are not installed, users are prompted to install them before deployment can continue.

In some cases, the same extension is available from multiple sources. Users must both:
Confirm that they want to install the extension.
Choose which source to install it from.

The current experience provides limited context about:
Why the extension is required.
Why installation is happening automatically during azd up.
What the available sources are and how they differ.
How users should decide which source to choose.

As a result, users may feel uncertain about what they're installing or make an uninformed source selection.

Goal

Design a clearer, more trustworthy installation flow that explains why an extension is needed, helps users understand their source options, and enables them to make an informed decision with confidence.

Scenarios

  • Single extension, single source – Confirm installation and explain why it's required.
  • Single extension, multiple sources – Help users understand and choose the appropriate source.
  • Multiple extensions, single source – Summarize what will be installed and minimize prompts.
  • Multiple extensions, multiple sources – Present the installation plan clearly while keeping source selection manageable.
  • Alternative extension candidates (rare) – When different extensions are suggested, explain the differences and recommend the best option when possible.

Design Goals

  • Explain why installation is required.
  • Build trust before making changes to the user's environment.
  • Make source selection easy and understandable.
  • Scale from simple to complex scenarios without adding unnecessary friction.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions