tinyhumansai/openhuman · error · anyhow::Error

missing required argument `name`

Error message

missing required argument `name`

What it means

The skill-registry remove tool was invoked without a usable `name` argument — the installed-skill slug is missing, not a string, or empty after trimming. Removal needs the slug to locate the installed bundle, so the guard fires before any filesystem change.

Source

Thrown at src/openhuman/skills/catalog/tools.rs:282

                    "type": "string",
                    "description": "Installed skill slug to remove."
                }
            },
            "required": ["name"]
        })
    }

    fn permission_level(&self) -> PermissionLevel {
        PermissionLevel::Write
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        let name = args
            .get("name")
            .and_then(|v| v.as_str())
            .map(str::trim)
            .filter(|value| !value.is_empty())
            .ok_or_else(|| anyhow::anyhow!("missing required argument `name`"))?;
        tracing::debug!(name = %name, "[tool][skill_registry] uninstall");
        let params = crate::openhuman::skills::ops_install::UninstallWorkflowParams {
            name: name.to_string(),
        };
        match crate::openhuman::skills::ops_install::uninstall_workflow(params, None) {
            Ok(outcome) => Ok(ToolResult::success(serde_json::to_string(&json!({
                "name": outcome.name,
                "removed_path": outcome.removed_path,
                "scope": outcome.scope,
            }))?)),
            Err(error) => Ok(ToolResult::error(format!(
                "Failed to uninstall skill '{name}': {error}"
            ))),
        }
    }
}

#[cfg(test)]

View on GitHub (pinned to 7491200858)

Solutions

  1. Pass `name` as the exact installed skill slug
  2. List installed skills first to copy the correct slug
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/skills/catalog/tools.rs:282 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/97753223bee85085. Report an issue: GitHub.