Overview
The ownllm CLI — single static binary that pairs, runs, and manages your private AI agent from the terminal.
ownllm is a single static binary that does everything the
Atlas desktop app does — pair the host,
manage the runtimes, serve the OpenAI-compatible gateway — without a
GUI. It's the right pick for VPS, GPU servers, and any host without
a display.
Install
See Install on Linux, macOS, or Windows.
Top-level commands
ownllm pair <key> # one-shot pairing from your tenant
ownllm unpair # remove credentials and stop the daemon
ownllm status # online/offline summary
ownllm run # run the daemon in the foreground
ownllm start # delegate to the OS service manager
ownllm stop # graceful shutdown over IPC
ownllm restart [TARGET] # ollama | cloudflared | gateway | all
ownllm logs [--follow] # tail merged stdout/stderr
ownllm models <action> # list / install / remove / config
ownllm runtime <action> # list / update / ensure
ownllm recipes <action> # list / install / delete
ownllm service <action> # install / uninstall / status
ownllm update [--channel] # self-update on stable | beta
ownllm config <action> # get / set local config keys
ownllm doctor # full diagnosticownllm <command> --help prints the full flags and arguments for any
sub-tree.
Where things live
The CLI follows the XDG base directory spec. On Linux:
| Path | |
|---|---|
| Config | ~/.config/ownllm/ |
| State / logs | ~/.local/state/ownllm/logs/ |
| Data (runtimes, SQLite) | ~/.local/share/ownllm/ |
| IPC socket / PID | $XDG_RUNTIME_DIR/ownllm/ |
| Secrets | OS keychain (service=ai.ownllm.cli) |
On macOS those map to ~/Library/Application Support/ownllm/ and
friends. On Windows: %APPDATA%\ownllm\ (config),
%LOCALAPPDATA%\ownllm\ (state and data), and the Windows Credential
Manager (secrets).
Exit codes
Stable POSIX exit codes so scripts can branch on the failure mode:
| Code | Meaning |
|---|---|
0 | Success |
1 | Generic I/O failure |
2 | Invalid argument or pairing key |
3 | Config file missing or corrupt |
4 | Secret store unreachable |
5 | Network error talking to the site |
6 | Non-2xx response from the site |
7 | Not paired |
64 | Subcommand not yet implemented (EX_USAGE) |
Next
ownllm pair— start here.ownllm doctor— when something's off.ownllm config— the TOML schema.