# Install azure-cli with Homebrew, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

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: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install azure-cli
```

  Evidence: MacPorts ports tree: sysutils/azure-cli/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install azure-cli
```

  Evidence: Debian stable package indexes: azure-cli from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install azure-cli
```

  Evidence: Fedora Rawhide package metadata: azure-cli from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#azure-cli
```

  Evidence: nixpkgs package indexes: pkgs/by-name/az/azure-cli/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S azure-cli
```

  Evidence: Arch Linux sync databases: azure-cli from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install azure-cli
```

  Evidence: openSUSE Tumbleweed package metadata: azure-cli from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install azure-cli
```

  Evidence: Chocolatey community package catalog: azure-cli from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','autodesk-fusion360'

- Scoop (92%):

```sh
scoop install main/azure-cli
```

  Evidence: Scoop official bucket manifest trees: bucket/azure-cli.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id Microsoft.AzureCLI -e
```

  Evidence: Windows Package Manager source index: Microsoft.AzureCLI from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:azure-cli
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/azure-cli>
- **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>
- **Upstream docs:** <https://learn.microsoft.com/en-us/cli/azure>
- **License:** MIT
- **Source archive:** <https://github.com/Azure/azure-cli/archive/refs/tags/azure-cli-2.88.0.tar.gz>
- **Last updated:** 2026-07-07T09:03:39Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- az (cli)
- az (alias)

## Dependencies

- libsodium
- libyaml
- openssl@3
- python@3.14

## Build dependencies

- pkgconf
- rust

## Uses from macOS

- libffi

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.88.0
- Package-manager updated: 2026-07-07
- Local data: ok
- Upstream repository: https://github.com/Azure/azure-cli
- Upstream latest detected: azure-cli-2.88.0 (current)
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** azure-cli
- **Aliases:** az
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - azure-cli - 2.74.0-1: normalized package name match | Debian stable package indexes: azure-cli from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Azure Command-Line Interface (CLI) | https://github.com/Azure/azure-cli
- Debian apt - python3-azure-cli - 2.74.0-1: normalized package name match | Debian stable package indexes: python3-azure-cli from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Azure Command-Line Interface (CLI) - commands modules | https://github.com/Azure/azure-cli
- Debian apt - python3-azure-cli-core - 2.74.0-1: normalized package name match | Debian stable package indexes: python3-azure-cli-core from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Azure Command-Line Interface (CLI) - core modules | https://github.com/Azure/azure-cli
- Debian apt - python3-azure-cli-telemetry - 2.74.0-1: normalized package name match | Debian stable package indexes: python3-azure-cli-telemetry from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Azure Command-Line Interface (CLI) - telemetry modules | https://github.com/Azure/azure-cli
- Debian apt - python3-azure-cli-testsdk - 2.74.0-1: normalized package name match | Debian stable package indexes: python3-azure-cli-testsdk from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Azure Command-Line Interface (CLI) - testsdk modules | https://github.com/Azure/azure-cli
- Nix - azure-cli: normalized package name match | nixpkgs package indexes: pkgs/by-name/az/azure-cli/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - azure-cli - 2.85.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: azure-cli from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Microsoft Azure Command-Line Tools | https://github.com/Azure/azure-cli
- dnf - python3-azure-cli-core - 2.85.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: python3-azure-cli-core from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Microsoft Azure Command-Line Tools Core Module | https://github.com/Azure/azure-cli
- dnf - python3-azure-cli-telemetry - 2.85.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: python3-azure-cli-telemetry from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Microsoft Azure CLI Telemetry Package | https://github.com/Azure/azure-cli
- dnf - python3-azure-cli-testsdk - 2.85.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: python3-azure-cli-testsdk from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Microsoft Azure CLI SDK testing tools | https://github.com/Azure/azure-cli
- pacman - azure-cli - 2.86.0-1: normalized package name match | Arch Linux sync databases: azure-cli from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Command-line tools for Microsoft Azure | https://github.com/Azure/azure-cli
- zypper - azure-cli - 2.87.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: azure-cli from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Microsoft Azure CLI 2.0 | https://github.com/Azure/azure-cli
- MacPorts - azure-cli: normalized package name match | MacPorts ports tree: sysutils/azure-cli/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - azure-cli: normalized package name match | Chocolatey community package catalog: azure-cli from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','autodesk-fusion360'
- Scoop - main/azure-cli: normalized package name match | Scoop official bucket manifest trees: bucket/azure-cli.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - Microsoft.AzureCLI: normalized package name match | Windows Package Manager source index: Microsoft.AzureCLI from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Cloud CLI packages](https://www.automicvault.com/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [openssl@3](https://www.automicvault.com/pkg/brew/openssl-3/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [azcopy](https://www.automicvault.com/pkg/brew/azcopy/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [azqr](https://www.automicvault.com/pkg/brew/azqr/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [aztfexport](https://www.automicvault.com/pkg/brew/aztfexport/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [azure-dev](https://www.automicvault.com/pkg/brew/azure-dev/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [azurite](https://www.automicvault.com/pkg/brew/azurite/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [static-web-apps-cli](https://www.automicvault.com/pkg/brew/static-web-apps-cli/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [terracognita](https://www.automicvault.com/pkg/brew/terracognita/) - Shares av.db curated category or tags: azure, cli, cloud-infrastructure.
- [actions-batch](https://www.automicvault.com/pkg/brew/actions-batch/) - Shares av.db curated category or tags: cli, cloud-infrastructure.
- [aws-sam-cli](https://www.automicvault.com/pkg/brew/aws-sam-cli/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, cloud, cloud-infrastructure, infrastructure, libyaml.
- [ansible](https://www.automicvault.com/pkg/brew/ansible/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, cloud, cloud-infrastructure, infrastructure, libsodium.

## 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
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
- curated agent safety answer
