# AUR0909

## Error Message

`AUR0909: Dialog was closed before deactivation, did you call dialog.close()?`

## Description

This error occurs when a dialog is closed (or the host is torn down) before the dialog controller finishes its deactivation lifecycle. In practice, this usually means `dialog.close()` (or equivalent) was invoked at a time that conflicts with the dialog’s normal close/deactivate flow.

## Common Scenarios

* Calling `dialogController.close()` from inside `deactivate()` or during an in-progress deactivate transition.
* Closing the dialog while the app is being deactivated/disposed.
* A custom renderer/host removes dialog DOM early.

## Solution

* Avoid closing a dialog from within its own deactivation lifecycle.
* If you need to close from code, trigger close from user action or a safe lifecycle point (for example after activation/binding).
* Ensure custom renderers/hosts do not remove dialog content before the controller completes deactivation.

## Troubleshooting

* Check stack traces for where `close()` is called.
* If the app is shutting down, ensure dialogs are closed in an orderly way (for example await close results before disposing).


---

# 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/0901-to-0908/aur0909.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.
