Interface: Extension
Defined in: core/extensions.ts:93
An internal extension: its plugin (whose manifest gives its name, description and capabilities), what it needs from the session, and what it brings.
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
external? | boolean | Installed rather than shipped in a package (#37): its subagents get no Bash, and no plugin hook runs. | core/extensions.ts:99 |
installedIn? | string | An installed one's scope folder, where its lock is (its plugin is elsewhere when it's linked). | core/extensions.ts:101 |
name | string | Its name, the same as its plugin's (plugin.json's name). | core/extensions.ts:95 |
plugin | string | Its plugin's root: .claude-plugin/plugin.json, and its skills and commands, if any. | core/extensions.ts:97 |
Methods
contribute()
contribute(context): Promise<ExtensionContribution>;
Defined in: core/extensions.ts:105
What it brings to the session, once it's active.
Parameters
| Parameter | Type |
|---|---|
context | ExtensionContext |
Returns
Promise<ExtensionContribution>
missing()?
optional missing(context): string | undefined;
Defined in: core/extensions.ts:103
Why it can't run in this session (e.g. "needs a folder (dir)"), or undefined when it can.
Parameters
| Parameter | Type |
|---|---|
context | ExtensionContext |
Returns
string | undefined