tinyhumansai/openhuman · error
notify_user: `message` is required and non-empty
Error message
notify_user: `message` is required and non-empty
What it means
Generic error wrapper from create_skill's execute: the skill scaffolding/installation step itself failed after params parsed successfully. The underlying {e} distinguishes the real cause — typically an invalid skill name, an existing skill at the target path, or a filesystem error writing the skill directory.
Source
Thrown at src/openhuman/subconscious/user_thread.rs:122
}
fn permission_level(&self) -> PermissionLevel {
// Outward-facing: surfaces content to the user. Treated as a write
// so policy/approval can gate it under stricter autonomy tiers.
PermissionLevel::Write
}
fn scope(&self) -> ToolScope {
ToolScope::AgentOnly
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
let message = args
.get("message")
.and_then(|v| v.as_str())
.map(str::trim)
.filter(|s| !s.is_empty())
.ok_or_else(|| anyhow::anyhow!("notify_user: `message` is required and non-empty"))?;
let subject = args.get("subject").and_then(|v| v.as_str());
let config = crate::openhuman::config::load_config_with_timeout()
.await
.map_err(|e| anyhow::anyhow!("config load: {e}"))?;
notify_user(config.workspace_dir, message, subject);
Ok(ToolResult::success(
"Message delivered to the user.".to_string(),
))
}
}
/// All user-facing-thread tools, for registration into the tool registry.
pub fn all_user_thread_tools() -> Vec<Box<dyn Tool>> {
vec![Box::new(NotifyUserTool)]
}
View on GitHub (pinned to 7491200858)
Solutions
- Read the wrapped error {e} for the concrete failure (name collision, invalid name, IO error)
- If the skill already exists, choose a different name or update it instead of creating
- Check write permissions on the skills directory for the chosen scope
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at src/openhuman/subconscious/user_thread.rs:122 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/5412bc4876489b14.
Report an issue: GitHub.