zed-industries/zed · error · ValueError
choose at least one SWE-Atlas part with --parts (e.g. --part
Error message
choose at least one SWE-Atlas part with --parts (e.g. --parts rf,qna or --parts all)
What it means
Raised by launch.resolve_suite_parts() when the swe-atlas suite command has no usable --parts value. The swe-atlas flow (command_swe_atlas) either uses explicit benchmark selectors or, when none are given, falls back to prepare_suite -> resolve_suite_parts, which requires --parts. parse_parts expands the literal "all" to qna+rf+tw and validates each remaining token via config.canonical_part.
Source
Thrown at crates/eval_cli/zed_eval/launch.py:608
benchmark_ids,
suite_id=mint_suite_id(args, len(benchmark_ids)),
label_for_benchmark=lambda benchmark_id: benchmark_id,
)
def command_run(args: argparse.Namespace) -> int:
return execute_prepared_runs(
args,
prepare_benchmark_runs(args),
benchmark_plan_entry,
)
def resolve_suite_parts(args: argparse.Namespace) -> list[str]:
parts = parse_parts([args.parts] if getattr(args, "parts", None) else [])
if parts:
return parts
raise ValueError(
"choose at least one SWE-Atlas part with --parts (e.g. --parts rf,qna or --parts all)"
)
def suite_plan_entry(
part: str, run_request: dict[str, Any], build_request: dict[str, Any] | None
) -> dict[str, Any]:
return {
"part": part,
**benchmark_plan_entry(
run_request["benchmark"]["id"], run_request, build_request
),
}
def suite_entry_label(benchmark_id: str) -> str:
for part, part_benchmark_id in benchmarks.SWE_ATLAS_PART_BENCHMARKS.items():
if part_benchmark_id == benchmark_id:View on GitHub (pinned to bc538def45)
Solutions
- Add --parts with at least one of qna, rf, tw, or the shorthand all: zed-eval swe-atlas --parts all.
- Alternatively pass explicit benchmark selectors to the swe-atlas command to bypass --parts entirely.
- In scripts, default the value: --parts "${PARTS:-all}".
Example fix
# before zed-eval swe-atlas # -> ValueError: choose at least one SWE-Atlas part with --parts ... # after zed-eval swe-atlas --parts all
Defensive patterns
Strategy: validation
Validate before calling
if not getattr(args, "parts", None) and not getattr(args, "benchmark", None):
raise SystemExit("pass --parts (qna/rf/tw or all) or explicit benchmark selectors") Try / catch
try:
parts = resolve_suite_parts(args)
except ValueError as error:
raise SystemExit(str(error)) Prevention
- Default to --parts all in scripts unless a subset is intended.
- The swe-atlas command needs either --parts or benchmark selectors; running it bare always fails.
- Interactive mode configures parts for you; non-interactive wrappers must pass the flag.
When it happens
Trigger: Running zed-eval swe-atlas with neither --parts nor benchmark selectors (e.g. in interactive mode where configure_interactive_suite leaves parts unset unless chosen); passing --parts "" or --parts "," which parse to an empty list; a wrapper script that only sets --parts conditionally.
Common situations: New users running the swe-atlas command bare, expecting it to default to all parts; scripted invocations where the parts variable is empty; declining the interactive part picker and the flag never being set.
Related errors
- unknown SWE-Atlas part '{part}' (valid: {valid})
- unknown benchmark '{benchmark_id}' (valid: {valid})
- unknown benchmark '{selector}' (valid: {valid})
- unknown judge preset '{name}' (valid: {valid})
- choose at least one benchmark to run
AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16).
Data as JSON: /api/errors/6e5fa87b88704299.
Report an issue: GitHub.