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

# check

```bash lines theme={"system"}
qlty check [OPTIONS] [PATHS]...
```

Run linters

By default, only changed files are analyzed. Use `--all` or specify paths to override this behavior.

Installs plugins and their required runtimes as needed before analyzing.

By default, issues are cached locally to speed up subsequent runs.

Must be run within a Git repository with Qlty initializd.

## Arguments

<AccordionGroup>
  <Accordion title="[PATHS]...">Files to analyze</Accordion>
  <Accordion title="-a, --all">Check all files, not just changed</Accordion>

  <Accordion title="--fix">
    Apply all auto-fix suggestions automatically. When combined with `--ai`, AI-generated fixes
    are applied without prompting for review. See [AI Autofixes Security
    Considerations](/cloud/ai-autofixes#security-considerations) for important guidance when
    using this flag.
  </Accordion>

  <Accordion title="--no-fix">Do not apply auto-fix suggestions</Accordion>

  <Accordion title="--ai">
    Generate AI-powered fixes using a large language model (requires Qlty Cloud authentication).
    AI fixes should be reviewed before applying. Using `--ai` with `--fix` applies AI
    suggestions automatically without review—see [Security
    Considerations](/cloud/ai-autofixes#security-considerations).
  </Accordion>

  <Accordion title="--unsafe">
    Allow fixes for rules that may produce incorrect results and require careful human review.
    By default, fixes for certain rules are blocked because they are more likely to need manual
    judgment. This flag removes those restrictions.
  </Accordion>

  <Accordion title="--no-formatters">Disable formatter checks</Accordion>
  <Accordion title="--no-progress">Disable progress bar</Accordion>
  <Accordion title="--no-fail">Exit successfully regardless of what issues are found</Accordion>
  <Accordion title="--no-error">Exit successfully regardless of linter errors</Accordion>

  <Accordion title="--sample <SAMPLE>">
    Sample results from a number of files for each linter
  </Accordion>

  <Accordion title="--level <LEVEL>">
    Minimum level of issues to show \[default: note] \[possible values: note, fmt, low, medium,
    high]
  </Accordion>

  <Accordion title="-j, --jobs <JOBS>">Maximum number of concurrent jobs</Accordion>
  <Accordion title="--filter <FILTER>">Filter by plugin or check</Accordion>
  <Accordion title="-v, --verbose...">Print verbose output</Accordion>
  <Accordion title="--summary">Print a summary of issues</Accordion>
  <Accordion title="--upstream <UPSTREAM>">Upstream base ref to compare against</Accordion>
  <Accordion title="--no-cache">Disable caching issues</Accordion>
  <Accordion title="--print-errors">Print errors to stderr</Accordion>

  <Accordion title="--fail-level <FAIL_LEVEL>">
    Minimum level of issues to fail on \[default: fmt] \[possible values: note, fmt, low, medium,
    high]
  </Accordion>

  <Accordion title="--sarif">SARIF output</Accordion>
</AccordionGroup>

## Examples

```bash Run linters on changed files on your current branch lines theme={"system"}
qlty check
```

```bash Run linters on all files lines theme={"system"}
qlty check --all
```

```bash Run only ESLint on all files lines theme={"system"}
qlty check --all --filter=eslint
```

```bash Run linters on the web/ folder lines theme={"system"}
qlty check web/
```

## See Also

* [`init`](/cli/commands/init)
* [`fmt`](/cli/commands/fmt)
* [Available Plugins](/plugins)
* [Excluding Files](/excluding-files)
* [Ignoring Checks and Issues](/cli/ignoring-issues)
* [Global Options](/cli/global-options)
