• Reference
  • Version · 6.0
  • Change Automation Reference

checks describe

Last updated: September 29, 2026

The checks describe command generates a JSON file describing the checks in your checks settings file, including each check's current configuration and any configurable parameters. It is intended primarily for programmatic consumption.

Uses

By default, checks describe describes every check in your checks settings file. Pass --check-name to describe a single check instead. The output defaults to compact JSON; pass --format=JSON_PRETTY for indented output. The output filename defaults to liquibase.checks-descriptions.json, or liquibase.checks-descriptions-<checkname>.json when --check-name is set.

Note: If no checks settings file exists yet in your working directory, checks describe prompts you to choose one of the following before it can continue:

  • Create and use a default checks settings file in the current working directory

  • Create and use a default checks settings file at a path you specify

  • Create a default checks settings file in the current working directory without using it, and exit

  • Decline, and exit without creating anything

Pass --force to skip this prompt and create and use the default checks settings file immediately, useful for running non-interactively (for example, in CI). Combine it with --exit to create the settings file (and its example checks package files) without also generating a check descriptions file in that same run. Once a checks settings file already exists, this prompt does not appear on later runs, and --force has no effect.

Syntax

Run the command specifying your values:

liquibase checks describe --check-name=TableColumnLimit --format=JSON_PRETTY

Parameters

Global parameters

Parameter

Description

Requirement

--license-key=<string>

Your Liquibase Pro license key

Required

Command parameters

Parameter

Description

Requirement

--check-name=<string>

Short name of the check to describe. If not specified, all checks are described.

Optional

--format=<string>

Output format: JSON (compact) or JSON_PRETTY (indented). Default: JSON.

Optional

--filename=<string>

Output filename. Defaults to liquibase.checks-descriptions.json, or liquibase.checks-descriptions-<checkname>.json if --check-name is specified.

Optional

--force=<string>

Skips the interactive checks-settings-file creation prompt shown on a first run (no checks settings file exists yet), creating and using the default file immediately. Has no effect once a checks settings file already exists.

Optional

--exit=<string>

Used with --force on a first run: creates the checks settings file and its example checks package files, then stops, without generating a check descriptions file.

Optional

--auto-enable-new-checks=<string>

Automatically enable new policy checks in the liquibase.checks.conf file when they become available. Valid values: true, false. Default: false.

Optional

--auto-update=<string>

Allows automatic backup and updating of the liquibase.checks.conf file when new policy checks or checks-settings-file changes are available. Not specific to checks describe — the same parameter applies to any checks command (run, show, etc.). Every checks command checks for available updates when it runs, but does not apply them automatically, since doing so could change your checks-settings.conf or other checks files; you must opt in explicitly. Valid values: true, false. Default: false.

Optional

--checks-packages=<string>

If using a checks packages file, optionally specify which packages should be run from the file, as a comma-separated list. Alias: --package-names.

Optional

--checks-settings-file=<string>

Relative or fully qualified path to a checks settings or checks package file. Alias: --checks-package-file.

Optional

Global parameters

Parameter

Description

Requirement

globalArgs: { license-key: "<string>" }

Your Liquibase Pro license key

Required

Command parameters

Parameter

Description

Requirement

cmdArgs: { check-name: "<string>" }

Short name of the check to describe. If not specified, all checks are described.

Optional

cmdArgs: { format: "<string>" }

Output format: JSON (compact) or JSON_PRETTY (indented). Default: JSON.

Optional

cmdArgs: { filename: "<string>" }

Output filename. Defaults to liquibase.checks-descriptions.json, or liquibase.checks-descriptions-<checkname>.json if --check-name is specified.

Optional

cmdArgs: { force: "<string>" }

Skips the interactive checks-settings-file creation prompt shown on a first run (no checks settings file exists yet), creating and using the default file immediately. Has no effect once a checks settings file already exists.

Optional

cmdArgs: { exit: "<string>" }

Used with --force on a first run: creates the checks settings file and its example checks package files, then stops, without generating a check descriptions file.

Optional

cmdArgs: { auto-enable-new-checks: "<string>" }

Automatically enable new policy checks in the liquibase.checks.conf file when they become available. Valid values: true, false. Default: false.

Optional

cmdArgs: { auto-update: "<string>" }

Allows automatic backup and updating of the liquibase.checks.conf file when new policy checks or checks-settings-file changes are available. Not specific to checks describe — the same parameter applies to any checks command (run, show, etc.). Every checks command checks for available updates when it runs, but does not apply them automatically, since doing so could change your checks-settings.conf or other checks files; you must opt in explicitly. Valid values: true, false. Default: false.

Optional

cmdArgs: { checks-packages: "<string>" }

If using a checks packages file, optionally specify which packages should be run from the file, as a comma-separated list. Alias: --package-names.

Optional

cmdArgs: { checks-settings-file: "<string>" }

Relative or fully qualified path to a checks settings or checks package file. Alias: --checks-package-file.

Optional

Global parameters

Parameter

Description

Requirement

liquibase.licenseKey: <string>

Your Liquibase Pro license key

Required

Command parameters

Parameter

Description

Requirement

liquibase.command.checks.describe.checkName: <string>

Short name of the check to describe. If not specified, all checks are described.

Optional

liquibase.command.checks.describe.format: <string>

Output format: JSON (compact) or JSON_PRETTY (indented). Default: JSON.

Optional

liquibase.command.checks.describe.filename: <string>

Output filename. Defaults to liquibase.checks-descriptions.json, or liquibase.checks-descriptions-<checkname>.json if --check-name is specified.

Optional

liquibase.command.checks.describe.force: <string>

Skips the interactive checks-settings-file creation prompt shown on a first run (no checks settings file exists yet), creating and using the default file immediately. Has no effect once a checks settings file already exists.

Optional

liquibase.command.checks.describe.exit: <string>

Used with --force on a first run: creates the checks settings file and its example checks package files, then stops, without generating a check descriptions file.

Optional

liquibase.command.checks.describe.autoEnableNewChecks: <string>

Automatically enable new policy checks in the liquibase.checks.conf file when they become available. Valid values: true, false. Default: false.

Optional

liquibase.command.checks.describe.autoUpdate: <string>

Allows automatic backup and updating of the liquibase.checks.conf file when new policy checks or checks-settings-file changes are available. Not specific to checks describe — the same parameter applies to any checks command (run, show, etc.). Every checks command checks for available updates when it runs, but does not apply them automatically, since doing so could change your checks-settings.conf or other checks files; you must opt in explicitly. Valid values: true, false. Default: false.

Optional

liquibase.command.checks.describe.checksPackages: <string>

If using a checks packages file, optionally specify which packages should be run from the file, as a comma-separated list. Alias: --package-names.

Optional

liquibase.command.checks.describe.checksSettingsFile: <string>

Relative or fully qualified path to a checks settings or checks package file. Alias: --checks-package-file.

Optional

Global parameters

Parameter

Description

Requirement

JAVA_OPTS=-Dliquibase.licenseKey=<string>

Your Liquibase Pro license key

Required

Command parameters

Parameter

Description

Requirement

JAVA_OPTS=-Dliquibase.command.checks.describe.checkName=<string>

Short name of the check to describe. If not specified, all checks are described.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.format=<string>

Output format: JSON (compact) or JSON_PRETTY (indented). Default: JSON.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.filename=<string>

Output filename. Defaults to liquibase.checks-descriptions.json, or liquibase.checks-descriptions-<checkname>.json if --check-name is specified.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.force=<string>

Skips the interactive checks-settings-file creation prompt shown on a first run (no checks settings file exists yet), creating and using the default file immediately. Has no effect once a checks settings file already exists.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.exit=<string>

Used with --force on a first run: creates the checks settings file and its example checks package files, then stops, without generating a check descriptions file.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.autoEnableNewChecks=<string>

Automatically enable new policy checks in the liquibase.checks.conf file when they become available. Valid values: true, false. Default: false.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.autoUpdate=<string>

Allows automatic backup and updating of the liquibase.checks.conf file when new policy checks or checks-settings-file changes are available. Not specific to checks describe — the same parameter applies to any checks command (run, show, etc.). Every checks command checks for available updates when it runs, but does not apply them automatically, since doing so could change your checks-settings.conf or other checks files; you must opt in explicitly. Valid values: true, false. Default: false.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.checksPackages=<string>

If using a checks packages file, optionally specify which packages should be run from the file, as a comma-separated list. Alias: --package-names.

Optional

JAVA_OPTS=-Dliquibase.command.checks.describe.checksSettingsFile=<string>

Relative or fully qualified path to a checks settings or checks package file. Alias: --checks-package-file.

Optional

Output

Example output for a single configurable check, generated with:

liquibase checks describe --check-name=TableColumnLimit --format=JSON_PRETTY

{ "checks" : [ { "shortName" : "TableColumnLimit", "name" : "Check Table Column Count", "description" : "Enforces a maximum TABLE COLUMN LIMIT to maintain database design quality and prevent overly wide tables that can indicate poor normalization, hurt query performance, and make the schema difficult to understand and maintain over time.", "id" : "2abde5de-a71d-3ead-8fd6-e13a743c0aec", "enabled" : true, "severity" : 0, "severityName" : "INFO", "enabledOptions" : [ true, false ], "severityOptions" : [ 0, 1, 2, 3, 4 ], "severityNameOptions" : [ "INFO", "MINOR", "MAJOR", "CRITICAL", "BLOCKER" ], "scope" : [ "changelog", "database" ], "supportedFormats" : [ "sql", "xml", "yaml", "json" ], "tags" : [ ], "priority" : 70, "configurable" : true, "category" : "Data Protection", "parentRuleId" : null, "parameters" : [ { "name" : "MAX_COLUMNS", "description" : "The maximum number of allowed columns.", "type" : "INTEGER", "defaultValue" : "50", "currentValue" : "50", "options" : "positive numeric value", "required" : true } ], "configureOptions" : { "newCheckName" : { "description" : "Optional custom short name for the new check copy. If not provided, an auto-incremented name is generated (e.g., TableColumnLimit1).", "type" : "STRING", "required" : false, "validation" : "alphanumeric characters only, must be unique", "validationPattern" : "^[a-zA-Z0-9]+$" }, "severity" : { "description" : "Severity level for the check.", "type" : "ENUM", "required" : false, "options" : "INFO, MINOR, MAJOR, CRITICAL, BLOCKER (or 0-4)" } } } ], "checksCount" : 1, "generatedAt" : "2026-08-20T21:11:00.926065Z", "categories" : [ "Advanced Policies", "Authorization and Access", "Data Protection", "Database Compatibility", "Metadata Content", "Scripting Standards", "Sensitive Data" ] }

Option fields

enabledOptions, severityOptions, severityNameOptions, and categories list the values a check accepts rather than the values it currently has, so you can build a configuration interface from a single checks describe run. The three per-check lists are identical for every check, and categories is always the complete set, whether you describe one check or all of them.

  • enabledOptions: The values enabled accepts.

  • severityOptions: The values severity accepts.

  • severityNameOptions: The values severityName accepts, in the same order as severityOptions.

  • categories: Every category name Liquibase recognizes. A check's own category is in its category field.