You can configure Theme Check to override default check options, enable or disable specific checks, or point to your own custom checks. You can make these changes using a [config file](#config-file), disable checks using [comments](#disable-checks-using-liquid-comments), or selectively run checks using command line flags. To learn more about theme check command line flags, refer to [Theme Check commands](/docs/storefronts/themes/tools/theme-check/commands).

## Config file

Add a `.theme-check.yml` file to the root of your theme to override check defaults.

You can generate a new `.theme-check.yml` file using the command `shopify theme check --init`.

You can adjust the following settings:

| Setting | Type | Description |
| --- | --- | --- |
| `root` | `string` | If your theme isn't using the standard theme directory structure, you can provide root path for finding the `templates`, `sections`, and `snippets` directories. For example, If you generate code from a `src` directory, then you should point your Theme Check configuration at your corresponding `dist` directory. |
| `extends` | `string or string[]` | If you want to compose configuration files, or start off the recommended one, you can use the `extends` setting to reference a configuration file. Also supports the following magic settings: `theme-check:all`, `theme-check:recommended`, `theme-check:theme-app-extension`. When multiple configurations are extended; objects are deep merged, arrays are concatenated, and the latest one in the list takes priority. |
| `require` | `string or string[]` | If you want to use a [custom or third party set of checks](/docs/storefronts/themes/tools/theme-check#creating-your-own-checks), then add a CommonJS import path. |
| `ignore` | `string[]` | Exclude directories in the theme from Theme Check. |
| Check settings | `object` |  For each check, set `enabled` to `true` or `false`, set the check [severity](#check-severity), set specific `ignore` files and paths for the check, and configure any other check options. If you created a custom check, then you need to enable it using this method. <br/>You can view the default values of check options in the [checks reference](/docs/storefronts/themes/tools/theme-check/checks). |

All settings are optional.

<p>
<div class="react-code-block" data-preset="file">
<div class="react-code-block-preload ThemeMode-dim">
<div class="react-code-block-preload-bar "></div>
<div class="react-code-block-preload-placeholder-container">
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>

</div>
</div>

<script data-option="filename" data-value=".theme-check.yml"></script>

<script type="text/plain" data-language="yaml">
# The directory where theme folders are located (optional)
root: dist

# Configuration files are extensible
extends:
  - theme-check:recommended # or theme-check:all, theme-check:theme-app-extension
  - '@acme/my-custom-checks/recommended.yml'
  - '../configs/.theme-check.yml'

# Paths to custom checks
require:
  - ./path/to/my_custom_check.js # path to file or module
  - '@acme/my-custom-checks'     # for node_modules checks

# Paths to ignore (don't lint those!)
ignore:
  - 'node_modules/**'
  - 'snippets/*-icon.liquid' # minimatch globs are supported

# Disable a check
TemplateLength:
  enabled: false
  severity: warning
  ignore:
    - templates/index.liquid
  # Configure options for a check
  max_length: 300

# Enable a custom check
MyCustomCheck:
  enabled: true
  severity: error
</script>

</div>
</p>


### Check severity

The check severity indicates the relative importance of a check to the functionality and optimization of your theme. Severity levels include `error`, `warning`, and `info`. You can change the severity of a check in your config file.

If you're running theme check as a part of your CI process, the severity levels of the failed checks can determine the exit code that you receive. By default, Theme Check fails, or returns an exit code of 1, when one or more issues with severity `error` are detected. You can configure the severity that causes a run of theme check to fail using the [`--fail-level`](/docs/storefronts/themes/tools/theme-check/commands) flag.

### Disable checks using Liquid comments

You can disable all checks or specific checks using comments. You can disable checks for a specific section of your theme code, or for an entire file.

Disable all checks for a section of your template:



```liquid
{% # theme-check-disable %}
{% assign x = 1 %}
{% # theme-check-enable %}
```



Disable a specific check by including it in the comment:



```liquid
{% # theme-check-disable UnusedAssign %}
{% assign x = 1 %}
{% # theme-check-enable UnusedAssign %}
```



Disable multiple checks by including them as a comma-separated list:



```liquid
{% # theme-check-disable UnusedAssign,SpaceInsideBraces %}
{%assign x = 1%}
{% # theme-check-enable UnusedAssign,SpaceInsideBraces %}
```



Disable checks for the entire document by placing the comment on the first line:



```liquid
{% # theme-check-disable SpaceInsideBraces %}

{%assign x = 1%}
```