pub enum PluginError {
Show 19 variants
InvalidManifest(String),
InvalidName {
name: String,
reason: String,
},
DisallowedMcpCommand {
id: String,
command: String,
},
SkillNameConflictWithManaged {
name: String,
},
SkillNameConflictWithBundled {
name: String,
},
SkillNameConflictWithPlugin {
name: String,
plugin: String,
},
UnsafeOverlay {
key: String,
},
SkillEntryMissing {
path: PathBuf,
},
NotFound {
name: String,
},
InvalidSource {
path: String,
reason: String,
},
Io {
path: PathBuf,
source: Error,
},
Toml(Error),
TomlSer(Error),
SemanticViolation {
skill: String,
reason: String,
},
IntegrityCheckFailed {
expected: String,
actual: String,
},
DownloadFailed {
url: String,
reason: String,
},
DependencyRequired {
name: String,
dependents: String,
hints: String,
},
DependencyCycle {
name: String,
cycle: String,
},
MissingDependency {
name: String,
dependency: String,
},
}Expand description
Errors that can occur during plugin install, remove, or list operations.
Variants§
InvalidManifest(String)
The plugin manifest (plugin.toml) is missing or cannot be parsed.
InvalidName
The plugin name is invalid (empty, contains path separators, or reserved).
DisallowedMcpCommand
A plugin MCP entry declares a command not in mcp.allowed_commands.
SkillNameConflictWithManaged
A plugin skill name conflicts with an existing managed (user) skill.
SkillNameConflictWithBundled
A plugin skill name conflicts with a compile-time bundled skill.
SkillNameConflictWithPlugin
A plugin skill name conflicts with a skill from another installed plugin.
UnsafeOverlay
A plugin’s [config] section contains a key not in the tighten-only safelist.
SkillEntryMissing
A [[skills]] path entry does not contain a valid SKILL.md file.
NotFound
The plugin directory does not exist or cannot be read.
InvalidSource
The plugin source path or URL is invalid.
Io
A filesystem operation failed.
Toml(Error)
TOML serialization/deserialization error.
TomlSer(Error)
TOML serialization error.
SemanticViolation
The SKILL.md semantic scan determined the skill is non-compliant.
Only raised when skill.semantic_scan = true in agent config and the LLM
classifier returns compliant: false. Stage-1 regex matches are advisory
(warnings) and never produce this error.
IntegrityCheckFailed
SHA-256 digest of a downloaded archive does not match the expected value.
Returned by crate::manager::PluginManager::add_remote when the caller
supplies an expected_sha256 and the download does not match.
Do not install or extract the archive — it may have been tampered with.
DownloadFailed
HTTP download of a remote plugin archive failed.
DependencyRequired
Attempted to remove or disable a plugin that other enabled plugins depend on.
Fields
DependencyCycle
A dependency cycle was detected while enabling a plugin.
Fields
MissingDependency
A declared dependency plugin is not installed.
Trait Implementations§
Source§impl Debug for PluginError
impl Debug for PluginError
Source§impl Display for PluginError
impl Display for PluginError
Source§impl Error for PluginError
impl Error for PluginError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()