Hmbown/CodeWhale · error

local install path must not be empty

Error message

local install path must not be empty

What it means

PluginInstallSource::local (the fallback arm of parse for non-remote specs) rejected a local path that is empty after trimming. Note plain whitespace is treated as absent input, matching the top-level empty-spec guard.

Source

Thrown at crates/tui/src/plugins/install/mod.rs:129

            || trimmed.starts_with("http://")
        {
            let source = InstallSource::parse(trimmed)?;
            return match source {
                InstallSource::GitHubRepo(_) | InstallSource::DirectUrl(_) => {
                    Ok(Self::Remote(source))
                }
                InstallSource::Registry(_) => {
                    unreachable!("prefixed specs never parse as a registry name")
                }
            };
        }
        Self::local(trimmed)
    }

    fn local(spec: &str) -> Result<Self> {
        let trimmed = spec.trim();
        if trimmed.is_empty() {
            bail!("local install path must not be empty");
        }
        Ok(Self::LocalPath(PathBuf::from(trimmed)))
    }
}

/// Serialize a source for the `.installed-from` marker. Must round-trip
/// through [`PluginInstallSource::parse`].
fn plugin_spec_string(source: &PluginInstallSource, canonical_source: Option<&Path>) -> String {
    match source {
        PluginInstallSource::LocalPath(_) => {
            let path = canonical_source.expect("local installs record the canonical source");
            format!("path:{}", path.display())
        }
        PluginInstallSource::Remote(remote) => source_spec_string(remote),
    }
}

// ─────────────────────────────────────────────────────────────────────────────

View on GitHub (pinned to 0c42157ee5)

Solutions

  1. Supply the actual bundle directory path
  2. Retry /plugin install
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/tui/src/plugins/install/mod.rs:129 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/161c07e37e0485bf. Report an issue: GitHub.