opentide

Exit codes

What each opentide exit code means, and how to gate CI on them.

Every opentide command sets a process exit code so pipelines can gate on results without parsing output. Combine these with --json for structured detail.

OpenTide uses the same result semantics in human and JSON modes: presentation follows ok / status, while the process exit code is CI policy.

Codes

CodeMeaningEmitted when
0SuccessThe command completed or intentionally skipped without an operational failure. Success JSON includes "ok": true.
1ErrorValidation/deployment errors, network/runtime failure, or --strict with warnings.
2Usage errorInvalid arguments, missing required flags, or an explicitly unsupported command.

There is no soft-failure exit code. Warnings are listed under warnings in JSON (and printed in human mode) and only fail the process when --strict is set.

How warnings vs errors work

validate and deploy record outcomes during the run:

SignalSet whenAffects
VALIDATION_ERROR_RAISEDAny validation errorExit 1, status: failed
VALIDATION_WARNING_RAISEDAny validation warningExit 1 with --strict; otherwise exit 0 with warnings
DEPLOYMENT_ERROR_RAISEDAny deployment errorExit 1, status: failed
DEPLOYMENT_WARNING_RAISEDAny deployment warningExit 0 with warnings

With --json, failures still write one complete object to stdout before exiting:

{
  "ok": false,
  "status": "failed",
  "message": "Validation failed"
}

Diagnostics use stderr. Automation should parse stdout and evaluate both ok/status and the process exit code.

Gating CI

opentide validate --strict   # warnings and errors both fail the job
opentide validate            # errors fail; warnings are reported but exit 0

For finer control:

if opentide validate --json > result.json; then
  echo "validation passed"
else
  code=$?
  echo "validation failed with exit code $code"
  [ -s result.json ] && cat result.json
  exit $code
fi
  • validate--strict and object/query checks.
  • deploy — deployment errors and warnings.
  • CI/CD — pipelines that gate on these codes.

On this page