Skip to main content
When hirotm fails, it exits with a non-zero status. With the default global --format ndjson, stderr is JSON: an object that always includes error (a short human-readable message). It usually includes code (a stable machine-readable string) and sometimes retryable, hint, status, url, or extra fields that help you fix the command. With --format human, the same information is printed as plain text on stderr (not JSON). Use exit code ($? in shells) for coarse decisions, and code when you want a precise reason without parsing text.
Success stdout follows global --format (ndjson vs human). Failures use stderr; ndjson → JSON payload, human → plain text.

Exit codes

Fields on stderr

Common code values (from the API)

These appear when the CLI talked to the server and got an HTTP error:

Common code values (before the API)

These are checked locally when your flags or files are wrong:

Connection and server process

Other

Example (stderr only)