zeroclaw-labs/zeroclaw · error

URL cannot be empty

Error message

URL cannot be empty

What it means

Error "URL cannot be empty" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-tools/src/web_fetch.rs:706

    Ok(ResolvedWebFetchTarget {
        url: canonical_url.to_string(),
        host,
        resolved_addrs: resolved_addrs.unwrap_or_default(),
    })
}

fn validate_target_url_with_dns_check(
    raw_url: &str,
    allowed_domains: &[String],
    blocked_domains: &[String],
    allowed_private_hosts: &[String],
    tool_name: &str,
    validate_dns: impl FnOnce(&str, bool) -> anyhow::Result<()>,
) -> anyhow::Result<String> {
    let url = raw_url.trim();

    if url.is_empty() {
        anyhow::bail!("URL cannot be empty");
    }

    if url.chars().any(char::is_whitespace) {
        anyhow::bail!("URL cannot contain whitespace");
    }

    if !url.starts_with("http://") && !url.starts_with("https://") {
        anyhow::bail!("Only http:// and https:// URLs are allowed");
    }

    if allowed_domains.is_empty() {
        anyhow::bail!(
            "{tool_name} tool is enabled but no allowed_domains are configured. \
             Add [{tool_name}].allowed_domains in config.toml"
        );
    }

    let host = extract_host(url)?;

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Provide a non-empty URL.

When it happens

Trigger: Thrown at crates/zeroclaw-tools/src/web_fetch.rs:706 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/c7766986d10a3680. Report an issue: GitHub.