Loading...

Latest improvements to the Azure CLI experience

Latest improvements to the Azure CLI experience

Hello all, welcome to another CLI release blog. Today we will be sharing with you our recent effort and investment in improving the Azure CLI user experience, which includes the new colorization guidelines, enhanced error output, output hints for az login, and command progress bars. You could read more about our previous UX work here

 

You can also download the latest official release from the Azure CLI page or the dev build from the GitHub Azure CLI homepage

 

CLI colorization guideline:

The CLI colorization guideline was developed to improve the legibility of command line text. We took inspiration from other popular CLIs, prescribed new meaning to some of the traditional colors, ensured that this is accessible to all, and standardized its application across the Azure CLI. In the latest beta release, we support both dark and light themes which can be configured via az config set core.theme = dark/light:

 

theme.png

 Figure1: Dark and light theme of CLI color application

 

A few other things to note:

  • The theme and colorization are on by default, although they can be toggled on/off via az config set core.no_color = true/false
  • Colors from the Azure CLI theme will not override your pre-customized settings. We only map the color names to the corresponding color values from your terminal settings, and for colors that don’t provide sufficient contrast (like blue in Windows PowerShell terminal), they are disabled and are defaulted back to your terminal’s primary output color

We are currently in discussion with the PowerShell and Azure Cloud Shell teams to standardize the terminal color application all up. If this is something of interest to you, please leave a comment below and share with us your feedback.

 

New error output v2 design:

As per the pre-announcement made here a couple of months ago, our team has been working towards refining both the i) error output design, and the ii) recommendation accuracy –  to enable faster error resolution. We often hear from you, our customers, that dealing with errors is difficult due to incomplete or cryptic messages. We hope our v2 design will continue to enhance the legibility those messages and help you recover from them quickly.

 

error_v2.png

 Figure2: New error output design

 

error_config.png

Figure 3: new error output with recommendations disabled

 

For those of you who don’t want these recommendations, they can be suppressed via az config set core.error_recommendations = off. For example, if you are only interested in basic error messages in an automation scenario (like a DevOps pipeline), the output logs won’t be overwhelmed by these recommendations

 

If you would like to learn more about how we used AI to build out these recommendations, you can learn more about how we empower developers through AI and the architectural implementation of the underlying service powering this.

 

az login post output hint

We hear from our customers that discovering what their default subscription is in midst of 20+ active subscriptions after they run az login is time consuming. We experimented with post-output hints where we enable and extended additional outputs beyond the default output. In the example of az login post-output hint below, we provide the default subscription info at the end, so that you no longer have to scroll through multiple screens to find that needle in the haystack:

azlogin_gif-min.gif

Gif 1: post output hint for az login to display default subscription

 

In the same example,  there are a few other commands being recommended as part of the extended output. The reason being we’re leveraging this to introduce some popular commands which customers have been asking for. So far we’ve been receiving positive feedback on this enhancement and would certainly love your additional thoughts!  Feel free to give the edge build a try!

 

New command progress bars:

Not-so-fun fact: almost all of our long running operations do not display dynamic progress bars during command execution. Most of the time, they only display the static ‘Running…’ indicator without any process updates. This means that interactive users who manage their Azure resources in the terminal are often confused with the execution status. This has been noted as a primary source of frustration in our user testing labs, where the terminal is misinterpreted as hanging and users would terminate their current session, leading to a loss of productivity

 

As a mitigation to the above challenge, our team worked through several iterations of the progress bar designs and explored their pros and cons. Determinant progress bars are ones where we provide approximate time to command completion, while indeterminant designs are for commands that we do not have an approximate time to completion for, but would still like to provide an indication to our users that the command is running. The GIF below presents our top designs in action, which are implemented as preview across some of our long running operations:

 

progressbar_gif-min.gif

 Gif 2: Determinant and indeterminant progress bar design

 

 

We plan to roll out broad support for all long running operations. By the end of February, all long running operations will support the indeterminant progress bars. For the time being, they are supported in the edge build below. If you have specific insights or preferences on the above design, feel free to also leave us a comment below.

 

Next steps and getting started with edge build:

Here's how you could get started with the edge build:

# 1) Create a virtual environment

python -m venv edge-venv

 

# 2) Activate the virtual environment

# a) PowerShell on Windows, or

. .\edge-venv\Scripts\Activate.ps1

# b) Linux/MacOS Bash

. ./edge-venv/bin/activate

 

# c) Install Azure CLI edge build

pip install --extra-index-url https://azurecliedge.blob.core.windows.net/edge/simple/ azure-cli

 

There you'd be able to play with the az login post output and the command progress bars

 

We’d love for you to try out these new experiences and share us your feedback on their usability and applicability for your day-to-day use cases

 

Thank you!

 

 

 

 

 

Published on:

Learn more
Azure Tools Blog articles
Azure Tools Blog articles

Azure Tools Blog articles

Share post:

Related posts

Azure Security: Private Vs. Service Endpoints

When connecting securely to a platform service such as a key vault or an Azure storage account, Microsoft recommends using a private endpoint ...

4 hours ago

Give your Foundry Agent Custom Tools with MCP Servers on Azure Functions

Learn how to connect your MCP server hosted on Azure Functions to Microsoft Foundry agents. This post covers authentication options and setup ...

1 day ago

Azure Data Factory Tips for Reliable Microsoft Dynamics 365 CE and Dataverse Integrations

Reliable integrations between Microsoft Dynamics 365 Customer Engagement and external systems can become challenging. This is especially true ...

1 day ago

Scalable AI with Azure Cosmos DB: Tredence Intelligent Document Processing (IDP) | March 2026

Azure Cosmos DB enables scalable AI-driven document processing, addressing one of the biggest barriers to operational scale in today’s enterpr...

2 days ago

Announcing the end of support for Node.js 20.x in the Azure SDK for JavaScript

After July 9, 2026, the Azure SDK for JavaScript will no longer support Node.js 20.x. Upgrade to an Active Node.js Long Term Support (LTS) ver...

3 days ago

MCP Apps on Azure Functions: Quickstart with TypeScript

Learn how to build and deploy MCP (Model Context Protocol) apps on Azure Functions using TypeScript. This guide covers MCP tools, resources, l...

3 days ago

Setting up Power BI Version Control with Azure Dev Ops

In this blog post is a way set up version control for Power BI semantic models (and reports) using the PBIP (Power BI Project) format, Azure D...

9 days ago

Azure Developer CLI (azd) – March 2026: Run and Debug AI Agents Locally, GitHub Copilot Integration, & Container App Jobs

Run, invoke, and monitor AI agents locally or in Microsoft Foundry with the new azd AI agent extension commands. Plus GitHub Copilot-powered p...

10 days ago

Writing Azure service-related unit tests with Docker using Spring Cloud Azure

This post shows how to write Azure service-related unit tests with Docker using Spring Cloud Azure. The post Writing Azure service-related uni...

10 days ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy