Revert "Add --fail-on-prompt flag for strict non-interactive mode"#7744
Revert "Add --fail-on-prompt flag for strict non-interactive mode"#7744rajeshkamal5050 merged 4 commits intomainfrom
Conversation
)" This reverts commit afd9a31.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR reverts the previously added strict non-interactive mode (--fail-on-prompt) and removes the corresponding option plumbing, errors, and tests, returning behavior to the existing --no-prompt semantics.
Changes:
- Removed
FailOnPromptfromGlobalCommandOptionsand eliminated the--fail-on-promptflag parsing/usage. - Simplified console/asker prompting by removing “fail-on-prompt” enforcement and helper errors.
- Updated unit tests and CLI usage snapshots to reflect removal of the flag.
Show a summary per file
| File | Description |
|---|---|
| cli/azd/pkg/prompt/prompt_service_test.go | Removes tests asserting FailOnPrompt behavior in prompt service. |
| cli/azd/pkg/prompt/prompt_service.go | Removes FailOnPrompt early-return errors for subscription/location/resource selection. |
| cli/azd/pkg/input/fail_on_prompt_error.go | Deletes dedicated error helpers for strict prompt blocking. |
| cli/azd/pkg/input/console_test.go | Updates console constructor calls for removed failOnPrompt argument. |
| cli/azd/pkg/input/console_helpers_test.go | Updates helper and tests for new console constructor signature. |
| cli/azd/pkg/input/console.go | Removes failOnPrompt support and updates NewConsole/NewAsker wiring accordingly. |
| cli/azd/pkg/input/asker_test.go | Updates tests for new NewAsker signature and removes strict-mode tests. |
| cli/azd/pkg/input/asker.go | Removes fail-on-prompt asker path and helper, simplifies NewAsker. |
| cli/azd/internal/vsrpc/server_session.go | Updates console creation to match new constructor signature. |
| cli/azd/internal/repository/infra_confirm_test.go | Updates console creation to match new constructor signature. |
| cli/azd/internal/repository/detect_confirm_test.go | Updates console creation to match new constructor signature. |
| cli/azd/internal/repository/app_init_test.go | Updates console creation to match new constructor signature. |
| cli/azd/internal/grpcserver/prompt_service_test.go | Removes tests for FailOnPrompt behavior in gRPC prompt service. |
| cli/azd/internal/grpcserver/prompt_service.go | Removes FailOnPrompt handling and related import; adjusts prompt behavior. |
| cli/azd/internal/global_command_options.go | Removes FailOnPrompt from global options struct. |
| cli/azd/cmd/testdata/TestUsage-azd.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-x.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-version.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-update.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-up.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-template.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-template-source.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-template-source-remove.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-template-source-list.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-template-source-add.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-template-show.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-template-list.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-show.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-restore.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-publish.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-provision.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-pipeline.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-pipeline-config.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-package.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-monitor.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-mcp.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-mcp-start.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-init.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-infra.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-infra-generate.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-hooks.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-hooks-run.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-extension.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-upgrade.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-uninstall.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-source.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-source-validate.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-source-remove.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-source-list.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-source-add.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-show.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-list.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-extension-install.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-env.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-env-set.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-set-secret.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-select.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-env-remove.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-refresh.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-new.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-env-list.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-env-get-values.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-get-value.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-config.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-env-config-unset.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-config-set.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-env-config-get.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-down.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-deploy.snap | Removes --fail-on-prompt from usage snapshot output and reflows snapshot formatting. |
| cli/azd/cmd/testdata/TestUsage-azd-demo.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-copilot.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-copilot-consent.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-copilot-consent-revoke.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-copilot-consent-list.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-copilot-consent-grant.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-unset.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-show.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-set.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-reset.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-options.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-list-alpha.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-config-get.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-concurx.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-completion.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-completion-zsh.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-completion-powershell.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-completion-fish.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-completion-fig.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-completion-bash.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-coding-agent.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-auth.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-auth-status.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-auth-logout.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-auth-login.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-appservice.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-ai.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-ai-models.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-ai-finetuning.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-ai-agent.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestUsage-azd-add.snap | Removes --fail-on-prompt from usage snapshot output. |
| cli/azd/cmd/testdata/TestFigSpec.ts | Removes --fail-on-prompt from Fig completion spec snapshot. |
| cli/azd/cmd/external_prompt_test.go | Updates console creation to match removed FailOnPrompt option. |
| cli/azd/cmd/container.go | Updates console creation in DI container to new constructor signature. |
| cli/azd/cmd/auto_install_test.go | Updates global flag parsing tests removing FailOnPrompt assertions. |
| cli/azd/cmd/auto_install.go | Removes flag definition and parsing for --fail-on-prompt; adjusts agent detection behavior. |
Copilot's findings
Comments suppressed due to low confidence (2)
cli/azd/internal/grpcserver/prompt_service.go:1
- The nil/required validation for req/req.Options was removed from Prompt(), but the method still dereferences req.Options (and may do so even when NoPrompt is false in code not shown). This can panic on a nil request and also makes Prompt() inconsistent with Confirm/Select/MultiSelect, which still return codes.InvalidArgument. Restore the initial 'req == nil || req.Options == nil' guard and return a gRPC InvalidArgument status as before.
cli/azd/pkg/input/asker.go:1 - NewAsker is exported but no longer has a GoDoc comment. If linting is enabled (common in Go CI), this can fail checks (e.g., golint/golangci-lint style rules). Add a doc comment starting with "NewAsker" describing the prompt modes it supports.
- Files reviewed: 106/106 changed files
- Comments generated: 0
jongio
left a comment
There was a problem hiding this comment.
Clean revert, fixes the blocker. One minor note below.
PR #7701 added a test calling NewConsole with the failOnPrompt parameter. After merging main into the revert branch, this test had the wrong call signature. Removed the extra arg to match the reverted signature. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Merged main and fixed the build. PR #7701 (skip empty console messages in JSON mode) landed after this branch was created — it added a test calling NewConsole with the failOnPrompt param. Removed that extra arg to match the reverted signature. |
Feature is being reverted, remove the changelog entry for #7394. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/check-enforcer override |
Azure Dev CLI Install InstructionsInstall scriptsMacOS/Linux
bash: pwsh: WindowsPowerShell install MSI install Standalone Binary
MSI
Documentationlearn.microsoft.com documentationtitle: Azure Developer CLI reference
|
|
/check-enforcer override |
…date skill date convention Agent-Logs-Url: https://github.com/Azure/azure-dev/sessions/7ad7a0e4-e45a-44db-9850-cd84c87cb11d Co-authored-by: rajeshkamal5050 <11532743+rajeshkamal5050@users.noreply.github.com>
Reverts #7394
Fixes #7718
Contributes towards #7390