zed-industries/zed · warning

parse-output only supports Teacher and Zeta2 providers, got

Error message

parse-output only supports Teacher and Zeta2 providers, got {:?}

What it means

Thrown by the parse-output path (parse_output.rs) when the active PredictionProvider has no output parser. The match covers Teacher, TeacherNonBatching (TeacherPrompt::parse), TeacherJumps/TeacherJumpsNonBatching (TeacherJumpsPrompt::parse), Zeta2 (parse_zeta2_output) and Repair; the catch-all `_` arm — Mercury, Zeta1, and Baseten — has no parse implementation, so evaluating their raw model output is refused.

Source

Thrown at crates/edit_prediction_cli/src/parse_output.rs:50

    Ok(())
}

pub fn parse_prediction_output(
    example: &Example,
    actual_output: &str,
    provider: PredictionProvider,
) -> Result<(String, Option<ActualCursor>)> {
    match provider {
        PredictionProvider::Teacher(_, _) | PredictionProvider::TeacherNonBatching(_, _) => {
            TeacherPrompt::parse(example, actual_output)
        }
        PredictionProvider::TeacherJumps(_) | PredictionProvider::TeacherJumpsNonBatching(_) => {
            TeacherJumpsPrompt::parse(example, actual_output)
        }
        PredictionProvider::Zeta2(version) => parse_zeta2_output(example, actual_output, version),
        PredictionProvider::Repair => repair::parse(example, actual_output),
        _ => anyhow::bail!(
            "parse-output only supports Teacher and Zeta2 providers, got {:?}",
            provider
        ),
    }
}

fn parse_zeta2_output(
    example: &Example,
    actual_output: &str,
    format: ZetaFormat,
) -> Result<(String, Option<ActualCursor>)> {
    let prompt_inputs = example
        .prompt_inputs
        .as_ref()
        .context("prompt_inputs required")?;

    if format == ZetaFormat::V0615HashRegions {
        return Ok((

View on GitHub (pinned to f4178619ac)

Solutions

  1. Run parse-output with a supported provider: teacher[:backend], teacher-jumps[:backend], the non-batching variants, zeta2[:version], or repair
  2. For Baseten-hosted zeta2 runs, parse with --provider zeta2:<same format> since Baseten serves a zeta model
  3. For mercury/zeta1 outputs there is no parser — regenerate predictions with a supported provider if parsing is required

Example fix

# before
parse-output examples.jsonl --provider baseten:ordered

# after
parse-output examples.jsonl --provider zeta2:ordered
Defensive patterns

Strategy: validation

Validate before calling

fn parse_output_supported(provider: &PredictionProvider) -> bool {
    !matches!(provider, PredictionProvider::Mercury | PredictionProvider::Zeta1 | PredictionProvider::Baseten(_))
}

Prevention

When it happens

Trigger: Running the parse-output command with --provider mercury, --provider zeta1, or --provider baseten:.... It parses stored raw model output against the provider's expected format, and those three providers lack a format implementation here.

Common situations: Re-scoring an old dataset that was generated with mercury/zeta1 and trying to parse its outputs with a newer CLI; using baseten as a cheap zeta2 host but forgetting that parse-output keys off the provider name, not the underlying model.

Related errors


AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20). Data as JSON: /api/errors/fc66604348e8d623. Report an issue: GitHub.