aaif-goose/goose · error

Could not configure fallback provider: missing model

Error message

Could not configure fallback provider: missing model

What it means

Thrown on the fallback path of restore_provider_from_session: the session's provider is unavailable, a different fallback provider was found in config, but GOOSE_MODEL is unset so the fallback's model config cannot be built. Restore aborts before creating the fallback provider.

Source

Thrown at crates/goose/src/agents/agent.rs:3611

                let fallback_provider_name = config
                    .get_goose_provider()
                    .ok()
                    .filter(|name| name != &provider_name)
                    .ok_or_else(|| {
                        anyhow!(
                            "Could not create provider: provider '{}' not found",
                            provider_name
                        )
                    })?;

                tracing::warn!(
                    "Session provider '{}' unavailable, falling back to '{}'",
                    provider_name,
                    fallback_provider_name
                );

                let fallback_model_name = config.get_goose_model().ok().ok_or_else(|| {
                    anyhow!("Could not configure fallback provider: missing model")
                })?;
                let fallback_model_config = crate::model_config::model_config_from_user_config(
                    &fallback_provider_name,
                    &fallback_model_name,
                )
                .map_err(|e| {
                    anyhow!("Could not configure fallback provider: invalid model {}", e)
                })?;

                let fallback_provider = crate::providers::create_with_working_dir(
                    &fallback_provider_name,
                    extensions,
                    session.working_dir.clone(),
                )
                .await
                .map_err(|error| {
                    provider_creation_error(
                        error,

View on GitHub (pinned to 3810898a74)

Solutions

  1. Set GOOSE_MODEL ('goose configure' or 'export GOOSE_MODEL=<model>') so the fallback provider can be built
  2. Verify both keys in ~/.config/goose/config.yaml
  3. Alternatively reinstall/restore the session's original provider so no fallback is needed

Example fix

# before
$ export GOOSE_PROVIDER=openai
$ goose session resume
Error: Could not configure fallback provider: missing model

# after
$ export GOOSE_MODEL=gpt-4o
$ goose session resume
Defensive patterns

Strategy: validation

Validate before calling

// Rust — the fallback path needs a model; check before resume
let fallback_ready = Config::global().get_goose_model().is_ok();
if !fallback_ready {
    // set GOOSE_MODEL so a fallback provider can be configured
}

Prevention

When it happens

Trigger: Resuming a session whose provider is missing from the registry while config sets GOOSE_PROVIDER (a valid fallback) but no GOOSE_MODEL — the model_config of the session also could not be reused for the fallback provider.

Common situations: Partial configuration where only the provider was set; config.yaml trimmed during debugging and the model key not restored; CI environments exporting GOOSE_PROVIDER alone.

Related errors


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