# Install azure-cli with Homebrew

Microsoft Azure CLI 2.0. Version 2.88.0 via Homebrew; verified 2026-07-07.

## Install

```sh
sudo av install brew:azure-cli
```

## Agent safety answer

azure-cli controls Azure accounts, resources, subscriptions, and deployments.

- **Credential access:** Reads Azure account tokens, config files, cloud credentials, and environment variables.
- **Remote mutation:** Can create, delete, and reconfigure Azure infrastructure.
- **Publish/artifact risk:** Can deploy application artifacts and infrastructure templates.
- **Recommended control:** Gate mutating az commands and credential export or login changes.
- **Agent-use guidance:** Allow account/resource reads in safe subscriptions; require approval for writes and deletes.

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install azure-cli
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:azure-cli
- **Package manager:** Homebrew
- **Version:** 2.88.0
- **Source summary:** Microsoft Azure CLI 2.0
- **Homepage:** <https://docs.microsoft.com/cli/azure/overview>
- **Repository:** <https://github.com/Azure/azure-cli>
- **Last updated:** 2026-07-07T09:03:39Z
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- az (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.88.0
## Project history and usage

Azure CLI is Microsoft's cross-platform `az` command-line client for managing Azure resources. It is one of the canonical cloud-provider CLIs in package-manager indexes because it turns Azure administration, provisioning, identity, and resource inspection into scriptable shell commands.

### Project history

The Azure CLI 2.x line was developed in the open at Azure/azure-cli as a next-generation, multi-platform Azure command-line experience. The repository's earliest GitHub Releases include the 0.1 beta series in 2016, followed by the 2.x release train that became the standard `az` CLI used from local terminals, CI jobs, containers, and Azure Cloud Shell.

The CLI is implemented as a Python package with command modules for Azure service areas. Microsoft Learn positions it as the primary Azure command-line surface, with configuration under the Azure CLI config directory and first-class documentation for authentication, output formatting, querying, and automation patterns.

### Adoption history

Azure CLI became package-manager furniture because Azure users need the same `az` command on macOS, Linux, Windows, containers, and hosted CI. The input package facts list broad distribution across Homebrew, Chocolatey, Debian, Fedora/DNF, MacPorts, Nix, Arch/pacman, Scoop, winget, and zypper, which matches its role as a cloud bootstrap tool rather than an optional developer convenience.

Its presence in Azure Cloud Shell further normalized `az` as the default examples language for many Azure docs and snippets. Package users care that Homebrew and Linux packages track a large upstream release train and that shell completion, JSON/table/TSV output, and JMESPath querying make it pleasant in scripts.

### How it is used

Typical usage is `az group create`, `az vm create`, `az storage ...`, `az account get-access-token`, or `az rest`, usually combined with `--query` and `--output` for shell pipelines. The official docs emphasize using `az configure`, environment variables, and the INI-style config file to tune defaults.

Credentials and tokens are stored under the Azure CLI config directory; current source code uses `msal_token_cache` and `service_principal_entries` there. Package maintainers and automation users should treat the directory as sensitive state, especially on shared runners.

### Why package nerds care

For package nerds, `azure-cli` is a classic heavyweight cloud CLI: fast-moving, Python-based, dependency-rich, and distributed everywhere. It stress-tests package managers on update cadence, Python dependency isolation, shell completion, telemetry defaults, and whether the packaged binary behaves the same as Microsoft's install scripts.

It also demonstrates the difference between a formula that installs a CLI and the hidden state that CLI writes under the user's home directory. Upgrades are routine, but auth caches and config files often outlive package removals.

### Timeline

- 2016: Azure/azure-cli GitHub Releases include the 0.1 beta series.
- 2017: Azure CLI 2.x becomes the public `az` generation for Azure automation.
- 2020s: Azure CLI is broadly packaged across Homebrew, Linux distributions, Windows package managers, and Azure Cloud Shell.

### Related projects

- Azure PowerShell is Microsoft's PowerShell-native Azure automation surface.
- Azure Developer CLI (`azd`) builds on Azure CLI-era workflows with project templates and app deployment conventions.
- Azure Cloud Shell provides a hosted shell environment where Azure CLI is preinstalled.

### Sources

- Azure/azure-cli README and GitHub Releases
- Microsoft Learn Azure CLI overview, authentication, and configuration docs
- source_facts.package-manager


## Security Notes

cloud infrastructure mutation tool.

- **Geiger risk:** orange / high
- cloud infrastructure mutation tool


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.azure/config
- Windows: %USERPROFILE%\.azure\config

## Credential files

- Unix: ~/.azure/msal_token_cache.json, ~/.azure/service_principal_entries.json, ~/.azure/accessTokens.json

## Combined YAML source

View the package source record on GitHub. [combined/azure-cli.yml](https://github.com/automic-vault/db/blob/main/combined/azure-cli.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- curated agent safety answer
