tinyhumansai/openhuman · error
Missing 'key' parameter
Error message
Missing 'key' parameter
What it means
The memory store tool found `namespace` but no usable `key` string in the arguments. `key` is the second required argument and its absence is caught by the same sequential get/as_str guard, so the write cannot be addressed to a memory slot — the tool errors before reading `content` or running secret-safety checks.
Source
Thrown at src/openhuman/memory/tools/store.rs:75
},
"category": {
"type": "string",
"description": "Memory category: 'core' (permanent), 'daily' (session), 'conversation' (chat), or a custom category name. Defaults to 'core'."
}
},
"required": ["namespace", "key", "content"]
})
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
let namespace = args
.get("namespace")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'namespace' parameter"))?;
let key = args
.get("key")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'key' parameter"))?;
let content = args
.get("content")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'content' parameter"))?;
let category = match args.get("category").and_then(|v| v.as_str()) {
Some("core") | None => MemoryCategory::Core,
Some("daily") => MemoryCategory::Daily,
Some("conversation") => MemoryCategory::Conversation,
// Route custom categories through `FromStr` so a `custom:<name>`
// wire value — the form `memory_recall`/`Display` now emit — resolves
// back to `Custom("<name>")` instead of `Custom("custom:<name>")`
// (which would `Display` as `custom:custom:<name>` and stop matching
// the original category on recall/filter). Legacy bare names still
// parse to the same `Custom(name)`; an unparseable value falls back
// to the raw string. (review: prefixed-custom round-trip)
Some(other) => otherView on GitHub (pinned to 7491200858)
Solutions
- Provide `key` as a non-empty JSON string identifying the memory slot
- Send namespace, key, and content together per the required list
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/memory/tools/store.rs:75 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/3092aca8a60710f0.
Report an issue: GitHub.