tinyhumansai/openhuman · error
Missing 'paths' parameter
Error message
Missing 'paths' parameter
What it means
Git tool argument guard inside git_add: the required 'paths' argument is missing or not a string. Fires before path sanitization or `git add` runs.
Source
Thrown at src/openhuman/tools/impl/filesystem/git_operations.rs:347
// Limit message length
let message = Self::truncate_commit_message(&sanitized);
let output = self
.run_git_command_in(cwd, &["commit", "-m", &message])
.await;
match output {
Ok(_) => Ok(ToolResult::success(format!("Committed: {message}"))),
Err(e) => Ok(ToolResult::error(format!("Commit failed: {e}"))),
}
}
async fn git_add(&self, cwd: &Path, args: serde_json::Value) -> anyhow::Result<ToolResult> {
let paths = args
.get("paths")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'paths' parameter"))?;
// Validate paths against injection patterns
self.sanitize_git_args(paths)?;
let output = self.run_git_command_in(cwd, &["add", "--", paths]).await;
match output {
Ok(_) => Ok(ToolResult::success(format!("Staged: {paths}"))),
Err(e) => Ok(ToolResult::error(format!("Add failed: {e}"))),
}
}
async fn git_checkout(
&self,
cwd: &Path,
args: serde_json::Value,
) -> anyhow::Result<ToolResult> {
let branch = argsView on GitHub (pinned to 7491200858)
Solutions
- Pass 'paths' as a string of the file(s) to stage
- Use a space- or git-compatible path spec the tool's sanitizer accepts
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/filesystem/git_operations.rs:347 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/e6991dd59af0a5ed.
Report an issue: GitHub.