OwnLLM Docs
CLI

doctor

Run a full diagnostic of the local OwnLLM install — pairing, secrets, runtimes, daemon, host.

ownllm doctor

Walks the whole stack and prints PASS / WARN / FAIL for each step. It's the first thing to run when something feels off; the output is also exactly what support asks for.

Sample output

ownllm doctor

[PASS]  CLI version            v0.4.2 (stable channel)
[PASS]  Paired                 tenant=acme-prod
[PASS]  Secrets store          macOS Keychain (service=ai.ownllm.cli)
[PASS]  Runtime: ollama        v0.6.4, accelerators=[metal, mlx]
[PASS]  Runtime: cloudflared   v2025.10.1
[WARN]  Disk free              42 GB on /  (recommended: 100 GB+)
[PASS]  Daemon                 online via launchd, pid 8421
[PASS]  Heartbeat              last sent 12s ago
[PASS]  Tunnel                 acme-agent.ownllm.app reachable
[PASS]  Gateway                127.0.0.1:11435 healthy
[PASS]  Models                 2 ready, 0 downloading

3 PASS · 1 WARN · 0 FAIL

What each step checks

StepWhat it does
CLI versionReads --version. Warns if older than the manifest pin.
PairedLooks up the agent token in the keychain.
Secrets storeConfirms the keychain backend is reachable.
RuntimesCalls runtime list; reports outdated or absent.
Disk freeWarns under 100 GB; FAIL under 10 GB.
DaemonAsks the OS service manager + the IPC socket.
HeartbeatAsks the site when it last received one.
TunnelDNS-resolves the tunnel hostname + an HTTPS healthcheck.
GatewayLocal HTTP healthcheck on the OpenAI proxy.
ModelsReports the count and any in-flight downloads.

Exit codes

CodeCondition
0All steps PASS or WARN
1One or more FAIL

CI hosts tend to reject WARN; pass --strict to make WARN fail too.

When to share doctor output

  • A model won't load (FAIL on disk free? RAM? VRAM?)
  • The chat UI says "agent offline" (FAIL on tunnel or daemon?)
  • API requests time out (FAIL on gateway or heartbeat?)

doctor redacts the agent token and tunnel credentials from its output — it's safe to paste into a support email or a GitHub issue.

  • status — lighter-weight, runs without the full prerequisite walk.
  • logs --follow — when doctor says a runtime is degraded.

On this page