Skip to main content

Missing Control Plane Login

If a Control Plane command says you are not authenticated:
tm auth login
tm auth whoami
tm doctor
For automation, use tm auth status --exit-status when you need a shell-friendly local readiness check for both the Control Plane token and the current gateway credentials. tm auth status only reports local credential presence; tm auth whoami is the live validation step. If tm auth login appears to wait forever in a remote shell, rerun it with an explicit ceiling such as tm auth login --no-open-browser --max-wait-seconds 60.

Missing Gateway Credentials

If tm infer chat reports a missing API key, user id, or model name, sync the managed gateway values first:
tm auth login
tm init --sync
tm infer doctor --exit-status
Control Plane auth does not substitute for a gateway API key by itself, but it is what allows tm init --sync to fetch and persist the gateway settings. If a streaming request stalls because the upstream stops sending events, rerun with a smaller or larger idle timeout:
tm infer chat --stream --stream-idle-timeout 60 --json '[{"role":"user","content":"hi"}]'

Config Resolution Confusion

If the CLI is picking up the wrong config or env values:
tm config show
tm config show --sources
tm doctor --exit-status
Use tm infer doctor --exit-status when you specifically want to gate a direct inference path. Use tm auth status --exit-status when you specifically want to gate the broader local auth-and-gateway prerequisites.

TLS Or Connectivity Problems

If your environment needs a custom CA bundle:
export TENSORMESH_CA_BUNDLE="/path/to/ca-bundle.pem"
tm doctor