---
title: "cx. diagnostics"
description: "Owner: the cx spec (defs/cx.ts). The status is the code's own; the exit comes from its category (CATEGORIES). A warning or info code never sets the status or the exit."
order: 13
---

# `cx.*` diagnostics

Owner: the cx spec (`defs/cx.ts`). The status is the code's own; the exit comes from its category (`CATEGORIES`). A warning or info code never sets the status or the exit.

| Code | Category | Severity | Status | Exit | Retry | Fix | Args |
|---|---|---|---|---|---|---|---|
| <a id="cx.arrow.misplaced"></a>`cx.arrow.misplaced` | type | error | 400 | 2 | no | — | — |
| <a id="cx.cost.exceeds_use"></a>`cx.cost.exceeds_use` | limit | error | 422 | 2 | no | — | `use`, `class`, `cap`, `why` |
| <a id="cx.cycle"></a>`cx.cycle` | type | error | 400 | 2 | no | — | `loop` |
| <a id="cx.enum.unknown_value"></a>`cx.enum.unknown_value` | reference | error | 400 | 2 | no | — | `enum`, `value`, `near` |
| <a id="cx.fault.div_zero"></a>`cx.fault.div_zero` | data | error | 409 | 6 | no | — | `operand` |
| <a id="cx.fault.dst_gap"></a>`cx.fault.dst_gap` | data | error | 409 | 6 | no | — | `operand` |
| <a id="cx.fault.not_unique"></a>`cx.fault.not_unique` | data | error | 409 | 6 | no | — | `operand` |
| <a id="cx.fault.out_of_range"></a>`cx.fault.out_of_range` | data | error | 409 | 6 | no | — | `operand` |
| <a id="cx.fault.overflow"></a>`cx.fault.overflow` | data | error | 409 | 6 | no | — | `operand` |
| <a id="cx.fault.series_too_long"></a>`cx.fault.series_too_long` | data | error | 409 | 6 | no | — | `operand` |
| <a id="cx.fn.args_required"></a>`cx.fn.args_required` | reference | error | 400 | 2 | no | — | `prop`, `params` |
| <a id="cx.fn.arity"></a>`cx.fn.arity` | reference | error | 400 | 2 | no | — | `fn`, `bound`, `min`, `max`, `got` |
| <a id="cx.invariant.reads_clock"></a>`cx.invariant.reads_clock` | type | error | 400 | 2 | no | — | `node` |
| <a id="cx.limit.depth"></a>`cx.limit.depth` | limit | error | 422 | 2 | no | — | `n`, `max` |
| <a id="cx.limit.inline_size"></a>`cx.limit.inline_size` | limit | error | 422 | 2 | no | — | `n`, `max` |
| <a id="cx.limit.list"></a>`cx.limit.list` | limit | error | 422 | 2 | no | — | `n`, `max` |
| <a id="cx.limit.nodes"></a>`cx.limit.nodes` | limit | error | 422 | 2 | no | — | `n`, `max` |
| <a id="cx.literal.invalid"></a>`cx.literal.invalid` | type | error | 400 | 2 | no | — | `type`, `text` |
| <a id="cx.literal.text_invalid"></a>`cx.literal.text_invalid` | type | error | 400 | 2 | no | — | `text`, `char` |
| <a id="cx.money.currency_mismatch"></a>`cx.money.currency_mismatch` | type | error | 400 | 2 | no | — | `left`, `right` |
| <a id="cx.money.currency_not_static"></a>`cx.money.currency_not_static` | type | error | 400 | 2 | no | — | `collection`, `currency_path` |
| <a id="cx.money.rounding_required"></a>`cx.money.rounding_required` | type | error | 400 | 2 | no | — | `expr` |
| <a id="cx.name.ambiguous"></a>`cx.name.ambiguous` | reference | error | 400 | 2 | no | — | `name`, `levels` |
| <a id="cx.name.unknown"></a>`cx.name.unknown` | reference | error | 400 | 2 | no | — | `name`, `near`, `scope` |
| <a id="cx.null_compare"></a>`cx.null_compare` | type | error | 400 | 2 | no | — | `expr` |
| <a id="cx.option_unwrapped"></a>`cx.option_unwrapped` | type | error | 400 | 2 | no | — | `expr`, `sink` |
| <a id="cx.scale_overflow"></a>`cx.scale_overflow` | type | error | 400 | 2 | no | — | `scale` |
| <a id="cx.source.unpinned"></a>`cx.source.unpinned` | reference | error | 400 | 2 | no | — | `type`, `why` |
| <a id="cx.syntax.not_cx"></a>`cx.syntax.not_cx` | syntax | error | 400 | 2 | no | — | `form` |
| <a id="cx.syntax.too_long"></a>`cx.syntax.too_long` | syntax | error | 400 | 2 | no | — | `chars`, `max` |
| <a id="cx.syntax.unexpected"></a>`cx.syntax.unexpected` | syntax | error | 400 | 2 | no | — | `found`, `expected` |
| <a id="cx.time.whole_minutes"></a>`cx.time.whole_minutes` | type | error | 400 | 2 | no | — | `op` |
| <a id="cx.type.mismatch"></a>`cx.type.mismatch` | type | error | 400 | 2 | no | — | `op`, `left`, `right`, `want` |
| <a id="cx.unit_mismatch"></a>`cx.unit_mismatch` | type | error | 400 | 2 | no | — | `left`, `right` |
| <a id="cx.unknown.blank"></a>`cx.unknown.blank` | state | error | 409 | 5 | no | — | `operand` |
| <a id="cx.unknown.withheld"></a>`cx.unknown.withheld` | policy | error | 403 | 4 | no | — | `operand` |
| <a id="cx.use.binding_not_in_scope"></a>`cx.use.binding_not_in_scope` | reference | error | 400 | 2 | no | — | `binding`, `use` |
