Skip to content

[Task] Remove confusing "Command group 'config' is experimental" warning #34186

Description

@Alex-AZPS

Describe the bug

Running az config set (and likely other az config subcommands) prints a confusing warning on
every invocation:

Command group 'config' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus

az config has been a stable, widely-used command group for a long time (output formatting,
extension settings, broker settings, etc.), so this "experimental" warning is misleading and
confusing to users — it suggests the command group itself may change or break, which isn't
accurate for its current state.

Related command

az config set core.enable_broker_on_windows=false
az config set core.enable_broker_on_windows=true

Steps to reproduce

Run any az config set command:

az config set core.enable_broker_on_windows=false

Errors & debug output

Command group 'config' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus

(Screenshot attached showing this warning printed on every az config set invocation.)

Expected behavior

The az config command group should not print an "experimental" warning. If any specific
subcommand or parameter under az config is genuinely experimental, that warning should be scoped
to just that subcommand/parameter rather than the entire config command group — otherwise please
remove the experimental marking from az config entirely, since it's confusing to customers for a
mature, stable command group.

Environment

PowerShell

Additional context

This came up during an internal discussion about the macOS broker authentication rollout
(core.enable_broker_on_mac / core.enable_broker_on_windows), where the warning noise made the
actual command output harder to read.

Activity

  1. added
    bugThis issue requires a change to an existing behavior in the product in order to be resolved.
    on Oct 8, 2026
  2. yonzhan commented on Oct 8, 2026

    @yonzhan
    Collaborator

    Thank you for opening this issue, we will look into it.

  3. microsoft-github-policy-service commented on Oct 8, 2026

    @microsoft-github-policy-service
    Contributor

    🔔 Routing this issue to @Azure/act-quality-productivity-squad.

  4. x-engineering-agent commented on Oct 8, 2026

    @x-engineering-agent
    Contributor

    Bug Analysis

    The report provides a command, the exact unwanted warning, expected behavior and repeatable steps. No additional environment information is needed to investigate this metadata issue. The similarity service returned no candidate duplicates.

    Affected module: src/azure-cli/azure/cli/command_modules/config/

    Source evidence: At dev revision ef09fd936278dd048f7368b6b1043627ae18c99a, config/commands.py:13-16 registers the entire config group with is_experimental=True, covering set, get and unset. The config param-persist group independently declares is_experimental=True at lines 18-22. This explains the scope of the reported warning; this analysis is based on source inspection, not an executed reproduction.

    Reported behavior: az config set core.enable_broker_on_windows=false emits the group-level experimental warning. The requested result is warning-free ordinary configuration commands, without changing broker settings or configuration semantics.

    Use this EXACT PR title: [Config] Fix #34186: az config: Remove the blanket experimental warning

    Requirements for the fix:

    • Target Azure/azure-cli branch dev and keep the implementation in the handwritten config module. Do not alter the separate configure module.
    • Remove the blanket experimental marking from the ordinary config group. Preserve the explicit experimental status of config param-persist and any genuinely experimental child command or parameter. Do not globally suppress warnings or modify the shared command framework to hide this warning.
    • Preserve existing set/get/unset behavior, output, persistence, errors and exit status. Do not change authentication/broker defaults or user configuration as part of this fix.
    • Extend src/azure-cli/azure/cli/command_modules/config/tests/latest/test_config.py with regression coverage that checks actual warning behavior for config set, config get and config unset, not just a metadata mapping. Use isolated temporary configuration and verify the existing configuration results as well.
    • Cover preservation of the narrower config param-persist warning using the existing test_param_persist.py suite or a focused command-loading regression. Keep existing parameter-persistence behavior unchanged.
    • Run the repository's existing focused config test suites in the isolated Foundry implementation job and report the exact results. These commands are local configuration operations; no Azure credentials or service resources should be needed. Update directly affected help or customer-facing history notes if required, without manually changing generated history files.

    Mandatory Codegen execution protocol

    Before editing implementation files, determine whether the affected config command is AAZ-generated. Files under aaz/<profile>/ are generated output and must never be patched directly, including by an AI agent. Check out Azure/aaz beside Azure/azure-rest-api-specs, Azure/aaz-dev-tools, and the downstream repository. API-schema defects start in the specification; command naming, grouping, arguments, API-version selection, help, and examples belong in the durable Azure/aaz command model; non-modelable client behavior belongs in a handwritten subclass or wrapper in custom.py, registered from commands.py. X Engineering Agent creates and promotes the corresponding durable Azure/aaz source pull request before it promotes downstream generated output.

    Follow the Azure CLI repository's Codegen workflow and the aaz-dev setup documentation. Set up the checked-out repositories with azdev setup. Use generate only when importing or redesigning command models from Swagger/TypeSpec. For an existing module whose durable Azure/aaz model has been updated, render that model with regenerate:

    aaz-dev cli regenerate --name config --cli-path <azure-cli>
    
    # New/imported command model only:
    aaz-dev cli generate --spec <specification-name> --module config

    You MUST actually run the generator; do not merely describe it or imitate its output. If the AAZ/specification checkout, local source change, credentials, or generator is unavailable, stop and report the blocker instead of editing generated files. Inspect _aaz_info provenance and the complete regenerated diff, then run focused azdev style, azdev linter, and azdev test validation. For an extension, also update its version and HISTORY.rst, preserve azext_metadata.json compatibility, and let release automation update src/index.json.

    PR title & description format (required)

    This repo enforces a PR format (guide). Please author the PR exactly as follows or CI's Check the Format of Pull Request Title and Content will fail.

    Use this EXACT PR title (copy verbatim, do not reword):

    [Config] Fix #34186: `az config`: Remove the blanket experimental warning
    

    Keep the backticks around the command and the Fix #34186: prefix. You may only adjust the wording after the command (the final summary) if the fix changes; the [Config] prefix, issue link, and backticked command must stay.

    Description — follow the PR template and fill in:

    • Link the issue — start the Description with a closing keyword so the PR auto-links and closes it: Fixes #34186.
    • Related command — the az ... command this affects.
    • Description (mandatory) — why the bug happens, what you changed, and the resulting behavior.
    • Testing Guide — example command(s) showing the fix works.
    • History Notes — leave the title to drive the history note, or add extra lines in the same format (component in brackets + the command in backticks), e.g. [Config] `az <command>`: <note>.
    • Keep the template checklist and tick the items you've satisfied.

    Posted by x-engineering-agent (Fixer)

  5. added 2 commits that reference this issue on Oct 8, 2026
    3aa869e
    4c244f7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Auto-AssignAuto assign by botAzure CLI TeamThe command of the issue is owned by Azure CLI teamConfigureaz configure/configact-quality-productivity-squadbugThis issue requires a change to an existing behavior in the product in order to be resolved.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions