You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Task] Remove confusing "Command group 'config' is experimental" warning #34186
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.
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.
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:
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.
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.
Activity
yonzhan commentedon Oct 8, 2026
Thank you for opening this issue, we will look into it.
microsoft-github-policy-service commentedon Oct 8, 2026
🔔 Routing this issue to @Azure/act-quality-productivity-squad.
x-engineering-agent commentedon Oct 8, 2026
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
devrevisionef09fd936278dd048f7368b6b1043627ae18c99a,config/commands.py:13-16registers the entireconfiggroup withis_experimental=True, coveringset,getandunset. Theconfig param-persistgroup independently declaresis_experimental=Trueat 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=falseemits 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 warningRequirements for the fix:
Azure/azure-clibranchdevand keep the implementation in the handwrittenconfigmodule. Do not alter the separateconfiguremodule.configgroup. Preserve the explicit experimental status ofconfig param-persistand any genuinely experimental child command or parameter. Do not globally suppress warnings or modify the shared command framework to hide this warning.src/azure-cli/azure/cli/command_modules/config/tests/latest/test_config.pywith regression coverage that checks actual warning behavior forconfig set,config getandconfig unset, not just a metadata mapping. Use isolated temporary configuration and verify the existing configuration results as well.config param-persistwarning using the existingtest_param_persist.pysuite or a focused command-loading regression. Keep existing parameter-persistence behavior unchanged.configtest 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
configcommand is AAZ-generated. Files underaaz/<profile>/are generated output and must never be patched directly, including by an AI agent. Check outAzure/aazbesideAzure/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 durableAzure/aazcommand model; non-modelable client behavior belongs in a handwritten subclass or wrapper incustom.py, registered fromcommands.py. X Engineering Agent creates and promotes the corresponding durableAzure/aazsource 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. Usegenerateonly when importing or redesigning command models from Swagger/TypeSpec. For an existing module whose durableAzure/aazmodel has been updated, render that model withregenerate: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_infoprovenance and the complete regenerated diff, then run focusedazdev style,azdev linter, andazdev testvalidation. For an extension, also update its version andHISTORY.rst, preserveazext_metadata.jsoncompatibility, and let release automation updatesrc/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):
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:
Fixes #34186.az ...command this affects.[Config] `az <command>`: <note>.Posted by x-engineering-agent (Fixer)
[Config] Fix Azure#34186: `az config`: Remove the blanket experimenta…
[Config] Fix Azure#34186: `az config`: Remove the blanket experimenta…