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
- Run parse-output with a supported provider: teacher[:backend], teacher-jumps[:backend], the non-batching variants, zeta2[:version], or repair
- For Baseten-hosted zeta2 runs, parse with --provider zeta2:<same format> since Baseten serves a zeta model
- 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
- Restrict parse-output runs to teacher*, zeta2, and repair providers
- Baseten serves zeta models: parse its outputs with --provider zeta2:<same format>
- Older mercury/zeta1 datasets have no parser — regenerate predictions if parsing is required
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
- unknown provider `{provider}`. Valid options: mercury, zeta1
- --languages and/or --extensions is required (use --list to s
- unknown teacher backend `{s}`. Valid options: sonnet45, sonn
- unknown teacher backend or zeta format `{arg}`
- No existing predictions found. Use --provider to specify whi
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/fc66604348e8d623.
Report an issue: GitHub.