---
title: Extensions
slug: extensions
description: Review, install, enable, update, and remove optional extensions, including marketplace listings and your own uploaded packages.
productSlug: cedros
productLabel: Cedros
sectionKey: settings
sectionLabel: Settings
---
# Extensions

The Extensions page is where you add optional features to your site. From here you can see everything that's installed, browse the marketplace for new extensions, upload your own package, and open any single extension to review exactly what it adds and what it can access before you turn it on. Reviewing each extension before enabling it is the whole point of this page, so most screens lead with a plain summary of contributions and permissions.

You need the **manage extensions** permission to see and use this page. Without it, the page is hidden.

## What's on this page

When you arrive, you land on the installed extensions list. Two buttons sit in the header: **Browse extensions** opens the marketplace, and **Upload extension** lets you add a private package from your device. The page title is **Extensions** with the description "Add optional features to your site. Review what each extension adds and can access before you enable it."

### Status summary

A row of four boxes near the top, under the label **Extension status**:

- **Installed** — How many extensions are added to this site. Just a count.
- **Enabled** — How many are currently turned on. Click it to filter the list to enabled extensions.
- **Updates** — How many have a new version available. Click it to filter to those.
- **Needs attention** — How many require review. Click it to filter to those.

The last three act as quick filters. Clicking one highlights it and narrows the list below; clicking again clears it.

### Installed Extensions

The main section, titled **Installed Extensions**, with a line telling you how many are installed and that you can "Manage settings, updates, and access for each extension."

- **Search extensions** — A search box that filters the list as you type.
- Four dropdown filters:
  - **Status** — All, Enabled, Disabled, Needs attention, or Blocked.
  - **Category** — All categories, plus whatever categories your installed extensions belong to.
  - **Source** — All sources, Marketplace, Uploaded, Private, Bundled, or Local development.
  - **Updates** — All updates, Updates available, or Up to date.
- When any filter or search is active, a "Filters applied." note appears with a **Clear filters** button.

The list itself is a table with sortable **Status** and **Extension** columns and an actions column. Each row shows the extension's status pills, its name (click it to open the detail view), a "v[version] available" pill when an update is waiting, and action buttons. Depending on the extension, the actions are **Enable**, **Disable**, **Update**, or **Remove**. While an action runs, its button reads **Working...**

Removing opens a confirmation dialog titled "Remove [extension-name]?" with two choices, **Remove And Keep Data** and **Remove + Delete Data**, plus **Cancel**. Which wording is emphasized depends on the extension's data-retention preference.

If nothing is installed yet, you'll see "No extensions installed yet" with a prompt to install from the marketplace or upload a package. If your filters hide everything, you'll see "No extensions match these filters" with a **Clear filters** button.

### Extension detail (quick view)

Clicking an extension's name opens its detail view in place. A **Back** breadcrumb returns you to the list. The view is a stack of cards; only the cards that apply to this extension appear:

- **Hero card** — The extension's name, its ID and version, a description, and status pills (installability, lifecycle, and an update pill if one exists). The action buttons here mirror the row actions (Install, Enable, Disable, Update, Remove, and so on); a running action shows **Working...**
- **Review notice** — Titled **Review required** (for high-impact extensions) or **Review recommended**. Appears until you approve what the extension can access. It explains what to check and offers a button to approve the review.
- **Setup** — Titled **Setup**. Appears when the extension has a guided setup. The **Finish setup** button starts the onboarding workflow (see below).
- **Blockers** — Lists anything preventing the extension from running, with an error or warning tone for each item.
- **Access requested** — Titled **Access requested** ("What this extension can access on your site so its features work."). Lists the extension's capabilities and the access scopes it requests, with a trust summary when available.
- **What's added** — Titled **What's added** ("The pages, forms, and settings this extension adds to your site."). Lists what the extension adds, such as pages, menu items, or other surfaces.
- **Compatibility** — Shown when there are non-blocking requirements and no blockers; confirms the extension fits this site.
- **Details** — Metadata: version, publisher, package ID, and source.
- **Danger zone** — A remove card titled **Danger zone**. The button (for example **Uninstall**) switches the card to a **Confirm removal** state with **Remove And Keep Data**, **Remove + Delete Data**, and **Cancel**. Keeping data hides the extension's pages without dropping anything; deleting data clears retained state and asks the host to run any cleanup.

### Advanced Extension Console

At the bottom of the detail view is a collapsed disclosure labeled **Advanced Extension Console** ("Open the deeper decision, compare, governance, and troubleshooting surfaces for this extension."). Open it only when you need to dig in. It opens a panel titled **Extension Management Console** with deeper sections, including **Operator Journey**, **Comparison Carryover** (compare up to two extensions side by side), **Decision Console**, **Governance Console**, **Dependency Relationships**, **Release Posture**, **Action History & Troubleshooting**, **Capability Trust Review**, and full **Capability Inventory** and **Contribution Inventory** listings. Most day-to-day work doesn't require this; it's for diagnosing problems, comparing options, and governance review. If no extension is selected, it reads "No extension family selected."

### Onboarding workflow

Some extensions ship a guided setup, reached from **Finish setup** on the Setup card. It's a step-by-step flow titled "[extension] setup" with a "Step X of Y" subtitle. A numbered button grid lets you jump to any step. Each step shows its own controls, and a note reminds you to save changes with the extension's page controls before continuing. The **Back** button (or **Back To Extension** on the first step) moves you back; **Continue** advances, and **Finish onboarding** ends the flow on the last step. When every step is done, you'll see "All extension onboarding steps are complete." and a **Back To Extension** button.

### Extension Marketplace

Reached from **Browse extensions** at `/admin/settings/extensions/marketplace`. Titled **Add the capabilities your site needs.** with a description explaining the compatible-extension review and install workflow. A **Back** breadcrumb returns to the list; package upload remains a separate flow launched from the extensions overview.

- **Marketplace extensions** — The catalog of install-ready listings. A search box ("Filter extensions...") and availability chips narrow the grid, while category chips filter by type. Each card shows the publisher, extension name, description, capability chips, and actions such as Install or View details. If nothing matches, you'll see "No marketplace extensions match this search."

### Upload extension

Reached from **Upload extension** at `/admin/settings/extensions/upload`. This page contains only the **Private package** upload panel; marketplace listings and header actions are not shown beside it. Drop a `.zip` archive onto the **Drop a .zip here** zone or click to browse, then **Upload package**. If this host hasn't enabled local package intake, the panel is disabled and explains that "Local package upload is unavailable on this host."

### Reviewing an upload or new install

When you install a marketplace or uploaded extension, a review surface appears first, titled **Review extension** ("Before enabling [extension], review what it adds and what it can access."). It lays out **What's added**, **Access requested**, and either **Blockers** or a **Compatibility** confirmation, plus a **Technical details** disclosure (Package ID, Version, Source, Platform API, included items, and access scope counts). The footer reminds you "You can disable or remove this extension later from Extensions." and offers three buttons: **Cancel**, **Install without enabling**, and **Install and enable**. The screen then moves through install and enable progress, ending in a done, blocked, or failed result. If an install succeeds but the extension stays off, you can enable it from that result screen.

## Common things you can do here

### Install an extension from the marketplace

1. Click **Browse extensions** in the header.
2. Search or filter to find the extension, then open its card or click **Install**.
3. On the **Review extension** screen, read the contributions and permissions.
4. Click **Install and enable** to turn it on now, or **Install without enabling** to add it but leave it off.

### Upload your own extension package

1. Click **Upload extension** from the extensions overview header.
2. Drop your `.zip` archive on **Drop a .zip here**, or click to browse, then **Upload package**.
3. Review the **Review extension** screen, then choose **Install and enable** or **Install without enabling**.

### Turn an extension on or off

From the **Installed Extensions** table, click **Enable** or **Disable** on the extension's row. The change takes effect immediately. Disabling hides the extension's pages without deleting its data.

### Update an extension

When an extension shows a "v[version] available" pill, click **Update** on its row (or in the detail view's hero card). You can also click the **Updates** summary box to filter the list to everything with an update waiting.

### Run an extension's guided setup

1. Open the extension to its detail view.
2. Click **Finish setup** on the Setup card.
3. Work through each step, saving with the extension's own controls, and click **Continue**.
4. Click **Finish onboarding** on the last step.

### Remove an extension

1. Click **Remove** on the row, or open the detail view and use the **Danger zone** card.
2. In the confirmation, choose **Remove And Keep Data** to keep its stored data, or **Remove + Delete Data** to clear it.
3. Or click **Cancel** to back out.

## Tips

- **Read before you enable.** The review notice and the **Access requested** card exist so you know what an extension can access. High-impact extensions show **Review required** and won't enable until you approve.
- **Disabling is reversible; deleting data isn't.** **Remove And Keep Data** hides the extension but keeps its state, so you can reinstall cleanly later. **Remove + Delete Data** clears retained state and runs the extension's cleanup.
- **Use the summary boxes as shortcuts.** Clicking **Enabled**, **Updates**, or **Needs attention** instantly filters the list to just those extensions.
- **The Advanced Extension Console is optional.** It's collapsed for a reason. Reach for it for comparisons, governance, dependency maps, or troubleshooting, not routine enabling and updating.
- **Uploads must be a single `.zip`.** The upload panel accepts one Cedros `.zip` archive at a time.

## Troubleshooting

- **Don't see the Extensions page at all?** You need the **manage extensions** permission. Ask an admin to grant it.
- **An extension won't enable?** Open its detail view and check the **Blockers** card. Blocking requirements must be resolved first. Also confirm you've approved the review notice if it shows **Review required**.
- **Upload panel is disabled or says it's unavailable?** This host hasn't enabled local package intake. You'll see "Local package upload is unavailable on this host." Install from the marketplace instead, or ask whoever manages the deployment to enable package uploads.
- **The list looks empty after searching?** Check for a "Filters applied." note and click **Clear filters**, or clear the search box. If nothing is installed at all, you'll see "No extensions installed yet."
- **An install finished but the extension is off?** That's the result of choosing **Install without enabling**, or of blocking requirements. Use the **Enable** button on the result screen or in the row once any blockers are cleared.
- **A button reads "Working..." and seems stuck?** An action is still running. Give it a moment; the button returns to its normal label when the action completes.
