Cover image for What are Azure CLI Extensions?
Microsoft Azure

What are Azure CLI Extensions?

mbcrump profile image Michael Crump Updated on ・3 min read

This is Part 1 of 2. You can check out Part 2 below.

What are Azure CLI Extensions?

The Azure CLI is a powerful command-line interface that you can use to manage your Azure resources. It comes loaded with lots of commands that you can use to create resources like VMs and Web Apps and do almost anything with them that you can imagine, like swap a deployment slot.

Sometimes, the commands that the Azure CLI offers aren't enough. Or maybe you want to use them differently than they allow you to. For these cases, you can use Azure CLI Extensions.

Azure CLI extensions are additions to the CLI that are built by Microsoft and the community and provide you with additional functionality. The extensions are Python wheels that you can run as CLI commands. Python wheel is a built-package format for Python code that allows small code packages to be installed and uninstalled in client applications easily.

You can view a list of all of the CLI extensions here. And you can also see the list when you type the command az extension list-available --output table in the Azure CLI.

Installing and using an Azure CLI Extension

Installing Azure CLI extensions is very easy. First, open up an instance of the Azure CLI. You can open a local instance on your computer (make sure that you are running the latest version of the CLI) or open it in the Azure Cloud Shell (https://shell.azure.com/).

Once you are in the Azure CLI, you can install extensions with this command:

az extension add --name <extension-name>

You can use the name of any extension that is listed in the az extension list-available list. If you want to use an extension that's not in the list, for instance, an extension that you've built yourself, you can add it by using the URL or the local path to it. Just make sure that your CLI instance has access to the extension that you are trying to install. In the case of an external extension that you need to add with a URL or local path, you should use his command:

az extension add --source <URL-or-path>

You can also update extensions to their latest version. You do that by using this command:

az extension update --name <extension-name>

And you can also uninstall extensions when you are done with them. Use this command to remove an extension:

az extension remove --name <extension-name>

Here is an example of installing the Azure CLI Extension called "Find". This extension talks to a Microsoft AI-powered API, called Azure Aladdin, that helps to make using Azure easier. The extension is currently in preview. By the time you read this post, the find extension might have changed or might have become a part of the Azure CLI.

Alt Text

(Installing the "Find" extension in the Azure Cloud Shell)

The help extension is really cool. You can, for instance, use it to get explanations about Azure CLI commands.

Alt Text
(Get CLI command explanations from the "Find" extension in the Azure Cloud Shell)

You can also use the extension to find commands. This is really useful when you know that there should be a CLI command for something but don't exactly what it is.

Alt Text
(Get CLI command explanation from the "Find" extension in the Azure Cloud Shell)


The Azure CLI is a very powerful tool and CLI extensions make it even more powerful and useful. Check out the list of extensions to see if there are any in there that can help you.

Stay connected with me on various social platforms for daily software development news.


Editor guide
prometheusrising1 profile image

Please address basic security screening of wheels.

mbcrump profile image
Michael Crump Author

Hey, the actual Python Wheel project doesn't offer much here except of generating signatures. Which you can see here on the official Python page - python.org/dev/peps/pep-0427/. LMK if there is something else missing especially if you are a Python dev in the security space. Let's learn together.

robertplata profile image

To what audience is CLI intended? Administrators?