jdx/mise · error
Paranoid mode is enabled, refusing to install community-deve
Error message
Paranoid mode is enabled, refusing to install community-developed plugin
What it means
mise's paranoid mode blocks installation of community-developed (third-party) vfox/asdf plugins. Because community plugins execute arbitrary install hooks and shell code, paranoid mode refuses to install them automatically instead of just warning. The check fires in ensure_installed after the plugin URL warning is printed, before the interactive confirmation prompt.
Source
Thrown at src/plugins/vfox_plugin.rs:296
return Ok(());
}
let settings = Settings::try_get()?;
if !force {
if self.is_installed() {
return Ok(());
}
if !settings.yes && self.repo_url.lock().unwrap().is_none() {
let url = self.get_repo_url(config)?;
let url_string = url.to_string();
if !registry::is_trusted_plugin(self.name(), &url_string) {
warn!(
"⚠️ {} is a community-developed plugin – {}",
style(&self.name).blue(),
style(&url_string.trim_end_matches(".git")).yellow()
);
if settings.paranoid {
bail!(
"Paranoid mode is enabled, refusing to install community-developed plugin"
);
}
if !prompt::confirm_with_all(format!(
"Would you like to install {}?",
self.name
))?
.is_yes()
{
Err(PluginNotInstalled(self.name.clone()))?
}
}
}
}
let prefix = format!("plugin:{}", style(&self.name).blue().for_stderr());
let pr = mpr.add_with_options(&prefix, dry_run);
if !dry_run {View on GitHub (pinned to afd2eddd3a)
Solutions
- If you trust the plugin, disable paranoid mode: `mise settings set paranoid false` (or unset it if set via MISE_PARANOID env var).
- Prefer a non-plugin backend for the tool (aqua:, github:, npm:, cargo:, or a core backend) so no community plugin install is required.
- Vet the plugin source URL, then install it explicitly once with paranoid off, and re-enable paranoid mode afterwards.
- In CI, pre-install the plugin in a setup step with paranoid mode disabled instead of relying on the prompt.
Example fix
// before (mise.toml referencing a community plugin, paranoid on) [tools] mytool = "vfox:community/mytool" // refuses under paranoid mode // after: use a trusted backend instead [tools] mytool = "github:community/mytool-repo"
Defensive patterns
Strategy: validation
Validate before calling
// bash: fail fast in CI if paranoid mode would block a plugin install
if [ "$(mise settings get paranoid)" = "true" ]; then
mise ls-remote --plugin vfox:community/mytool >/dev/null 2>&1 && \
echo 'paranoid mode on: pre-install the plugin in a setup step' && exit 1
fi Prevention
- Check `mise settings get paranoid` before relying on community plugins.
- Prefer first-party backends (aqua:, github:, npm:, core) over vfox/asdf community plugins.
- Pre-install plugins in CI setup steps rather than during task execution.
- Vet plugin sources and keep an allowlist of trusted plugin URLs.
When it happens
Trigger: Running any command that needs a plugin not shipped as a core/backend builtin (e.g. `mise use vfox:some/plugin`, `mise install`) while the `paranoid` setting is enabled, and the plugin resolves to a community-developed plugin rather than a trusted source.
Common situations: Users who enabled `settings.paranoid = true` in global config for supply-chain safety then try to install a tool whose backend is an external community plugin; CI environments with paranoid mode set that encounter a project .mise.toml/.tool-versions referencing a third-party plugin, where the interactive confirm prompt can never be answered.
Understand the failure class
Background: "You do not have permission" / 403 Forbidden errors: authenticated but not allowed — causes and fixes across open-source libraries — this error's family across 31 libraries.
Related errors
- package plugin '{}' collides with a built-in package manager
- cached rustc output has an unsafe file mode: {}
- [dotfiles]."{}": target is not a safe OCI path
- failed to parse registry option {k} as a TOML value: {e}
- expected world-writable ancestor to be refused
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/13a7fb1a3ff32916.
Report an issue: GitHub.