# AUR0753

## Error Message

`AUR0753: Attribute <attribute-name> is not registered in <component-name>.`

Where `<attribute-name>` is the name of the custom attribute used in the template, and `<component-name>` is the name of the component whose template is being rendered.

## Description

This error occurs during rendering when Aurelia encounters a custom attribute in the template (e.g., `<div my-attribute.bind="..."></div>`), but it cannot find the definition for that attribute (`my-attribute`) within the resources registered for the current component or globally. This applies to regular custom attributes, not template controllers (which have a separate error code, AUR0754).

## Cause

The causes are analogous to those for missing custom elements (AUR0752):

1. **Missing Import:** The custom attribute class was not imported into the component's view model file.
2. **Missing `dependencies` Array:** The custom attribute was imported but not included in the `dependencies` array of the component's definition.
3. **Typo in Attribute Name:** The name used in the template (e.g., `my-attrbute`) doesn't match the registered name of the custom attribute (e.g., `my-attribute`). Attribute names are case-insensitive in HTML but often defined with kebab-case.
4. **Incorrect Registration:** The attribute is defined elsewhere but wasn't correctly registered globally (`Aurelia.register(...)`) or locally via `dependencies`.
5. **Build/Bundling Issues:** The build process failed to include the attribute definition.

## Solution

The solutions mirror those for custom elements:

1. **Import the Attribute:** Ensure the custom attribute class is imported in the view model file.
2. **Add to Dependencies:** Add the imported custom attribute class to the `dependencies` array.

   ```typescript
   import { MyAttribute } from './my-attribute';
   import { customElement } from 'aurelia';

   @customElement({
     name: 'my-component',
     template: `<div my-attribute></div>`,
     dependencies: [MyAttribute] // <-- Add here
   })
   export class MyComponent { }
   ```
3. **Verify Name:** Check the attribute name in the template against its definition (`@customAttribute('my-attribute')` or similar).
4. **Check Registration:** Ensure proper global or local registration.
5. **Verify Build:** Check the build/bundler configuration and output.

## Debugging Tips

* Check the browser's console for the exact error message.
* Verify the import path and the `dependencies` array.
* Search the codebase for the attribute definition to confirm the name.
* Inspect the browser's loaded sources to see if the attribute's code is present.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aurelia.io/developer-guides/error-messages/runtime-html/aur0753.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
