tinyhumansai/openhuman · error
uninstall_workflow: {e}
Error message
uninstall_workflow: {e} What it means
Generic wrapper from uninstall_workflow: removing the named workflow directory failed after the name argument was read. The underlying {e} names the real cause — most commonly the workflow does not exist, or the directory could not be deleted.
Source
Thrown at src/openhuman/skills/tools.rs:682
}
fn parameters_schema(&self) -> serde_json::Value {
json!({
"type": "object",
"properties": { "name": { "type": "string", "description": "Workflow name (directory) to remove." } },
"required": ["name"]
})
}
fn permission_level(&self) -> PermissionLevel {
PermissionLevel::Dangerous
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][skills] uninstall invoked");
let name = read_required_str(&args, "name")?;
let outcome = uninstall_workflow(UninstallWorkflowParams { name }, None)
.map_err(|e| anyhow::anyhow!("uninstall_workflow: {e}"))?;
Ok(ToolResult::success(serde_json::to_string(&outcome)?))
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::openhuman::tools::traits::ToolScope;
fn cfg() -> Arc<Config> {
Arc::new(Config::default())
}
#[test]
fn skill_allowed_respects_optional_allowlist() {
// None = all skills visible.
assert!(skill_allowed(&None, "deep-research"));
// Some(set) restricts to named dir_name slugs.View on GitHub (pinned to 7491200858)
Solutions
- Confirm the workflow name matches an installed directory exactly (it is the directory name, not a title)
- List installed workflows to see the exact name
- Check filesystem permissions on the skills/workflows root
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/openhuman/skills/tools.rs:682 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/eb0dcd02b6527a72.
Report an issue: GitHub.