Skip to content

Extension points

An extension point is a host-defined contract or location where an extension can contribute behavior or content. It defines what the host accepts, when it is invoked, and which data or services cross the boundary.

Compiled extensions start with the core extension lifecycle and can opt into capability interfaces. Supported categories include service registration, metadata and intake providers, scanners, generators, analyzers, background work, storage, API exposure, event handling, health checks, and type-specific services.

The host owns lifecycle and composition. Extensions should depend on public contracts and injected services rather than internal implementation types. Capability-specific base classes can reduce boilerplate but do not expand the underlying contract.

UI extension points include pages, navigation, slots, tabs, settings surfaces, actions, appearance, filters, sorts, and selected replacement surfaces. Each point has a target, declaration shape, and runtime context. Some declaration builders are reserved until a host consumer exists.

An extension point’s availability is versioned with Cove and the extension SDK. A manifest compatibility declaration helps installation decisions but does not make unsupported APIs stable. Consult the capability catalog for signatures and current limitations.