> ## Documentation Index
> Fetch the complete documentation index at: https://lightdash-refactor-full-audit-reorg.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Lightdash Validate

> You can check to see if your changes break any of the content in your project using `lightdash validate`. This command will run the validator which will return a list of content in your project that is broken and details about the errors.

You can trigger a validation on a project using the Lightdash CLI so you can check locally if your changes will break anything. You can also add `lightdash validate` to your [GitHub Actions](#configure-github-actions) so changes can't be merged unless they pass the validation. For what the validator checks and every way it runs, see [Validating your content](/workflow/validating-your-content).

## Usage

<Frame>
  <img src="https://mintcdn.com/lightdash-refactor-full-audit-reorg/fyNjhJAU0n2GM0Ea/images/workflow/cli/validate/cli-validate-a18f39c4e5dc0eab842d963fe17188a0.png?fit=max&auto=format&n=fyNjhJAU0n2GM0Ea&q=85&s=e54a70f3ca8842d4f2457f9f00a831ab" alt="CLI validate" width="1148" height="262" data-path="images/workflow/cli/validate/cli-validate-a18f39c4e5dc0eab842d963fe17188a0.png" />
</Frame>

### Validate your changes against your project by running lightdash validate

You can run `lightdash validate` to check if your changes break any of the content in production. By default, `lightdash validate` will check your changes against the content in the project you've selected on the CLI. You can change your project using `lightdash config set-project`.

```bash theme={null}
lightdash validate
```

Optionally you can use the `--preview` argument to validate your last preview environment created from the CLI.

You will get a list of errors if your local files are going to break some content on your project. These errors will not be reflected on the validation table on Lightdash settings.

### Validate any project using the project UUID

You can run a validation on any project by specifying the project UUID in the `lightdash validate` command.

```bash theme={null}
lightdash validate --project <project uuid>
```

**Note:** you can get your project UUID from the Lightdash URL by selecting the ID after the `projects/`

<Frame>
  <img src="https://mintcdn.com/lightdash-refactor-full-audit-reorg/fyNjhJAU0n2GM0Ea/images/workflow/cli/cli-lightdash-help-86d9d11f57ca516a722c0dfcf8f2919a.png?fit=max&auto=format&n=fyNjhJAU0n2GM0Ea&q=85&s=976f12b5c5b2a7034c5473d275171705" alt="" width="1870" height="1408" data-path="images/workflow/cli/cli-lightdash-help-86d9d11f57ca516a722c0dfcf8f2919a.png" />
</Frame>

### Validate only specific elements of your project

You can select which parts of your project you would like to validate using the `--only` argument.

```bash theme={null}
lightdash validate --only tables charts dashboards
```

Available options:

* `tables`

* `charts`

* `dashboards`

### Use strict compilation

Lightdash uses **partial compilation** by default. Field, join, and set-validation failures that can be isolated are reported as warnings so the rest of the explore stays usable; failures that cannot be isolated can still produce errors.

Add `--no-partial-compilation` to report the failures that partial compilation would otherwise isolate as errors instead. It doesn't promote unrelated, non-blocking warnings — other generic compilation warnings stay non-blocking.

If your project uses physical column references such as `${TABLE}.order_id`, add `--validate-warehouse-columns` to check supported unquoted references with warehouse queries that return no rows. It's opt-in because it sends those queries; whether your warehouse scans or bills for them is warehouse-dependent, and the check needs warehouse credentials and the warehouse catalog. Warehouse-column errors are reported whether partial compilation is on or off.

See the [CLI compilation options](/workflow/cli/reference#partial-compilation) for the supported reference syntax and every skip condition.

Combine both flags for the strictest check:

```bash theme={null}
lightdash validate --validate-warehouse-columns --no-partial-compilation
```

`lightdash validate` includes `tables` by default, so the warehouse-column check runs without extra options and table model errors make the command exit non-zero. If you customize `--only`, keep `tables` in the list to run the warehouse check; use `--only tables` to validate tables without charts or dashboards.

The check requires warehouse credentials and the warehouse catalog, and is skipped for dbt Cloud CLI and Lightdash YAML-only compilation. See the [CLI reference](/workflow/cli/reference#validate-physical-warehouse-columns) for supported reference syntax and all skip conditions.

## Configure Github actions

This command will create a preview environment, and then validate this preview by specifying `--preview` on the validate command.`lightdash validate` will return an error (return code 1) if there is at least 1 validation error on your project. You can use this output to block a deploy on Github actions like this

```yaml theme={null}
- name: Start preview
  run: lightdash start-preview
- name: Validate preview
  run: lightdash validate --preview
```

To learn more about setting up GitHub Actions for Lightdash, see [Automate with CI/CD](/workflow/set-up-ci-cd).
