Most node problems come down to one of a handful of causes: no runtime running, a model that is not installed or not ready, an unsatisfied route-readiness gate, a daemon that is below the minimum version, or an expired claim code. This page walks through each one with the command that confirms it.

Run doctor first

Before anything else, run b3iq-host doctor. It checks identity, the local listener, installed runtimes, and model readiness in one pass, and points you at the specific gate that is failing.

Diagnostic Commands

CommandWhat it tells you
b3iq-host doctorOne-shot health check: identity, listener, runtimes, and model readiness.
b3iq-host runtimesWhich inference engines are installed and reachable, and which are offline.
b3iq-host statusEnrollment, node identity, and current node state.
b3iq-host versionThe running host-agent build version.
b3iq-host logs -fTail live host-agent logs while you reproduce a problem.
curl --fail http://127.0.0.1:8831/healthConfirm the local listener is up and answering on loopback.
b3iq-host support-bundleGenerate a redacted diagnostics bundle to attach to a support request.
Support bundles are redacted

b3iq-host support-bundle is built to omit secrets — local API keys, node private key material, setup tokens, prompts, and outputs. It is safe to share for diagnostics. Still review the contents before sending if your environment is sensitive.

The commands above run on the machine itself. The b3iq CLI is a separate account-level tool — sign in once and check any of your machines from anywhere, without a local shell on the node:

CommandWhat it tells you
b3iq doctorAccount-side check: auth, API reachability, and the SSH transport.
b3iq logs --followStream recent gateway request logs for your account.
b3iq ssh <machine>Open an SSH session to a machine by name, without a manual ProxyCommand.

Common Blockers

No inference engine is running or installed, so the node cannot serve any model.

Run b3iq-host runtimes to see what is installed and reachable. If the list is empty or every engine shows offline, install one from the setup wizard — it picks an engine that suits your hardware and starts it for you. Re-run b3iq-host runtimes afterward to confirm the engine reports ready.

A runtime is up, but the model the router would dispatch is not installed, is still downloading, or has not finished its first load.

Pick a model profile your machine can actually serve, then watch the install job to completion. The wizard surfaces install progress; you can also tail b3iq-host logs -f while the download and first load run. To see install status (installed, downloading, ready) for every profile, list GET /v1/model-profiles; GET /v1/models lists only the models that can answer right now. A model only counts as ready once it has loaded and can answer — "downloaded" is not the same as "ready". See model readiness for the full profile fields.

A machine switched to Earn mode serves no B3IQ inference by design — it is offered to external GPU marketplaces instead, and SSH and health telemetry are turned off along with it. This is the first thing to check when a machine you expect to be serving looks unreachable or idle.

Switch the machine back to Bare metal from its page in the dashboard to resume serving your own inference and restore SSH.

The node is online but not receiving routed work. Routing requires more than an installed model — several independent gates must all pass:

  • Route — tunnel and public inference are healthy.
  • Protocol — the node is registered and active.
  • Model — the profile is installed and ready.
  • Benchmark — fresh benchmark evidence has been observed for the profile.
  • Customer policy — the caller's key accepts the model (key scoping).

To see exactly which gate is blocking you, open your node's page in the explorer or read route readiness, which lists every blocker and the matching operator action.

The dashboard warns when your running daemon is below the minimum supported version, and prompts you to update so the node stays current with protocol and readiness changes.

Update the host agent, then confirm with b3iq-host version and b3iq-host doctor. See updates for the per-OS update procedure.

Claim codes are short-lived — roughly 15 minutes — so a code left open in a browser tab will often have expired by the time you use it. If the dashboard is stuck on step 1 or rejects the code, regenerate a fresh one and claim again promptly.

An unclaimed node can be re-claimed safely, so regenerating does not strand the machine. If the node already shows as enrolled in b3iq-host status, you do not need a new claim code.

The host agent listens on loopback only by default:

text
http://127.0.0.1:8831

From the machine itself, curl --fail http://127.0.0.1:8831/health should succeed. If it does not, the daemon is not running — check b3iq-host status and b3iq-host logs -f. If you are trying to reach the listener from another device on your LAN, note that LAN exposure is opt-in and requires explicit configuration plus network controls; loopback will not answer remote requests by design.

Routed inference — requests sent through your account's API keys — reaches your node through a Cloudflare tunnel. If the route shows disconnected, you have two options from the host menu:

  • Rotate the tunnel to issue fresh credentials while keeping the same route — use this for a transient or stuck connection.
  • Revoke the tunnel to tear down public inference entirely — use this when you are taking the node offline or suspect the credential is compromised.

Prefer rotate for recovery; reserve revoke for intentional teardown. After rotating, re-run b3iq-host doctor and confirm the route gate clears in route readiness.

When To Escalate

B3IQ watches your machines too

An offline machine, a GPU running hot, or a disk nearly full triggers an automatic email to the machine's owner — you don't have to be staring at the dashboard to catch a real problem.

1

Capture the failing gate

Run b3iq-host doctor and note which check fails. Most problems resolve at this step.

2

Reproduce with logs tailing

Keep b3iq-host logs -f open and reproduce the problem so the relevant log lines are captured.

3

Generate a redacted bundle

Run b3iq-host support-bundle. It is built to keep secrets out.

4

Open a ticket

File the problem, with the bundle attached, from the Support tab in your dashboard.

Route readiness

Every route, protocol, model, benchmark, and customer-policy gate, with the operator action for each.

Learn More
Model readiness

Model profile fields, route tiers, and what "ready" means.

Learn More
Updates

Keep the daemon at or above the minimum version, per OS.

Learn More
Host agent

The local service, its listener, and the full CLI command map.

Learn More
Ask a question... ⌘I