# Install homeassistant-cli with Homebrew

Command-line utility for Home Assistant. Version 1.0.0 via Homebrew; verified 2026-06-09.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install homeassistant-cli
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:homeassistant-cli
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/homeassistant-cli>
- **Version:** 1.0.0
- **Source summary:** Command-line utility for Home Assistant
- **Homepage:** <https://github.com/home-assistant-ecosystem/home-assistant-cli>
- **Repository:** <https://github.com/home-assistant-ecosystem/home-assistant-cli>
- **Upstream docs:** <https://github.com/home-assistant-ecosystem/home-assistant-cli#readme>
- **License:** Apache-2.0
- **Source archive:** <https://files.pythonhosted.org/packages/42/9b/9b92e5db7510336aadfe20481eee705d09f01f2a445683cea04140015895/homeassistant_cli-1.0.0.tar.gz>
- **Last updated:** 2026-06-09T11:20:01Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- hass-cli (cli)
- hass-cli (alias)

## Dependencies

- certifi
- python@3.14

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.0.0
- Package-manager updated: 2026-06-09
- Local data: ok
- Upstream repository: https://github.com/home-assistant-ecosystem/home-assistant-cli
- info: No cached GitHub release or tag data was available.
## Project history and usage

Home Assistant CLI, invoked as hass-cli, is a Python command-line client for working with local or remote Home Assistant instances. It wraps Home Assistant APIs in a shell-friendly interface for listing states, calling services, rendering templates, querying history, using completions, and scripting common smart-home tasks.

### Project history

The project was initially started by Fabian Affolter and then developed further by Max Rydahl Andersen, according to the official Home Assistant announcement. That announcement framed hass-cli as a missing command-line layer for Home Assistant users who wanted auto-completion, scripting, and direct access without replacing the browser UI.

Early PyPI metadata shows a 0.0.2 release in November 2018. The official announcement describes the 0.4 era as a cleanup point where commands became more logical and explicit, table output became the default for many operations, and common Home Assistant operations were exposed as CLI subcommands. Later README examples show broader coverage, including state, device, area, event, service, config, integration, template, and Home Assistant Operating System related commands.

### Adoption history

Home Assistant CLI adoption is tied to Home Assistant's power-user culture: people who automate homes often also automate their automation system. The official README lists installation through pip, Fedora/EPEL packages, Homebrew, NixOS, and Docker, which reflects use across workstations, development shells, and containers.

The Home Assistant community thread around the announcement shows the package-manager angle clearly: by August 2019, users were discussing Homebrew version lag and release automation for the formula. That is a small but telling sign that hass-cli was expected to behave like a normal developer CLI, not just a Python library.

### How it is used

A typical setup exports HASS_SERVER and HASS_TOKEN after generating a long-lived Home Assistant token. The README also documents HASS_SUPERVISOR_TOKEN for supervisor access, HASS_PASSWORD for older password-based access, client certificate support, and shell completion for bash, zsh, and fish.

Common commands include hass-cli state list, state get, state history, service list, service call, config release, event watch, device list, area create or assign, raw API calls, and template rendering. The CLI can emit table, JSON, YAML, NDJSON, and other table formats, which is why it fits shell pipelines and scripts.

### Why package nerds care

Home Assistant CLI is package-nerd significant because it is the shell bridge into a popular self-hosted automation platform. It converts a web-and-API product into something scriptable with environment variables, completions, JSON/YAML output, and package-manager installs.

It also illustrates the messier side of Python CLI packaging: pip releases, distro packages, Homebrew formula updates, Docker wrappers, and Home Assistant's own supervisor CLI world overlap. For a package maintainer, the interesting parts are dependency freshness, token handling, and keeping the CLI aligned with evolving Home Assistant APIs.

### Timeline

- 2018: PyPI records homeassistant-cli 0.0.2.
- 2019: Home Assistant announcement introduced hass-cli to the wider Home Assistant audience around the 0.4 era.
- 2019: Homebrew packaging lag and formula automation were discussed in the official community thread.
- 2020: PyPI records the 0.9.0 line.
- 2022: PyPI records 0.9.6.
- 2026: PyPI records 1.0.0.

### Related projects

- Home Assistant is the parent platform and API target. The separate home-assistant/cli project is related but different: it provides the ha command for Home Assistant Supervisor interaction. Home Assistant Operating System, the Supervisor API proxy add-on, and the Home Assistant developer docs are adjacent because hass-cli can work with supervisor-related commands when configured.

### Sources

- <https://community.home-assistant.io/t/introducing-home-assistant-cli-aka-hass-cli/97113 - official community discussion for packaging and Homebrew release-lag context.>
- <https://github.com/home-assistant-ecosystem/home-assistant-cli - official README for setup, commands, installation channels, and environment variables.>
- <https://pypi.org/project/homeassistant-cli/0.0.2/ - PyPI release metadata and early project description.>
- <https://www.home-assistant.io/blog/2019/02/04/introducing-home-assistant-cli/ - official Home Assistant announcement for origin, motivation, and 0.4-era behavior.>


## Security Notes

No matching local secret-handling manifest was found for homeassistant-cli. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

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


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [Productivity CLI packages](https://www.automicvault.com/pkg/productivity-cli-packages/) - Matched curated productivity category metadata from av.db.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [go-hass-agent](https://www.automicvault.com/pkg/brew/go-hass-agent/) - Shares av.db curated category or tags: cli, home-assistant, home-automation, productivity.
- [teslamate](https://www.automicvault.com/pkg/brew/teslamate/) - Shares av.db curated category or tags: cli, home-automation, productivity.
- [tronbyt-server](https://www.automicvault.com/pkg/brew/tronbyt-server/) - Shares av.db curated category or tags: cli, iot, productivity.
- [a2ps](https://www.automicvault.com/pkg/brew/a2ps/) - Shares av.db curated category or tags: cli, productivity.
- [abook](https://www.automicvault.com/pkg/brew/abook/) - Shares av.db curated category or tags: cli, productivity.
- [acronym](https://www.automicvault.com/pkg/brew/acronym/) - Shares av.db curated category or tags: cli, productivity.
- [ad](https://www.automicvault.com/pkg/brew/ad/) - Shares av.db curated category or tags: cli, productivity.
- [aerc](https://www.automicvault.com/pkg/brew/aerc/) - Shares av.db curated category or tags: cli, productivity.
- [buku](https://www.automicvault.com/pkg/brew/buku/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, command-line, line, productivity.
- [gcalcli](https://www.automicvault.com/pkg/brew/gcalcli/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, command-line, line, productivity.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
