# Exit codes

> croft docs exit-codes

```text
CODE   MEANING
0      ok
1      an asset failed, or status --check found something unhealthy
2      invalid project or usage
3      blocking checks failed, and nothing else failed
4      busy (lock or lease wait exceeded)
5      needs a human (confirmation or a human-only step)
6      still running (detached run, wait)
130    interrupted
```

Precedence: 1 if anything other than a check failed; 3 only when every failure is CHECK_FAILED; 6 while a
detached run is still going; 5 when the only outcome is a pending confirmation.
In --json, ok means the command itself worked (status exits 0 even when an asset is unhealthy; status --check
exits 1 and data.healthy carries health).

The same page is in the CLI: `croft docs exit-codes`.

Source: https://croft.zabaca.com/docs/reference/exit-codes/
