aaif-goose/goose · error

provider check failed

Error message

provider check failed

What it means

`goose info --check` runs provider health checks and prints per-provider OK/FAILED lines. If any check fails, this error is returned deliberately so the process exits non-zero, letting automation (CI scripts, install checks, health probes) rely on the command as a pre-flight verifier, as the code comment states.

Source

Thrown at crates/goose-cli/src/commands/info.rs:269

                        ),
                        label_padding,
                    );
                }
                _ => {
                    print_aligned(
                        "Check:",
                        &format!("{} {}", style("FAILED").red().bold(), error),
                        label_padding,
                    );
                }
            },
        }

        // Propagate non-zero exit status so automation (CI scripts, install
        // checks, health probes) can rely on `goose info --check` as a
        // pre-flight verifier.
        if result.is_err() {
            return Err(anyhow!("provider check failed"));
        }
    }

    Ok(())
}

View on GitHub (pinned to 3810898a74)

Solutions

  1. Read the FAILED line printed just above the error — it identifies the provider and cause
  2. Fix credentials via `goose configure` or the provider's environment variable
  3. Verify network egress to the provider endpoint from this host
  4. Re-run `goose info --check` and require exit code 0 before continuing

Example fix

# CI pre-flight gate
- name: Verify goose provider
  run: goose info --check
# non-zero exit fails the step automatically
Defensive patterns

Strategy: validation

Validate before calling

# Use the check itself as a gate before dependent steps
if ! goose info --check; then
  echo 'provider pre-flight failed' >&2
  exit 1
fi

Try / catch

# Capture output, fail on non-zero exit, surface the FAILED line
set +e; OUT=$(goose info --check 2>&1); RC=$?; set -e
if [ "$RC" -ne 0 ]; then printf '%s\n' "$OUT" | grep -E 'FAILED|Check:'; exit "$RC"; fi

Prevention

When it happens

Trigger: Running `goose info --check` with an invalid or expired API key, an unreachable provider endpoint, or a misconfigured model id for the active provider; the FAILED line printed above names the provider and underlying error.

Common situations: CI pre-flight after secrets rotation; egress blocked by proxy/firewall; stale config pointing at a deprecated model id; rotated keys not yet reflected in the keyring.

Related errors


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