Azure CLI commands are either part of the core Azure CLI service, or they're an extension. Extensions are optional add-ons. The reference type determines the release schedule, status and installation method as described here:
Term
Core
Extension
References
Are part of the primary Azure CLI service
Are optional reference commands that must be installed
# Get list of all command groups
az
# Get list of extensions
az extension list-available --output table
Core
Azure CLI references that have been published as a permanent part of the CLI are called core references. All core references install with the Azure CLI and you can't choose a subset of references. If you run the CLI through Azure Cloud Shell, core references are always up to date.
Extension
Extensions aren't shipped as part of the CLI but run as CLI commands. Some extensions are a permanent part of the Azure CLI, but often, an extension gives you access to preview and experimental commands. A single reference group, such as az iot hub, can have both core and extension commands. Here are two examples:
Full reference command
Is Core
Is Extension
az iot hub list
yes
az iot hub job list
yes
You're prompted to install an extension upon first use. You can also install an extension by running the az extension add command.
Regardless of reference type, Azure CLI references fall into three status categories: GA (Generally Available), public preview or deprecated. It's the reference command status (not type) that determines stability.
GA
Public preview
Deprecated
Stability
Permanent
Can change in response to customer feedback. Is subject to the terms of Microsoft Azure Previews.
Will be removed.
Note
Warnings indicating public preview or deprecated are part of the Azure CLI command output and should be expected.
Most commands and parameters for a single reference have a single status, but not always. A GA reference that is being built out to offer more commands can have both GA and preview reference commands. As new parameters are added to increase functionality, a single command can also have parameters that fall under different status categories. Here are example references that have different statuses:
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Azure CLI feedback
Azure CLI is an open source project. Select a link to provide feedback:
Learn the basic concepts of infrastructure as code, explore the key differences between the Azure CLI, Azure PowerShell, Bicep, and Terraform, and decide which command-line tools best meet your organization's needs.
Learn how to find, install, uninstall, and manage extensions with Azure CLI. Use the Azure CLI to load extensions provided and maintained by Microsoft.
The Azure CLI allows user configuration for various settings. Manage values with the az configure command, environment variables, or in the configuration file.
Learn how to start using the Azure CLI by completing common commands. You can begin using the Azure CLI by running it in an Azure Cloud Shell environment.
Learn how to use Bash with Azure CLI. Query, format output, filter, use variables, and use Bash constructs of loops, if/exists/then and case statements.