Hmbown/CodeWhale · error
only user-scope bundles installed via /plugin install can be
Error message
only user-scope bundles installed via /plugin install can be updated; `{selector}` is a {} bundle What it means
update_plugin scope guard: mutation via this surface is restricted to user-scope bundles originally installed through /plugin install; the selected bundle belongs to another scope (built-in, workspace, etc. — shown in the placeholder). Those are managed in their own roots, so update is refused here.
Source
Thrown at crates/tui/src/plugins/mutation.rs:171
installed_content_hash: Some(installed.installed_content_hash),
outcome: PluginMutationOutcome::Installed,
},
PluginInstallOutcome::NeedsApproval(host) => blocked(host, true),
PluginInstallOutcome::NetworkDenied(host) => blocked(host, false),
})
}
async fn update_plugin(
selector: &str,
ctx: &PluginMutationContext<'_>,
registry: &mut PluginRegistry,
) -> Result<PluginMutationReceipt> {
let plugin = registry
.get(selector)
.with_context(|| format!("Plugin bundle `{selector}` was not found"))?
.clone();
if plugin.scope != PluginScope::User {
bail!(
"only user-scope bundles installed via /plugin install can be updated; \
`{selector}` is a {} bundle",
plugin.scope.as_str()
);
}
let plugins_dir = user_plugins_dir(registry)?;
let outcome = install::update(plugin.name(), &plugins_dir, ctx.max_size, ctx.network).await?;
Ok(match outcome {
PluginUpdateResult::NoChange => PluginMutationReceipt {
name: plugin.name().to_string(),
path: None,
content_hash: None,
installed_content_hash: None,
outcome: PluginMutationOutcome::NoChange,
},
PluginUpdateResult::Updated(installed) => PluginMutationReceipt {
name: installed.name,
path: Some(installed.path),View on GitHub (pinned to 0c42157ee5)
Solutions
- Update the bundle in its own root/scope
- Or install a user-scope copy via /plugin install and update that
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at crates/tui/src/plugins/mutation.rs:171 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/d86fc6814309570a.
Report an issue: GitHub.