When a new user runs azd up for the first time, they are greeted with a prompt asking to check Azure development tools before their command runs:
Let's get your development environment ready.
Discover and install Azure development tools such as Azure CLI, GitHub Copilot CLI, and Azure AI extensions.
To skip this check, set AZD_SKIP_FIRST_RUN=true or run azd config set tool.firstRunCompleted true.
? Would you like to check your Azure development tools?: [Y/n] Yes
Problem
Observed a non-azd user running azd up for the first time and being confused by this. They did not understand why azd needs to check their tools, and it felt like too much for a first-run experience. Having to manually set an env var or run a config command to suppress it is annoying.
The prompt fires on all workflow commands (init, up, provision, deploy, down, publish, build, package, restore) via the ToolFirstRunMiddleware registered in cmd/root.go.
Proposal
Remove the automatic first-run tool check from workflow commands entirely. Users who want to check their tools can run azd tool check explicitly. The current behavior forces every new user to either answer a question they do not understand or figure out how to suppress it, which is a poor first impression.
Implementation reference
- Middleware:
cli/azd/cmd/middleware/tool_first_run.go
- Registration:
cli/azd/cmd/root.go (line ~479, UseMiddlewareWhen for toolFirstRun)
- Workflow command list:
cli/azd/cmd/root.go (line ~572, workflowCommands map)
When a new user runs
azd upfor the first time, they are greeted with a prompt asking to check Azure development tools before their command runs:Problem
Observed a non-azd user running
azd upfor the first time and being confused by this. They did not understand why azd needs to check their tools, and it felt like too much for a first-run experience. Having to manually set an env var or run a config command to suppress it is annoying.The prompt fires on all workflow commands (
init,up,provision,deploy,down,publish,build,package,restore) via theToolFirstRunMiddlewareregistered incmd/root.go.Proposal
Remove the automatic first-run tool check from workflow commands entirely. Users who want to check their tools can run
azd tool checkexplicitly. The current behavior forces every new user to either answer a question they do not understand or figure out how to suppress it, which is a poor first impression.Implementation reference
cli/azd/cmd/middleware/tool_first_run.gocli/azd/cmd/root.go(line ~479,UseMiddlewareWhenfortoolFirstRun)cli/azd/cmd/root.go(line ~572,workflowCommandsmap)