tinyhumansai/openhuman · error
invalid arguments for memory_tools_put: {e}
Error message
invalid arguments for memory_tools_put: {e} What it means
The `memory_tools_put` arguments failed serde deserialization into the typed `Args` struct. Required is the rule text; optional fields are `priority` (must be exactly 'critical', 'high', or 'normal') and `tags` (array of strings). Wrong enum casing, a non-array tags value, or a missing required field triggers this, with `{e}` naming the cause.
Source
Thrown at src/openhuman/memory/tools/tool_memory/put.rs:98
"description": "Free-text rule, edict, or learning to pin."
},
"priority": {
"type": "string",
"enum": ["critical", "high", "normal"],
"description": "How aggressively to surface the rule. Default: normal."
},
"tags": {
"type": "array",
"items": { "type": "string" },
"description": "Optional free-form tags (e.g. `safety`, `permission`)."
}
}
})
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
let parsed: Args = serde_json::from_value(args)
.map_err(|e| anyhow::anyhow!("invalid arguments for memory_tools_put: {e}"))?;
log::debug!(
"[tool][memory_tools] put tool_name={} priority={:?} tags={}",
parsed.tool_name,
parsed.priority,
parsed.tags.len()
);
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_tools_put: {e}"))?;
let family = guard
.as_tool_memory()
.ok_or_else(|| anyhow::anyhow!("memory_tools_put: {NO_TOOL_MEMORY}"))?;
let mut rule = ToolMemoryRule::new(
&parsed.tool_name,
&parsed.rule,
parse_priority(parsed.priority.as_deref()),
ToolMemorySource::UserExplicit,
);View on GitHub (pinned to 7491200858)
Solutions
- Use exact enum values for priority: 'critical', 'high', 'normal'
- Send tags as an array of strings
- Check `{e}` for the offending field
- Include the required rule text field
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/memory/tools/tool_memory/put.rs:98 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/62a9ad50686ca2c5.
Report an issue: GitHub.