aaif-goose/goose · error · anyhow::Error
✗ Found {} error(s) in {total} extensions:
Error message
✗ Found {} error(s) in {total} extensions:
What it means
Error "✗ Found {} error(s) in {total} extensions: " thrown in aaif-goose/goose.
Source
Thrown at crates/goose/src/agents/validate_extensions.rs:74
"[{index}] {} (id={}): stdio extension is missing required \"cmd\" field",
meta.name, meta.id
));
continue;
}
if let Err(e) = serde_json::from_value::<ExtensionConfig>(entry.clone()) {
errors.push(format!("[{index}] {} (id={}): {e}", meta.name, meta.id));
}
}
if errors.is_empty() {
Ok(format!("✓ All {total} extensions validated successfully."))
} else {
let mut output = format!("✗ Found {} error(s) in {total} extensions:\n", errors.len());
for error in &errors {
output.push_str(&format!("\n {error}"));
}
anyhow::bail!("{output}");
}
}
#[cfg(test)]
mod tests {
use super::*;
use std::io::Write;
use tempfile::NamedTempFile;
fn write_json(content: &str) -> NamedTempFile {
let mut f = NamedTempFile::new().unwrap();
f.write_all(content.as_bytes()).unwrap();
f
}
#[test]
fn test_valid_builtin() {
let f = write_json(View on GitHub (pinned to 3810898a74)
When it happens
Trigger: Thrown at crates/goose/src/agents/validate_extensions.rs:74 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of aaif-goose/goose@3810898a74 (2026-08-16).
Data as JSON: /api/errors/e32501b4f0df1e2e.
Report an issue: GitHub.