macOS
brew install homeassistant-clilocal Homebrew formula metadata
brew
Command-line utility for Home Assistant. Version 1.0.0 via Homebrew; verified 2026-06-09.
install
brew install homeassistant-clilocal Homebrew formula metadata
overview
Command-line utility for Home Assistant
history
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.
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.
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.
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.
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.
security posture
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.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
hass-cli | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/home-assistant-ecosystem/home-assistant-cli
install metadata
| Package key | brew:homeassistant-cli |
|---|---|
| Version | 1.0.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/homeassistant-cli |
| 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 |
| Pulse | updated |
| Dependencies | certifi, python@3.14 |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sequoia, sonoma, tahoe, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| 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 |
|
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.