Skip to content
Menu

How it works

Watch a run

Follow a qaren check or qaren pr run live, locally or over ssh.

sh
qaren watch <run-id>
qaren watch --latest
ssh -t host qaren watch --latest
ssh host qaren watch <run-id> --plain
qaren watch <run-id> --json

qaren watch reads one run from the run storage root. It takes no lock or device lease, so it never disturbs the run. check and pr print the command to watch their run when they start; only those two verbs produce the event stream it reads.

--latest picks the run whose run.json changed most recently. Running qaren watch with neither a run ID nor --latest is a usage error.

What it shows

  • Each stage from preflight through cleanup. A stage that was not needed says so; one that was never observed stays unobserved.
  • Each step's outcome and its act, capture and Jev timings, including steps that ran during login recovery.
  • Recording, and the verdict with the exit code qaren check will return.

Step text and reasons appear only once the run has ended, taken from the final privacy-projected ledger. For what live events retain, see the CLI guide's run identity and privacy contract.

Output modes

ModeBehaviour
TerminalRedraws every 250 ms and fits the rows to the terminal size. Ctrl-C exits only the viewer.
--plainPrints each final stage and each passed or failed step once, without escape codes.
--jsonPrints one snapshot of the run and exits without following it.

Output that is not a terminal, or CI or NO_COLOR in the environment, also selects plain output. A terminal narrower than 32 columns or shorter than 18 rows switches to plain output.

Run states

StateMeaning
LiveThe run has not ended and its process is alive or unknown
FinishedThe run's final event is present
Ended without final eventThe run's process is gone; its telemetry is incomplete
Telemetry unavailableThe run has no event stream, for example a run from before watch support

Exit codes

ExitMeaning
0The run finished or ended incomplete, whatever its verdict
1No such run
2Usage error
3Telemetry unavailable

Edit this page on GitHub