<!-- Canonical page: https://docs.radforge.dev/reference/outputs/ -->

# Outputs and exit behavior

Interactive commands default to concise human-readable output. Use `--json` for scripts and integrations.

Planning output lists source files, mutation candidates, selected tests, and run requirements. Submission output says whether Radforge created a run and includes the run record. Status output includes the run and its attempts. Findings output includes survivor records.

Invalid command syntax, missing options, an invalid endpoint, missing authentication, and remote service failures return a nonzero exit status and an error on standard error. Scripts should check the exit status. When using `--json`, also check that the expected fields are present.

Run state is separate from command success. A successful `remote status` request can report a failed, canceled, or otherwise terminal run. Inspect the returned run and attempt states before consuming findings.

Scripts may rely on documented JSON field names. Terminal wording and formatting may change between releases.
