# Exit codes

QV2QS returns one of the following exit codes. Use exit codes to detect success or failure in scripts, CI/CD pipelines, and batch automation.

| Code | Meaning |
| --- | --- |
| `0` | Conversion completed successfully. |
| `1` | Conversion failed. Check console output and log files for details. |

## Batch mode

In batch mode, the exit code reflects the aggregate outcome of all projects. QV2QS returns `0` only if every project in the batch completes successfully. If any project fails during conversion, deployment, or reload, the exit code is `1`. The batch summary report lists the individual status of each project regardless of the exit code. For details on error isolation in batch runs, see [Parallel execution](https://help.qlik.com/en-US/migration/Content/Qv2qsMigration/batch-conversion/parallel-execution.htm).

## Programmatic status

The exit code does not distinguish between failure types (authentication error, conversion error, deployment error, or partial batch failure). For programmatic decision-making in CI/CD pipelines, parse the `batch_summary.json` file or `executive_summary.json` file to determine the specific outcome. The batch summary includes per-project success/failure status, error messages, and aggregated KPIs. For the batch summary file structure, see [Batch reporting](https://help.qlik.com/en-US/migration/Content/Qv2qsMigration/batch-conversion/batch-reporting.htm).

## Learn more

* [Common workflows](https://help.qlik.com/en-US/migration/Content/Qv2qsMigration/command-line-interface/common-workflows.htm)
* [Argument reference](https://help.qlik.com/en-US/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm)