> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fallow.tools/llms.txt
> Use this file to discover all available pages before exploring further.

# fallow report

> CLI reference for fallow report. Render saved JSON results as CI artifacts, summaries, PR comments, or inline-review envelopes without re-running analysis.

Render a saved `--format json` results file in another format without re-running
analysis. Analyze once, retain JSON as the provenance-bearing artifact, then
derive every CI presentation from that same result.

```bash theme={null}
fallow check --type-aware --format json -o results.json
fallow report --from results.json --format github-annotations
fallow report --from results.json --format pr-comment-github > comment.md
fallow report --from results.json --format review-github > review.json
```

The command dispatches on the envelope's `kind`, so any saved fallow result
renders: `dead-code`, `dupes`, `health`, `audit`, `security`, or the bare
combined run. Supported targets are:

* `github-annotations` and `github-summary`
* `codeclimate` and `sarif`
* `pr-comment-github` and `pr-comment-gitlab`
* `review-github` and `review-gitlab`

The PR-comment and review targets preserve the saved audit conclusion, diff
positions, ownership grouping, and repository path prefix. Type-aware `check`
and `audit` results render their final semantically refined findings rather
than the earlier syntactic candidates. When semantic evidence is required but
incomplete, the analysis run fails closed instead of saving an apparently
clean presentation.

GitHub annotations and summaries are log-based, so they work on fork PRs
without a write token. PR-comment and review envelopes still need the provider
posting step described in [CI integration](/integrations/ci).

## Options

| Flag                    | Description                                                                                                                                                  |
| :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--from <PATH>`         | Path to a fallow JSON results file produced by `--format json` (required)                                                                                    |
| `-f, --format <FORMAT>` | Target format: `github-annotations`, `github-summary`, `codeclimate`, `sarif`, `pr-comment-github`, `pr-comment-gitlab`, `review-github`, or `review-gitlab` |
| `-r, --root <ROOT>`     | Project root directory (used for repository-root path rebasing)                                                                                              |
| `-q, --quiet`           | Suppress progress output on stderr                                                                                                                           |

## Exit code

Rendering is exit-neutral: `fallow report` exits 0 even when the saved file contains findings. Gating belongs to the analysis run that produced the file (`--fail-on-issues`, the audit verdict); use that run's exit code in CI and keep `report` as a pure rendering step.

## See also

<CardGroup cols={2}>
  <Card title="CI integration" icon="gears" href="/integrations/ci">
    The GitHub Action, GitLab template, and native workflow formats
  </Card>

  <Card title="Global flags" icon="sliders" href="/cli/global-flags">
    Repository-root path rebasing and `--report-path-prefix`
  </Card>
</CardGroup>
