aaif-goose/goose · error · anyhow::Error
working_dir '{}' is not a directory
Error message
working_dir '{}' is not a directory What it means
Error "working_dir '{}' is not a directory" thrown in aaif-goose/goose.
Source
Thrown at crates/goose/src/agents/platform_extensions/summon.rs:2099
let resolved = if requested_path.is_absolute() {
requested_path
} else {
parent_dir.join(&requested_path)
};
let canonical = resolved
.canonicalize()
.map_err(|e| anyhow::anyhow!("working_dir '{}' could not be resolved: {}", requested, e))?;
let parent_canonical = parent_dir
.canonicalize()
.unwrap_or_else(|_| parent_dir.to_path_buf());
if !canonical.starts_with(&parent_canonical) {
anyhow::bail!(
"working_dir '{}' is outside the parent session directory",
requested
);
}
if !canonical.is_dir() {
anyhow::bail!("working_dir '{}' is not a directory", requested);
}
Ok(canonical)
}
#[cfg(test)]
mod tests {
use super::*;
use serial_test::serial;
use std::collections::{HashMap, HashSet};
use std::fs;
use std::sync::Arc;
use tempfile::TempDir;
fn create_test_context() -> PlatformExtensionContext {
PlatformExtensionContext {
extension_manager: None,
session_manager: Arc::new(crate::session::SessionManager::instance()),
scheduler: None,View on GitHub (pinned to 3810898a74)
When it happens
Trigger: Thrown at crates/goose/src/agents/platform_extensions/summon.rs:2099 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/3c17018a33e33c88.
Report an issue: GitHub.