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

  1. Include `filename` as a string in the tool args
  2. 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.