tinyhumansai/openhuman · error · anyhow::Error
skill '{entry_id}' not found in catalog. Run skill_registry_
Error message
skill '{entry_id}' not found in catalog. Run skill_registry_browse first to refresh. What it means
The catalog loaded successfully but contains no entry with the requested entry_id. Unlike a load failure, this is a lookup miss: the id is stale (catalog changed since it was copied), misspelled, or from a different catalog state. The message itself suggests refreshing via skill_registry_browse to re-sync ids.
Source
Thrown at src/openhuman/skills/catalog/tools.rs:193
/// matching every other external-effect tool.
fn external_effect(&self) -> bool {
true
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
let entry_id = args
.get("entry_id")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("missing required argument `entry_id`"))?;
tracing::debug!(entry_id = %entry_id, "[tool][skill_registry] install");
let catalog = ops::browse_catalog(false)
.await
.map_err(|e| anyhow::anyhow!("failed to load catalog: {e}"))?;
let entry = catalog.iter().find(|e| e.id == entry_id).ok_or_else(|| {
anyhow::anyhow!(
"skill '{entry_id}' not found in catalog. \
Run skill_registry_browse first to refresh."
)
})?;
match ops::install_from_catalog(&self.workspace_dir, entry).await {
Ok(outcome) => Ok(ToolResult::success(serde_json::to_string(&json!({
"url": outcome.url,
"stdout": outcome.stdout,
"stderr": outcome.stderr,
"new_skills": outcome.new_skills,
}))?)),
Err(e) => Ok(ToolResult::error(format!(
"Failed to install skill '{entry_id}': {e}"
))),
}
}
}View on GitHub (pinned to 7491200858)
Solutions
- Run skill_registry_browse first and copy a current entry_id
- Check the id spelling against the fresh catalog
- Retry the install after refreshing the catalog
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/openhuman/skills/catalog/tools.rs:193 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/11d164eff9291873.
Report an issue: GitHub.