tinyhumansai/openhuman · error
Missing 'filename' parameter
Error message
Missing 'filename' parameter
What it means
Guard in CsvExportTool::execute_in_context: `data` was supplied but `filename` is missing or not a string, so the export has no destination name. Fires after data parsing, before path resolution and write.
Source
Thrown at src/openhuman/tools/impl/filesystem/csv_export.rs:155
self.execute_in_context(args, context).await
}
}
impl CsvExportTool {
async fn execute_in_context(
&self,
args: serde_json::Value,
context: Option<&ToolExecutionContext>,
) -> anyhow::Result<ToolResult> {
let data_str = args
.get("data")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'data' parameter"))?;
let filename = args
.get("filename")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'filename' parameter"))?;
let columns: Option<Vec<String>> = args.get("columns").and_then(|v| {
v.as_array().map(|arr| {
arr.iter()
.filter_map(|item| item.as_str().map(String::from))
.collect()
})
});
// Security: check write permission
if !self.security.can_act() {
return Ok(ToolResult::error(
"[policy-blocked] Action blocked: autonomy is read-only",
));
}
if self.security.is_rate_limited() {
return Ok(ToolResult::error(View on GitHub (pinned to 7491200858)
Solutions
- Include `filename` as a string in the tool args
- Use a .csv filename within the allowed output location
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/filesystem/csv_export.rs:155 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/411c6177c5af1d14.
Report an issue: GitHub.