aaif-goose/goose · error · anyhow::Error
Shell command timed out after {:?}: {}
Error message
Shell command timed out after {:?}: {} What it means
Error "Shell command timed out after {:?}: {}" thrown in aaif-goose/goose.
Source
Thrown at crates/goose/src/agents/retry.rs:268
.output()
.await?;
debug!(
"Shell command completed with status: {}, stdout: {}, stderr: {}",
output.status,
String::from_utf8_lossy(&output.stdout),
String::from_utf8_lossy(&output.stderr)
);
Ok(output)
};
match tokio::time::timeout(timeout, future).await {
Ok(result) => result,
Err(_) => {
let error_msg = format!("Shell command timed out after {:?}: {}", timeout, command);
warn!("{}", error_msg);
Err(anyhow::anyhow!("{}", error_msg))
}
}
}
/// Execute an on_failure command and return an error if it fails
pub async fn execute_on_failure_command(command: &str, retry_config: &RetryConfig) -> Result<()> {
execute_on_failure_command_with_timeout(command, get_on_failure_timeout(retry_config)).await
}
pub async fn execute_on_failure_command_with_timeout(
command: &str,
timeout: Duration,
) -> Result<()> {
info!(
"Executing on_failure command with timeout {:?}: {}",
timeout, command
);
View on GitHub (pinned to 3810898a74)
When it happens
Trigger: Thrown at crates/goose/src/agents/retry.rs:268 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of aaif-goose/goose@3810898a74 (2026-08-16).
Data as JSON: /api/errors/ed22c9619fd9484c.
Report an issue: GitHub.