> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-cms/17.latest/extend-your-project/backoffice-extensions/extending-overview/extension-registry.md).

# Extension Registry

Almost any UI in the Backoffice is an extension managed by the Extension Registry.

The Umbraco backoffice is built with extensibility in mind. The backoffice without extensions is more or less a blank canvas that is built out using extensions. These extensions dictate how the backoffice functions and looks. All visual elements in an Umbraco installation, like the sections, menus, trees, and buttons, are extensions. But extensions also dictate behavior and the editing experience. So everything in the backoffice is governed (and extendable) by extensions.

{% hint style="info" %}
You can see which extensions are registered in the backoffice by going to Settings > Extensions Insights.
{% endhint %}

All extensions are registered in the extension registry. The registry can be manipulated at any time, meaning you can add or remove extensions at runtime. You, as a developer, have the same possibilities as an Umbraco HQ developer, which means that what HQ can do, you can do. This also means that you can change almost everything that is by default present in Umbraco.

## [Introduction to Extension Manifest](/umbraco-cms/17.latest/extend-your-project/backoffice-extensions/extending-overview/extension-registry/extension-manifest.md)

An Extension Manifest is a declaration of what you want to register in the Umbraco backoffice. This article handles the layout and requirements of an Extension Manifest.

## [Register an Extension](/umbraco-cms/17.latest/extend-your-project/backoffice-extensions/extending-overview/extension-registry/register-extensions.md)

This article handles how to register an extension using an `umbraco-package.json` file.

## [Change an existing extension](/umbraco-cms/17.latest/extend-your-project/backoffice-extensions/extending-overview/extension-registry/replace-exclude-or-unregister.md)

Once you understand how to declare your own, you may want to replace or remove existing ones.


---

# 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.umbraco.com/umbraco-cms/17.latest/extend-your-project/backoffice-extensions/extending-overview/extension-registry.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.
