Skip to main content
Version: 0.25.0

Interface: ExternalManifest

Defined in: core/externalExtensions.ts:113

An external extension's manifest: its plugin.json, the plugin's own metadata (Claude Code's fields, which its validator checks) and the kit's data (metadata["agent-kit"], which it doesn't read).

Properties​

PropertyTypeDescriptionDefined in
author?ExtensionAuthor-core/externalExtensions.ts:120
capabilitiesExtensionCapability[]What it lets the agent do, described for the person (#62): skills and tools together.core/externalExtensions.ts:129
catalog?objectHow a catalog shows it (#59): its logo (square) and banner (wide), paths inside its folder, as its manifest gives them.core/externalExtensions.ts:152
catalog.banner?string-core/externalExtensions.ts:152
catalog.logo?string-core/externalExtensions.ts:152
descriptionstringIts description in English: plugin.json's, which Claude Code reads.core/externalExtensions.ts:116
descriptionsPartial<Record<Language, string>>Its description in other languages (#67), from metadata["agent-kit"].description.core/externalExtensions.ts:118
help?stringWhat it says about itself in a session, for the agent to tell the person (SessionFacts).core/externalExtensions.ts:148
homepage?string-core/externalExtensions.ts:121
keywords?string[]-core/externalExtensions.ts:124
kit?stringThe agent-kit versions it works with, e.g. ">=0.19.0 <0.21.0".core/externalExtensions.ts:131
labelsRecord<string, Partial<Record<Language, ExternalToolLabel>>>Its tools' chat labels, by short name (of any of its servers) and language (English when the kit's isn't there).core/externalExtensions.ts:146
license?string-core/externalExtensions.ts:123
namestring-core/externalExtensions.ts:114
providesstring[]What it lets the agent use: its provides and its capabilities' ids.core/externalExtensions.ts:126
readOnlyTools?string[]Its tools that only read (short names, of any of its servers): plan mode lets them through. Without the key, plan mode asks its servers which (their tools' readOnlyHint); with it, the list is the whole answer, even empty.core/externalExtensions.ts:144
repository?string-core/externalExtensions.ts:122
requirementsExtensionRequirement[]Programs it needs on this computer (#63): checked when it loads, never installed. Without one the whole extension needs, it's off; without one only some capabilities need, those are.core/externalExtensions.ts:136
requiresstring[]-core/externalExtensions.ts:127
serversRecord<string, PluginServer>Its MCP servers, by name (mcp__<name>__<tool>), from the plugin's .mcp.json or plugin.json.core/externalExtensions.ts:138
userConfigRecord<string, ExtensionOption>Its options (userConfig, as Claude Code declares them, #55): its servers take them as ${user_config.KEY}.core/externalExtensions.ts:150
version?string-core/externalExtensions.ts:119