Do your day-to-day hub jobs from a shell: list your devices, run a command on a machine, restart a container, read logs or acknowledge an alert. Every command can print JSON, so it fits in scripts, cron jobs and AI agents too.
labtether-cli assets list
labtether-cli exec <asset> "uptime"
labtether-cli exec <asset> -- df -h
labtether-cli docker restart <container>
labtether-cli alerts list --jsonDownload the file for your platform from the
latest release
and put it on your PATH as labtether-cli. Builds are there for Linux,
macOS and Windows on x86-64 and ARM64.
To check the download's checksum and GitHub attestation first, and for the extra step macOS needs for files downloaded in a browser, see docs/install.md.
To build from source with Go instead, see
Build from source. go install does not
install v2 releases.
labtether-cli config set-host https://your-hub:8443
labtether-cli config set-ca /path/to/labtether-ca.crt # if your hub uses its own CA
labtether-cli config set-key # asks for your API key
labtether-cli whoami # what this key can reach
labtether-cli assets listCreate the API key in the hub. Give it only the scopes you need.
| Command | Description |
|---|---|
assets |
List and inspect managed assets |
agents |
Manage agent registrations and approvals |
exec |
Run a command on a remote asset |
services |
Manage system services on remote assets |
docker |
Inspect Docker hosts and containers; start, stop, restart, and read container logs |
files |
Browse directories and read remote files |
ps |
List and manage processes on assets |
alerts |
List, acknowledge, and resolve alerts |
incidents |
View and manage incidents |
updates |
Manage update plans and runs across fleet |
connectors |
Inspect and test configured hub connectors (Proxmox, TrueNAS, etc.) |
proxmox |
Interact with Proxmox clusters, VMs, and Ceph |
truenas |
Interact with TrueNAS pools, datasets, and shares |
pbs |
Interact with Proxmox Backup Server |
topology |
Explore asset dependency graphs and blast radius |
discovery |
Trigger scans and manage discovery proposals |
search |
Search across all hub objects |
audit |
View the audit event log |
config |
Manage CLI configuration (host, API key) |
whoami |
Show API key info, scopes, and accessible assets |
Run labtether-cli --help for everything, or labtether-cli <command> --help
for one command.
Add --json to get machine-readable results. Hub commands print the hub's
data payload, and config changes print a small status object. A failure
exits nonzero and prints an error object, unless a result was already
printed. A failed remote exec keeps its result and its nonzero exit code.
files cat always streams the original bytes and docker logs always prints
log text, even with --json; their errors go to standard error.
Settings are read in this order, first match wins:
- Flags:
--host,--api-key-fileand--tls-ca-fileon any command - Environment:
LABTETHER_HOST,LABTETHER_API_KEYandLABTETHER_TLS_CA_FILE - Config file:
~/.config/labtether/config.json, written byconfig set-host,config set-caandconfig set-key
If you work with an AI coding agent, point it at AGENTS.md first. It covers the layout, the checks to run and the house rules.
- CLI guide, LabTether docs and GitHub Discussions
- Security issues: report privately as described in SECURITY.md
Apache 2.0. Copyright 2026 LabTether.