# X_HEALTH_ROW_UNREADABLE

## Means

`scripts/health.ts` could not read a row's command, so no verdict for that row exists

## Typical cause

the row's command failed, threw, or printed nothing the row could read — `git` or `gh` missing from `PATH`, a refused or unauthenticated `gh`, or a child script that answered without its JSON document. A checkup answering over a row it never read would file verdicts over nothing, so the whole result is `cannot tell` with no `data`, and the `cause` names the row and the command that failed. release-due's own refusal passes through verbatim, its findings becoming this result's findings; registry-audit's refusal does not pass through — it is the `npm-serves-tree` row's `unhealthy` verdict, with registry-audit's finding codes in that row's reason

## Fix

`bun run scripts/health.ts --json` — re-run once the command the cause names answers

[CLI and verify](/error-codes#cli-and-verify)
