Errors

Error message format

Encountered an error and looking for answers? You've come to the right place.

This section is a work in progress and not yet complete. If you would like to help us document errors in Aurelia, we welcome all contributions.

Coded error in Aurelia comes with format: AURxxxx:yyyy where:

  • AUR is the prefix to indicate it's an error from Aurelia

  • xxxx is the code

  • : is the delimiter between the prefix, code and the dynamic information associated with the error

  • yyyy is the extra information, or parameters related to the error

Enabling development debug information enhancement

When using the production build of the core Aurelia packages, you'll get some error message that looks like this AUR0015:abcxyz, which may not help much during development. If you wish to have better information with regards to an issue you are facing, you can use the development build. To configure your bundler/dev server to pick development build:

Vite

Our @aurelia/vite-plugin will automatically pick the development build when process.env.NODE_ENV is not production. It can also be overriden using useDev property option, like the following example:

import { defineConfig } from 'vite';
import aurelia from '@aurelia/plugin-vite';

export default defineConfig({
    ...,
    plugins: [
        aurelia({ useDev: true })
    ]
})

Webpack

Add alias to the resolve.alias in your webpack config in webpack.config.js, like the scaffolding template at https://github.com/aurelia/new/blob/06f06862bab5f7b13107237a69cf59de1385d126/webpack/webpack.config.js#L117-L123

Others bundlers/dev server

The dist folder of an Aurelia core package looks like this:

dist
  |
  + -> cjs
  |     |
  |     + -> index.cjs
  |     + -> index.dev.cjs
  |
  + -> esm
        |
        + -> index.mjs
        + -> index.dev.mjs

Whenever there's a request to retrieve dist/esm/index.mjs, you can redirect it to dist/esm/index.dev.mjs.

Error list

The section below will list errors by their prefix, and code and give a corresponding explanation, and a way to fix them.

Dependency Injection Errors (from 0001 to 0015)

Dependency Injection errors can be found here.

Template Compiler Errors (From 701-749)

Error CodeDescription

AUR0701

This happens when a template has a single template element in your template, and it has as-local-element attribute on it

AUR0702

This happens when a template has one or more attributes that are supposed to be unique on its surrogate elements

AUR0703

This happens when a template controller attribute is used on a surrogate element of a template

AUR0704

This happens when an attribute on a <let/> element is used without .bind or .to-view command

AUR0705

This happens when enhancing a template with one or more element in it already have a class au on it

AUR0706

This happens when [au-slot] attribute is used on an element that is not an immediate child of a custom element

AUR0707

This happens when the template compiler encounters binding to a non-bindable property of a custom attribute

AUR0708

This happens when the template of a custom element has nothing beside template elements with as-local-element

AUR0709

This happens when an as-local-element template is not defined as an immediate child of the root of a custom element template

AUR0710

This happens when an as-local-element template has a <bindable> element inside its template, that is not not an immediate child of its fragment

AUR0711

This happens when a <bindable> inside an as-local-element template does not have a valid property attribute on it

AUR0712

This happens when an as-local-element template has 2 or more <bindable> elements with non-unique attribute or property attributes

AUR0713

This happens when an unknown binding command is encountered in a custom element template

AUR0714

This happens when a custom element or attribute definition has more than 1 primary bindable property

AUR0715

This happens when an as-local-template template has the value of as-local-template as an empty string

AUR0716

This happens when a custom element has 2 or more local elements with the same name

Templating Errors (From 750-800)

Error CodeDescription

AUR0750

This happens when there is a binding that looks like this view.ref="...". This likely comes from a v1 template migration.

AUR0751

This happens when there is a ref binding in the template that does not have matching target. Most likely a custom attribute reference

AUR0752

This happens when a controller renders a custom element instruction that it doesn't have a registration. Normally happens in hand-crafted definition

AUR0753

This happens when a controller renders a custom attribute instruction that it doesn't have a registration. Normally happens in hand-crafted definition

AUR0754

This happens when a controller renders a template controller instruction that it doesn't have a registration. Normally happens in hand-crafted definition

AUR0755

This happens when a view factory provider tries to resolve but does not have a view factory associated

AUR0756

This happens when a view factory provider tries to resolve but the view factory associated does not have a valid name

AUR0757

This happens when IRendering.render is called with different number of targets and instructions

AUR0758

This happens when BindingCommand.getDefinition is called on a class/object without any binding command metadata associated

AUR0759

This happens when CustomAttribute.getDefinition is called on a class/object without any custom attribute metadata associated

AUR0760

This happens when CustomElement.getDefinition is called on a class/object without any custom element metadata associated

AUR0761

This happens when CustomElementDefinition.create is called with a string as first parameter

AUR0762

This happens when CustomElement.for is called on an element that does not have any custom element with a given name, without searching in ancestor elements

AUR0763

This happens when CustomElement.for is called and Aurelia isn't able to find any custom element with the given name in the given element, or its ancestors

AUR0764

This happens when CustomElement.for is called on an element with a given name, and Aurelia is unable to find any custom element in the given the element, or its ancestors

AUR0765

This happens when CustomElement.for is called on an element without a given name, and Aurelia is unable to find any custom element in the given element, or its ancestors

AUR0766

This happens when @processContent is called with a string as its first parameter, and Aurelia couldn't find the method on the decorated class

AUR0767

This happens when root property on an Aurelia instance is access before at least one application has been started with this Aurelia instance

AUR0768

This happens when a new Aurelia is created with a predefined container that already has IAurelia registration in it, or its ancestors

AUR0769

This happens when an Aurelia application is started with a document fragment before it's adopted by a document

AUR0770

This happens when Aurelia.prototype.start is called with a null/undefined value as the first parameter

AUR0771

This happens when Aurelia.prototype.dispose is called before the instance is stopped

AUR0772

This happens when the @watch decorator is used without a valid first parameter

AUR0773

This happens when the @watch decorator is used and Aurelia is not able to resolve the first parameter to a function

AUR0774

This happens when the @watch decorator is used on a class property instead of a method

HTML observation errors

Error CodeDescription

AUR0651

This happens when the binding created .attr binding command is forced into two way mode against any attribute other than class/style

AUR0652

This happens when the default NodeObserverLocator.getObserver is called with an object and property combo that it doesn't know how to observe, and dirty checking is disabled

AUR0653

This happens when NodeObserverLocator property->observation events mapping is getting overridden

AUR0654

This happens when a <select> element is specified multiple, but the binding value is not an array

Controller errors

Error CodeDescription

AUR0500

This happens when Controller.getCachedOrThrow throws

AUR0501

This happens when a custom element is specified containerless and has <slot> element in its template

AUR0502

This happens when a disposed controller is being activated

AUR0503

This happens when the internal state of a controller is corrputed during activation

AUR0504

This happens when a synthetic view is activated without a proper scope

AUR0505

This happens when the internal state of a controller is coruppted during deactivation

AUR0506

This happens when Aurelia fails to resolve a function from the first parameter of a @watch decorator

Default resources errors

Error CodeDescription

AUR0801

This happens when & self binding behavior is used on non-event binding

AUR0802

This happens when & updateTrigger binding behavior is used without any arguments

AUR0803

This happens when & updateTrigger binding behavior is used on binding without view -> view model observation

AUR0804

This happens when & updateTrigger binding behavior is used on binding that does not target a DOM element

AUR0805

This happens when <au-compose> scopeBehavior property is assigned a value that is not either auto or scoped

AUR0806

This happens when <au-compose> component binding is used with a custom element with containerless = true

AUR0807

This happens when there's a corrupted internal state of <au-compose> and activation is called twice

AUR0808

This happens when there's a corrupted internal state of <au-compose> and deactivation is called twice

AUR0809

This happens when <au-render> component binding is given a string value, and there's no custom element with matching name

AUR0810

This happens when else attribute does not follow an if attribute

AUR0811

This happens when portal attribute is a given an empty string as CSS selector fortarget, and strict mode is on

AUR0812

This happens when portal attribute couldn't find the target element to portal to, and strict mode is on

AUR0813

This happens when then/catch/pending attributes is used outside of a promise attribute

AUR0814

This happens when the internal of the repeat attribute get into a race condition and is corrupted

AUR0815

This happens when case/default-case attributes is used outside of a switch attribute

AUR0816

This happens when there are multiple default-case attributes inside a switch attribute

AUR0817

This happens when & signal binding behavior is used on binding that does not have handleChange method

AUR0818

This happens when & signal binding behavior is used without a valid name (non empty)

Plugin errors

Error CodePlugin nameDescription

AUR0901

Dialog

This happens when an application is closed with some dialogs still open

AUR0903

Dialog

This happens when IDialogService.open is called without both component and template property

AUR0904

Dialog

This happens when the default configuration of the dialog plugin is used, as there's no registration associated for key interfaces

Runtime module

AST errors (from 101 to 150)

Error CodeDescription

AUR0101

This happens when Aurelia couldn't find a binding behavior specified in an expression

AUR0102

This happens when there are two binding behaviors with the same name in an expression

AUR0103

This happens when a value converter for a given name couldn't be found during the evaluation of an expression

AUR0104

This happens when a value converter for a given name couldn't be found during the assignment of an expression

AUR0105

This happens when the special $host contextual property is accessed but no thing is found in the scope tree

AUR0106

This happens when an expression looks like this $host = ..., as $host is a readonly property

AUR0107

This happens when a call expression is evaluated but the object evaluated by the expression isn't a function

AUR0108

This happens when a binary expression is evaluated with an unknown operator

AUR0109

This happens when an unary expression is evaluated with an unknown operator

AUR0110

This happens when a tagged template (function call) is but the function specified isn't a function

AUR0111

This happens when a function call AST is evaluated but no function is found

AUR0112

This happens when a non-object or non-array value is assigned for destructured declaration for a repeat.for statement

AUR0113

This happens when an increment operator is used outside of an event handler

Parser errors (from 151-200)

Error CodeDescription

AUR0151

An expression has an invalid character at the start

AUR0152

An expression has .. or ...

AUR0153

The parser encounters an unexpected identifier in an expression

AUR0154

The parser encounters an invalid AccessMember expression

AUR0155

The parers encounters an unexpected end in an expression

AUR0156

The parser encounters an unconsumable token in an expression

AUR0158

The expression has an invalid assignment

AUR0159

An expression has no valid identifier after the value converter ` | ` symbol

AUR0160

An expression has no valid identifier after the binding behavior & symbol

AUR0161

The parser encounters an invalid of keyword

AUR0162

The parser encounters an unconsumed token

AUR0163

The parser encounters an invalid binding identifier at left hand side of an of keyword

AUR0164

The parser encounters a literal object with a property declaration that it doesn't understand

AUR0165

An expression has an opening string quote ' or ", but no matching ending quote

AUR0166

An expression has an opening template string quote ```, but has no matching end

AUR0167

The parser encounters an unexpected token

AUR0168

The parser encounters an unexpected character

AUR0169

The parser encounters an unexpected character while parsing destructuring assignment expression

Others (from 200-300)

Error CodeDescription

AUR0201

BindingBehavior.getDefinition is called on a class/object without any binding behavior metadata associated

AUR0202

ValueConverter.getDefinition is called on a class/object without any value converter metadata associated

AUR0203

BindingContext.get is called with null/undefined as the first parameter

AUR0204

Scope.fromOverride is called with null/undefined as the first parameter

AUR0205

Scope.fromParent is called with null/undefined as the first parameter

AUR0206

ConnectableSwitcher.enter is called with null/undefined as the first parameter

AUR0207

ConnectableSwitcher.enter is called with the currently active connectable

AUR0208

ConnectableSwitcher.exit is called with null/undefined as the first parameter

AUR0209

ConnectableSwitcher.exit is called with an inactive connectable

AUR0210

getCollectionObserver is called with an not-supported collection type

AUR0211

a binding subscried to an observer, but does not implement method handleChange

AUR0212

a binding subscribed to a collection observer, but does not implement method handleCollectionChange

AUR0220

a Set/Map size observer .setValue method is called

AUR0221

the setValue method on a computed property without a setter

AUR0222

Aurelia doesn't know how to observe a property on an object, and dirty checking is disabled

AUR0224

Encounters an invalid usage of @observable

AUR0225

An effect is attempted to run again, after it has stopped

AUR0226

An effect has reach its limit of recursive update

Router-Lite

Router-Lite logs various events. Majority of those events are traces. The non-warn, non-error events are not logged in non-dev build, and are only available for troubleshooting in the dev-build. This section only lists the error codes.

Error CodeDescription

AUR3155

The route context cannot be resolved from the given DOM node. This happens if the given node is not a custom element or not a child-node of a custom element.

AUR3166

This happens when an attempt to eagerly (without involving the route recognizer) recognize a routing instruction failed. If you are getting this error, please report it.

AUR3167

This happens when the application root is not yet set, but the router is trying to set a routing root. If you are getting this error, please report it.

AUR3168

This happens when a route context already exist for the application root; for example if it attempted to set the routing root more than once.

AUR3169

This happens when no controller exists for the application root. If you are getting this error, please report it.

AUR3170

A route context cannot be resolved for the given input.

AUR3171

This happens when the route node of the route context is not set. If you are getting this error, please report it.

AUR3172

This happens when the viewport agent of the route context is not set. If you are getting this error, please report it.

AUR3173

This happens the import() function is used as component, while configuring a route, but no path has been specified. This is not supported.

AUR3174

No viewport agent can be resolved for a given request.

AUR3175

This happens the import() function is used as component, while configuring a route, but the module does not export any aurelia custom element.

AUR3270

A routing transition failed.

AUR3271

The routing context of the router is not set. If you are getting this error, please report it.

AUR3350

Activation of component from a viewport failed due to incorrect state. If you are getting this error, please report it.

AUR3351

Deactivation of component from a viewport failed due to incorrect state. If you are getting this error, please report it.

AUR3352

The state of the viewport agent is not as expected. If you are getting this error, please report it.

AUR3353

The transition was either erred or cancelled via one of the can* hooks, but the router attempts to continue with the current instruction instead of cancelling it. If you are getting this error, please report it.

AUR3400

A navigation instruction cannot be created.

AUR3401

Neither the given routing instruction can be recognized, nor a fallback is configured.

AUR3401

The redirect route cannot be recognized.

AUR3403

toUrlComponent is invoked on a navigation instruction with incompatible type. This happens when the type of the instruction is a promise or a view-model.

AUR3450

Thrown by the navigation model when the endpoint for a path is not found.

AUR3500

Thrown by the route expression parser upon encountering an unexpected segment.

AUR3501

Thrown by the route expression parser when all of the given input string cannot be consumed.

AUR3502

Thrown if an unexpected segment is encountered during migrating parameters for redirect route.

AUR3550

Thrown when a re-attempt is made to call the getRouteConfig hook for the same component. If you are getting this error, please report it.

AUR3551

A custom element definition could not be resolved from the given string name, as no route context was provided. If you are getting this error, please report it.

AUR3552

A custom element definition could not be resolved from the given string name, as it is potentially not a custom element.

AUR3553

A custom element definition could not be resolved from theimport() function, as no route context was provided to resolve it.

AUR3554

The validation of a route config failed due to unexpected type of property.

AUR3555

The validation of a route config failed, as the config is either undefined or null.

AUR3556

The validation of a route config failed due to unexpected property.

AUR3556

The validation of a redirect route config failed due to unexpected property.

Last updated