Skip to main content

Inspect and doctor

PreviewAvailable on: WindowsShips in the preview channel only. Not a stable release.

Finding out what is actually happening, rather than what the interface implies.

When something is not working, the useful move is to look at state rather than at output. These are the tools for that.

/doctor

/doctor

Reports what Harmony resolved: daemon reachability, resolved data directory, detected providers with their paths and versions, runtime prerequisites.

That list is deliberately the boundary of Harmony's knowledge. It will not tell you whether you are authenticated to a provider or what your plan includes, because Harmony cannot see either.

From a shell:

nala doctor
nala doctor --json

/trace

/trace

Opens the trace view for the current work — spans, timing, and what actually ran. Use it when a turn completed but did something unexpected, rather than guessing from the transcript.

/context and /memory

/context
/memory

/context shows what is currently loaded into the model's context. /memory shows what persists across turns.

Most "the agent forgot" complaints are a context problem, and /context answers it directly rather than by inference.

/usage

/usage

What has been consumed in this session.

IMPORTANT

This reflects what Harmony observed. It is not a bill, and it is not your provider's authoritative usage record. Harmony cannot read your quota or plan.

/agents and /tasks

/agents
/tasks

The two questions that matter when a fleet looks busy: who exists, and what state is their work in.

NOTE

A process being alive is not progress. Read task state rather than inferring from scrolling output. See delivery lifecycle.

Structured errors

Failures carry codes with a retryable flag, and transport failures are a separate union from domain failures:

CodeMeans
DAEMON_NOT_CONNECTEDNo daemon reachable
DAEMON_TIMEOUTDaemon did not respond in time
DAEMON_CANCELLEDThe call was cancelled
DAEMON_RPC_ERRORThe call failed at the daemon

Seeing one of these means infrastructure, not a model refusing. That distinction saves a lot of wasted debugging.

Before reporting a problem

  1. nala version
  2. What you did, expected, and got
  3. nala doctor --json, reviewed and redacted
  4. Whether it reproduces in a fresh workspace

Point 4 separates state problems from build problems and is worth the extra minute.

WARNING

Diagnostics contain absolute paths, workspace and repository names, and provider details — routinely revealing usernames and unreleased project names. Read before sharing.