Laurel User Guide

9.5. Exit statuses🔗

The strata CLI shares one exit-status contract. Codes 1 and 2 mean you have something to fix; 3 and 4 mean the tool does.

Code

Meaning

0

Success, an inconclusive result, or a solver timeout

1

Bad arguments or input, or command setup failure

2

Analysis failures were found

3

Internal error — report it

4

A known limitation was hit — an intentionally unsupported construct

A 0 from laurelAnalyze does not on its own mean verification succeeded, because inconclusive results and timeouts also exit 0. Parse the printed ==== RESULTS ==== section rather than trusting the status alone. The same applies to laurelInterpret, which reports assertion failures in its diagnostics block while still exiting 0.