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


AI-assisted analysis of aaif-goose/goose@3810898a74 (2026-08-16). Data as JSON: /api/errors/ed22c9619fd9484c. Report an issue: GitHub.