---
title: "Error codes"
description: "Every error code the aontu engine can raise: 172 codes across 7 classes, with the class that decides your next move."
source: "https://aontu.dev/errors/"
---

# Error codes

Every error aontu raises carries a **code**, and every code has a **class**. The class says what kind of thing went wrong, which is what decides your next move.

This is the registry itself, not a description of it: [`test/spec/errcodes.tsv`](https://github.com/aontu-lang/aontu/blob/main/test/spec/errcodes.tsv) is a shared contract both implementations execute, and each asserts set equality against: a code in one engine and not the file fails that engine's suite. Codes are append-only; renames are forbidden.

Machine-readable: [`/errors.json`](https://aontu.dev/errors.json), or `/errors/<code>.json` for one.

## `parse` 53

the text is not a document: fix the syntax at the site the frame points at

-   [`abnf_grammar`](https://aontu.dev/errors/abnf_grammar)
-   [`alias_colon`](https://aontu.dev/errors/alias_colon)
-   [`alias_in_path`](https://aontu.dev/errors/alias_in_path)
-   [`alias_not_toplevel`](https://aontu.dev/errors/alias_not_toplevel)
-   [`bare_punct`](https://aontu.dev/errors/bare_punct)
-   [`decimal_syntax`](https://aontu.dev/errors/decimal_syntax)
-   [`each_data`](https://aontu.dev/errors/each_data)
-   [`elided_value`](https://aontu.dev/errors/elided_value)
-   [`emit_body`](https://aontu.dev/errors/emit_body)
-   [`emit_data`](https://aontu.dev/errors/emit_data)
-   [`emit_table`](https://aontu.dev/errors/emit_table)
-   [`emit_template`](https://aontu.dev/errors/emit_template)
-   [`esc_variant`](https://aontu.dev/errors/esc_variant)
-   [`export_arg`](https://aontu.dev/errors/export_arg)
-   [`filter_data`](https://aontu.dev/errors/filter_data)
-   [`form_data`](https://aontu.dev/errors/form_data)
-   [`func_arity`](https://aontu.dev/errors/func_arity)
-   [`include_denied`](https://aontu.dev/errors/include_denied)
-   [`include_extension`](https://aontu.dev/errors/include_extension)
-   [`incomplete_expression`](https://aontu.dev/errors/incomplete_expression)
-   [`inverse_name`](https://aontu.dev/errors/inverse_name)
-   [`merge_conflict`](https://aontu.dev/errors/merge_conflict)
-   [`module_integrity`](https://aontu.dev/errors/module_integrity)
-   [`module_local`](https://aontu.dev/errors/module_local)
-   [`module_missing`](https://aontu.dev/errors/module_missing)
-   [`module_moved`](https://aontu.dev/errors/module_moved)
-   [`module_path`](https://aontu.dev/errors/module_path)
-   [`negative`](https://aontu.dev/errors/negative)
-   [`not_number`](https://aontu.dev/errors/not_number)
-   [`pack_data`](https://aontu.dev/errors/pack_data)
-   [`pack_key`](https://aontu.dev/errors/pack_key)
-   [`parse`](https://aontu.dev/errors/parse)
-   [`parse_arg`](https://aontu.dev/errors/parse_arg)
-   [`parse_bad_src`](https://aontu.dev/errors/parse_bad_src)
-   [`parse_unknown`](https://aontu.dev/errors/parse_unknown)
-   [`patch_assignment`](https://aontu.dev/errors/patch_assignment)
-   [`path_address`](https://aontu.dev/errors/path_address)
-   [`pref_implicit_bag`](https://aontu.dev/errors/pref_implicit_bag)
-   [`refer_address`](https://aontu.dev/errors/refer_address)
-   [`rel_address`](https://aontu.dev/errors/rel_address)
-   [`render_path`](https://aontu.dev/errors/render_path)
-   [`render_profile`](https://aontu.dev/errors/render_profile)
-   [`rep_pattern`](https://aontu.dev/errors/rep_pattern)
-   [`rep_sub`](https://aontu.dev/errors/rep_sub)
-   [`replace_overlap`](https://aontu.dev/errors/replace_overlap)
-   [`replace_unused`](https://aontu.dev/errors/replace_unused)
-   [`reserved_key`](https://aontu.dev/errors/reserved_key)
-   [`sort_dir`](https://aontu.dev/errors/sort_dir)
-   [`split_sep`](https://aontu.dev/errors/split_sep)
-   [`syntax`](https://aontu.dev/errors/syntax)
-   [`unify_no_src`](https://aontu.dev/errors/unify_no_src)
-   [`usc_malformed`](https://aontu.dev/errors/usc_malformed)
-   [`view_line_break`](https://aontu.dev/errors/view_line_break)

## `conflict` 55

two values cannot both hold: one of them is wrong: `aontu model why` names both and where they were written

-   [`aggregate_data`](https://aontu.dev/errors/aggregate_data)
-   [`aggregate_empty`](https://aontu.dev/errors/aggregate_empty)
-   [`arg`](https://aontu.dev/errors/arg)
-   [`close`](https://aontu.dev/errors/close)
-   [`closed`](https://aontu.dev/errors/closed)
-   [`constraint`](https://aontu.dev/errors/constraint)
-   [`constraint_pattern`](https://aontu.dev/errors/constraint_pattern)
-   [`decimal_budget`](https://aontu.dev/errors/decimal_budget)
-   [`divide_by_zero`](https://aontu.dev/errors/divide_by_zero)
-   [`emit_none`](https://aontu.dev/errors/emit_none)
-   [`emit_ref`](https://aontu.dev/errors/emit_ref)
-   [`empty`](https://aontu.dev/errors/empty)
-   [`empty-dist`](https://aontu.dev/errors/empty-dist)
-   [`exact_float_mix`](https://aontu.dev/errors/exact_float_mix)
-   [`float_overflow`](https://aontu.dev/errors/float_overflow)
-   [`func`](https://aontu.dev/errors/func)
-   [`func_arg`](https://aontu.dev/errors/func_arg)
-   [`func:`](https://aontu.dev/errors/func~3a) family
-   [`inexact_divide`](https://aontu.dev/errors/inexact_divide)
-   [`inexact_integer_sum`](https://aontu.dev/errors/inexact_integer_sum)
-   [`invalid-arg`](https://aontu.dev/errors/invalid-arg)
-   [`join_member`](https://aontu.dev/errors/join_member)
-   [`key_level`](https://aontu.dev/errors/key_level)
-   [`list`](https://aontu.dev/errors/list)
-   [`list_length`](https://aontu.dev/errors/list_length)
-   [`literal_nil`](https://aontu.dev/errors/literal_nil)
-   [`lossy_integer_literal`](https://aontu.dev/errors/lossy_integer_literal)
-   [`make`](https://aontu.dev/errors/make)
-   [`map`](https://aontu.dev/errors/map)
-   [`match_none`](https://aontu.dev/errors/match_none)
-   [`must`](https://aontu.dev/errors/must)
-   [`nil_gen`](https://aontu.dev/errors/nil_gen)
-   [`no_first_arg`](https://aontu.dev/errors/no_first_arg)
-   [`no_scalar_unify`](https://aontu.dev/errors/no_scalar_unify)
-   [`not-scalar-type`](https://aontu.dev/errors/not-scalar-type)
-   [`op`](https://aontu.dev/errors/op)
-   [`op:`](https://aontu.dev/errors/op~3a) family
-   [`op[`](https://aontu.dev/errors/op~5b) family
-   [`operate`](https://aontu.dev/errors/operate)
-   [`parse_failed`](https://aontu.dev/errors/parse_failed)
-   [`pick_key`](https://aontu.dev/errors/pick_key)
-   [`place_pair`](https://aontu.dev/errors/place_pair)
-   [`pref_rank_clash`](https://aontu.dev/errors/pref_rank_clash)
-   [`relation_cycle`](https://aontu.dev/errors/relation_cycle)
-   [`relation_inverse_missing`](https://aontu.dev/errors/relation_inverse_missing)
-   [`render_lang`](https://aontu.dev/errors/render_lang)
-   [`render_strict`](https://aontu.dev/errors/render_strict)
-   [`replace_value`](https://aontu.dev/errors/replace_value)
-   [`resolve`](https://aontu.dev/errors/resolve)
-   [`scalar_kind`](https://aontu.dev/errors/scalar_kind)
-   [`scalar_value`](https://aontu.dev/errors/scalar_value)
-   [`scalar-type`](https://aontu.dev/errors/scalar-type)
-   [`sort_domain`](https://aontu.dev/errors/sort_domain)
-   [`sort_key`](https://aontu.dev/errors/sort_key)
-   [`unite`](https://aontu.dev/errors/unite)

## `incomplete` 11

nothing contradicts, but the value is not concrete: supply what is missing, or accept it with `--partial`

-   [`conjunct`](https://aontu.dev/errors/conjunct)
-   [`disjunct_no_gen`](https://aontu.dev/errors/disjunct_no_gen)
-   [`listval_no_gen`](https://aontu.dev/errors/listval_no_gen)
-   [`listval_required`](https://aontu.dev/errors/listval_required)
-   [`listval_spread_required`](https://aontu.dev/errors/listval_spread_required)
-   [`mapval_no_gen`](https://aontu.dev/errors/mapval_no_gen)
-   [`mapval_required`](https://aontu.dev/errors/mapval_required)
-   [`mapval_spread_required`](https://aontu.dev/errors/mapval_spread_required)
-   [`no_gen`](https://aontu.dev/errors/no_gen)
-   [`recursion_unexpanded`](https://aontu.dev/errors/recursion_unexpanded)
-   [`required_listelem`](https://aontu.dev/errors/required_listelem)

## `reference` 27

a path names nothing: check the spelling; `aontu model get $ --keys` lists what is there

-   [`import_not_exported`](https://aontu.dev/errors/import_not_exported)
-   [`invalid_var_kind`](https://aontu.dev/errors/invalid_var_kind)
-   [`multisource_not_found`](https://aontu.dev/errors/multisource_not_found)
-   [`no_path`](https://aontu.dev/errors/no_path)
-   [`patch_ambiguous`](https://aontu.dev/errors/patch_ambiguous)
-   [`patch_not_editable`](https://aontu.dev/errors/patch_not_editable)
-   [`path_cycle`](https://aontu.dev/errors/path_cycle)
-   [`ref`](https://aontu.dev/errors/ref)
-   [`ref[`](https://aontu.dev/errors/ref~5b) family
-   [`refer_unresolved`](https://aontu.dev/errors/refer_unresolved)
-   [`rel_unresolved`](https://aontu.dev/errors/rel_unresolved)
-   [`render_unit`](https://aontu.dev/errors/render_unit)
-   [`unknown_function`](https://aontu.dev/errors/unknown_function)
-   [`unknown_var`](https://aontu.dev/errors/unknown_var)
-   [`var`](https://aontu.dev/errors/var)
-   [`var[`](https://aontu.dev/errors/var~5b) family
-   [`view_at_required`](https://aontu.dev/errors/view_at_required)
-   [`view_document_shape`](https://aontu.dev/errors/view_document_shape)
-   [`view_group_required`](https://aontu.dev/errors/view_group_required)
-   [`view_kind_unknown`](https://aontu.dev/errors/view_kind_unknown)
-   [`view_profile_unknown`](https://aontu.dev/errors/view_profile_unknown)
-   [`view_relation_ambiguous`](https://aontu.dev/errors/view_relation_ambiguous)
-   [`view_relation_unknown`](https://aontu.dev/errors/view_relation_unknown)
-   [`view_sets_required`](https://aontu.dev/errors/view_sets_required)
-   [`view_sets_shape`](https://aontu.dev/errors/view_sets_shape)
-   [`view_style_profile`](https://aontu.dev/errors/view_style_profile)
-   [`view_style_unknown`](https://aontu.dev/errors/view_style_unknown)

## `compat` 13

a change breaks an earlier version: that is `aontu subsume` / `aontu breaking` talking: widen the change or version it

-   [`compat_default_changed`](https://aontu.dev/errors/compat_default_changed)
-   [`compat_marks_changed`](https://aontu.dev/errors/compat_marks_changed)
-   [`compat_narrowed`](https://aontu.dev/errors/compat_narrowed)
-   [`compat_outcome_changed`](https://aontu.dev/errors/compat_outcome_changed)
-   [`compat_required_added`](https://aontu.dev/errors/compat_required_added)
-   [`compat_undetermined`](https://aontu.dev/errors/compat_undetermined)
-   [`deprecated`](https://aontu.dev/errors/deprecated)
-   [`pref_not_instance`](https://aontu.dev/errors/pref_not_instance)
-   [`sub_default_indeterminate`](https://aontu.dev/errors/sub_default_indeterminate)
-   [`sub_disjunct_distribution`](https://aontu.dev/errors/sub_disjunct_distribution)
-   [`sub_evaluate_only`](https://aontu.dev/errors/sub_evaluate_only)
-   [`sub_path_dependent_spread`](https://aontu.dev/errors/sub_path_dependent_spread)
-   [`sub_unresolved`](https://aontu.dev/errors/sub_unresolved)

## `budget` 7

evaluation hit a deterministic limit: usually a cycle; simplify, or raise the budget deliberately

-   [`alias_budget`](https://aontu.dev/errors/alias_budget)
-   [`budget_passes`](https://aontu.dev/errors/budget_passes)
-   [`max_depth`](https://aontu.dev/errors/max_depth)
-   [`module_depth`](https://aontu.dev/errors/module_depth)
-   [`recursion_budget`](https://aontu.dev/errors/recursion_budget)
-   [`unify_cycle`](https://aontu.dev/errors/unify_cycle)
-   [`view_rows_exceeded`](https://aontu.dev/errors/view_rows_exceeded)

## `internal` 6

the engine surprised itself: a bug worth reporting

-   [`format_check`](https://aontu.dev/errors/format_check)
-   [`internal`](https://aontu.dev/errors/internal)
-   [`patch_span_mismatch`](https://aontu.dev/errors/patch_span_mismatch)
-   [`unify_failed`](https://aontu.dev/errors/unify_failed)
-   [`unify_no_res`](https://aontu.dev/errors/unify_no_res)
-   [`unknown_op`](https://aontu.dev/errors/unknown_op)
