Skip to main content
Version: 0.24.0

Interface: ExternalManifest

Defined in: core/externalExtensions.ts:69

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:76
capabilitiesExtensionCapability[]What it lets the agent do, described for the person (#62): skills and tools together.core/externalExtensions.ts:85
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:108
catalog.banner?string-core/externalExtensions.ts:108
catalog.logo?string-core/externalExtensions.ts:108
descriptionstringIts description in English: plugin.json's, which Claude Code reads.core/externalExtensions.ts:72
descriptionsPartial<Record<Language, string>>Its description in other languages (#67), from metadata["agent-kit"].description.core/externalExtensions.ts:74
help?stringWhat it says about itself in a session, for the agent to tell the person (SessionFacts).core/externalExtensions.ts:104
homepage?string-core/externalExtensions.ts:77
keywords?string[]-core/externalExtensions.ts:80
kit?stringThe agent-kit versions it works with, e.g. ">=0.19.0 <0.21.0".core/externalExtensions.ts:87
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:102
license?string-core/externalExtensions.ts:79
namestring-core/externalExtensions.ts:70
providesstring[]What it lets the agent use: its provides and its capabilities' ids.core/externalExtensions.ts:82
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:100
repository?string-core/externalExtensions.ts:78
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:92
requiresstring[]-core/externalExtensions.ts:83
serversRecord<string, PluginServer>Its MCP servers, by name (mcp__<name>__<tool>), from the plugin's .mcp.json or plugin.json.core/externalExtensions.ts:94
userConfigRecord<string, ExtensionOption>Its options (userConfig, as Claude Code declares them, #55): its servers take them as ${user_config.KEY}.core/externalExtensions.ts:106
version?string-core/externalExtensions.ts:75