Skip to content
Latchkey

biome --reporter=github: PR Annotations in Actions

The --reporter=github flag formats Biome diagnostics as GitHub Actions workflow commands so they show up as inline annotations on the PR.

Inline annotations put the error on the exact line in the diff. It is a one-flag improvement to any Biome step running in GitHub Actions.

What it does

With --reporter=github, Biome prints each diagnostic using the GitHub Actions ::error and ::warning workflow command syntax, including file, line, and column. The Actions runner turns those into annotations attached to the matching lines in the pull request.

Common usage

Terminal
# in a GitHub Actions step
npx @biomejs/biome ci --reporter=github ./src
# also works on check, lint, format
npx @biomejs/biome check --reporter=github .

Options

ReporterWhat it does
--reporter=githubGitHub Actions annotations (::error/::warning)
--reporter=junitJUnit XML for test-report tooling
--reporter=summaryA condensed end-of-run summary
--reporter=gitlabGitLab Code Quality JSON report
--reporter=jsonMachine-readable JSON diagnostics

In CI

Add --reporter=github only when running inside GitHub Actions; locally it produces noisy ::error lines. The flag changes output formatting only, not exit codes, so the job still fails on error-level diagnostics exactly as before.

Common errors in CI

If annotations do not appear, the step is probably not running in GitHub Actions, or the diagnostics are warnings while the UI is filtered to errors. The reporter does not change pass/fail; a green job with no annotations simply means no error-level diagnostics. JSON/JUnit reporters write to stdout, so redirect them to a file if a later step consumes the report.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →