Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
GitHub
262 stars
Latest release
5.5.0
Date

About

Command-line interface for managing your Home Assistant install — control add-ons, restart core, inspect logs, all from the terminal.

What it does

Home Assistant CLI is a terminal client for the Supervisor service. Its command tree covers system information, user authentication, backups, networking, storage mounts, audio, Docker settings, operating system tasks, and Supervisor-managed apps. It sends requests to a configurable endpoint, authenticates with a token, and can return human-readable output or raw JSON.

Why it's ranked here

This is a focused administrative tool with unusually broad coverage of Supervisor-managed operations. It supports both interactive troubleshooting and script-friendly JSON, while contextual completion reduces mistakes when selecting apps or mounts. Its strongest case is on Home Assistant Operating System, where distribution and updates are handled automatically. Remote use requires extra setup, so it is less convenient as a general workstation utility.

What's good

The command structure groups related operations clearly across core, host, network, backups, apps, and supporting services. Global options work through flags or environment variables, which suits both direct use and automation. Log handling supports following output, limiting entry counts, selecting a boot, and requesting verbose records. Completion suggestions inspect current app and mount data, then filter choices according to the requested action.

Tradeoffs

The tool is tightly coupled to the Home Assistant Supervisor rather than being a general Home Assistant client. Remote development requires a separate remote API app and its issued token. Some commands can make consequential host changes, including shutdown, reboot, hostname changes, upgrades, downgrades, and mount configuration. Following logs deliberately disables request timeouts, so an unattended session can remain open indefinitely.

How to use it well

Use it for operators who administer a Supervisor-based installation from its device terminal, SSH app, or controlled scripts. Prefer raw JSON when another program will consume results, and environment variables when supplying endpoint and authentication settings in automation. Use targeted log options during diagnosis instead of collecting unlimited output. It does not replace browser or app configuration; its own readiness banner directs users to those interfaces for configuration.

Technical notes+

README.md defines the Cobra-style command surface, global flags, Supervisor-prefixed environment variables, CLI-container distribution, and remote development flow. go.mod declares a Go module using Cobra, pflag, Viper, Resty, YAML support, and terminal utilities. main.go sets warning-level logging, calls cmd.Execute(), and converts cmd.ExitWithError into process status 1. cmd/apps.go uses GenericJSONGet for listing and dynamic action-aware completion. cmd/host.go builds followable log requests with optional Range and boot path parameters, disabling timeouts for streaming. cmd/banner.go polls Supervisor networking for up to three minutes before reporting system addresses. cmd/mounts.go maps CIFS and NFS flags into Supervisor options and derives completions from live mount metadata.

Observed

Primary language
Go
Interface
Command-line interface backed by Home Assistant Supervisor requests
Packaging
Provided through the CLI container on Home Assistant systems
Platform support
Available in the device terminal on Home Assistant Operating System
Update surface
Automatically updated on Home Assistant Operating System installations
Additional access
Available through the SSH app and some community apps
Build system
Go modules with a statically buildable binary when CGO is disabled

Read from README.md, go.mod, main.go, cmd/cli.go, cmd/dns.go, cmd/apps.go, cmd/auth.go, cmd/core.go, cmd/host.go, cmd/info.go, cmd/jobs.go, cmd/audio.go, cmd/banner.go, cmd/docker.go, cmd/mounts.go.

What it can do

  • Control Home Assistant add-ons

    Add-on commands and parametersAdd-on status changes and confirmation messages

  • Restart Home Assistant core

    Restart commandCore restart confirmation and status

  • Inspect Home Assistant logs

    Log inspection commandsSystem logs and error messages

  • Manage Home Assistant installation

    Installation management commandsInstallation status and configuration updates

  • Monitor Home Assistant system status

    Status check commandsSystem health and performance metrics

Tags

clihome-assistantautomationgo

Tech Stack

Go

Media

Home Assistant CLI

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.