tinyhumansai/openhuman · error
dest_path cannot be empty
Error message
dest_path cannot be empty
What it means
resolve_dest trims the dest_path and found nothing left, so there is no file name to place the download under; the request is refused before any path joining happens.
Source
Thrown at src/openhuman/tools/impl/network/curl.rs:55
timeout_secs: u64,
) -> Self {
Self {
security,
allowed_domains: normalize_allowed_domains(allowed_domains),
workspace_dir,
dest_subdir: sanitize_dest_subdir(&dest_subdir),
max_download_bytes,
timeout_secs,
}
}
/// Resolve a user-supplied dest path to an absolute path inside
/// `<workspace>/<dest_subdir>`. Rejects absolute paths, `..`
/// segments, and any other escape attempts.
fn resolve_dest(&self, dest: &str) -> anyhow::Result<PathBuf> {
let trimmed = dest.trim();
if trimmed.is_empty() {
anyhow::bail!("dest_path cannot be empty");
}
let p = Path::new(trimmed);
if p.is_absolute() {
anyhow::bail!("dest_path must be relative — got absolute path");
}
for component in p.components() {
match component {
Component::Normal(_) => {}
Component::CurDir => {}
Component::ParentDir => {
anyhow::bail!("dest_path may not contain '..'");
}
Component::Prefix(_) | Component::RootDir => {
anyhow::bail!("dest_path must be relative");
}
}View on GitHub (pinned to 7491200858)
Solutions
- Supply a non-empty relative file name or subpath for dest_path
- Check that dest_path is not only whitespace in the tool arguments
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/network/curl.rs:55 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/9a029723490b9442.
Report an issue: GitHub.