> For the complete documentation index, see [llms.txt](https://docs.aurelia.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aurelia.io/developer-guides/error-messages/0088-to-0723/aur0716.md).

# AUR0716

Template compilation error: duplicate definition of the local template named "xxxx" in element "yyyy"

### **Error message**

Template compilation error: duplicate definition of the local template named "{{0}}" in element "{{1}}"

### **Parameters**

1. `localElementName`: The duplicate name used in the `as-custom-element` attribute.
2. `owningElementName`: The name of the custom element whose template contains the duplicate local element definition.

### Error explanation

This error occurs during template compilation when two or more local element definitions (`<template as-custom-element="...">`) within the same parent component's template are given the same name via the `as-custom-element` attribute. Each local element defined within a parent component must have a unique name.

### Common causes

* Copy-pasting a `<template as-custom-element="...">` block and forgetting to change the name in the `as-custom-element` attribute.
* Accidentally using the same name for two different local element concepts within the same parent component.

### How to fix

* Review the `<template as-custom-element="...">` tags within the parent component's template (`{{1}}`).
* Ensure that the value provided to each `as-custom-element` attribute is unique within that template.
* Rename the duplicate local element definitions to have distinct names.

### Example of Incorrect Usage:

```html
<!-- my-component.html -->
<template>
  <local-widget></local-widget>
  <local-widget></local-widget> <!-- This will resolve to the first definition -->

  <!-- Error: Duplicate local element name "local-widget" -->
  <template as-custom-element="local-widget">
    <div>Widget Version 1</div>
  </template>
  <template as-custom-element="local-widget">
    <span>Widget Version 2</span>
  </template>
</template>
```

### Example of Correct Usage:

```html
<!-- my-component.html -->
<template>
  <local-widget-a></local-widget-a>
  <local-widget-b></local-widget-b>

  <!-- Correct: Unique names -->
  <template as-custom-element="local-widget-a">
    <div>Widget Version 1</div>
  </template>
  <template as-custom-element="local-widget-b">
    <span>Widget Version 2</span>
  </template>
</template>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.aurelia.io/developer-guides/error-messages/0088-to-0723/aur0716.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
