zed-industries/zed · error
Failed to open output file
Error message
Failed to open output file
What it means
A panic in the edit-prediction CLI when opening the output file (or the in-place .jsonl.tmp temp file) with the configured create/write/truncate/append flags fails — e.g. permission denied or a bad path. The results writer cannot be set up, so the run aborts.
Source
Thrown at crates/edit_prediction_cli/src/main.rs:1276
let mut in_place_temp_path: Option<PathBuf> = None;
if !args.markdown
&& let Some(output_path) = output.as_ref()
{
let write_path = if args.in_place {
let temp = output_path.with_extension("jsonl.tmp");
in_place_temp_path = Some(temp.clone());
temp
} else {
output_path.clone()
};
let file = OpenOptions::new()
.create(true)
.write(true)
.truncate(args.in_place)
.append(!args.in_place)
.open(&write_path)
.expect("Failed to open output file");
let mut writer = BufWriter::new(file);
let (sender, mut receiver) = mpsc::unbounded::<String>();
cx.background_spawn(async move {
while let Some(line) = receiver.next().await {
writeln!(writer, "{}", line).expect("Failed to write example");
writer.flush().expect("Failed to flush output");
}
})
.detach();
output_sender = Some(sender);
}
let example_batches = if args.group_by_repo {
group_examples_by_repo(examples)
} else {
chunk_examples(examples, args.max_parallelism)
};View on GitHub (pinned to f4178619ac)
Solutions
- Check the output path is writable and its directory exists
- Ensure no other process locks the output file
- For in-place runs, verify the temp `.jsonl.tmp` file can be created
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at crates/edit_prediction_cli/src/main.rs:1276 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/b770d5b3b7ba672a.
Report an issue: GitHub.