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

  1. If you trust the plugin, disable paranoid mode: `mise settings set paranoid false` (or unset it if set via MISE_PARANOID env var).
  2. Prefer a non-plugin backend for the tool (aqua:, github:, npm:, cargo:, or a core backend) so no community plugin install is required.
  3. Vet the plugin source URL, then install it explicitly once with paranoid off, and re-enable paranoid mode afterwards.
  4. 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

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


AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09). Data as JSON: /api/errors/13a7fb1a3ff32916. Report an issue: GitHub.