{"record":{"id":"58af26cf16e6893e","repo":"zed-industries/zed","slug":"could-not-locate-run-args-run-id-in-the-local","errorCode":null,"errorMessage":"could not locate run '{args.run_id}' in the local run index ({run_index.index_path()}). Pass --experiment-name (and --namespace if it isn't yours).","messagePattern":"could not locate run '(.+?)' in the local run index \\((.+?)\\)\\. Pass --experiment-name \\(and --namespace if it isn't yours\\)\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"crates/eval_cli/zed_eval/launch.py","lineNumber":157,"sourceCode":"    return f\"{source.sanitize_namespace(prefix)}-{utc_timestamp()}\"\n\n\ndef build_rejudge_request(args: argparse.Namespace) -> dict[str, Any]:\n    \"\"\"Build the request for re-grading an existing run with a different judge.\n\n    The positional `run_id` is the *parent* run; the derived run gets a new id\n    under the same experiment so `report`/`list` group them together. Only the\n    judge differs — no build, no agent model, no task selection.\n    \"\"\"\n    judge_preset = args.judge\n    config.get_judge(judge_preset)  # validate before spawning anything remote\n    if getattr(args, \"experiment_name\", None):\n        experiment_name = source.sanitize_namespace(args.experiment_name)\n        namespace = default_namespace(args)\n    else:\n        entry = run_index.lookup(args.run_id)\n        if not entry:\n            raise ValueError(\n                f\"could not locate run '{args.run_id}' in the local run index \"\n                f\"({run_index.index_path()}). Pass --experiment-name (and \"\n                \"--namespace if it isn't yours).\"\n            )\n        experiment_name = source.sanitize_namespace(entry[\"experiment_name\"])\n        namespace = source.sanitize_namespace(\n            getattr(args, \"namespace\", None) or entry[\"namespace\"]\n        )\n    parent_namespace = (\n        source.sanitize_namespace(args.parent_namespace)\n        if getattr(args, \"parent_namespace\", None)\n        else namespace\n    )\n    parent_run_id = args.run_id\n    judge_slug = source.sanitize_namespace(judge_preset)\n    new_run_id = (\n        args.new_run_id\n        or f\"{parent_run_id}-rejudge-{judge_slug}-{uuid.uuid4().hex[:6]}\"","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/zed-industries/zed/blob/bc538def4545534201bbfcac4e95ac34ea6501b6/crates/eval_cli/zed_eval/launch.py#L139-L175","documentation":"Raised by launch.build_rejudge_request() when no --experiment-name was given and run_index.lookup(run_id) found nothing in the local launch index. The index (run_index.py) is a best-effort, machine-local JSON file at ~/.cache/agent-evals/run-index.json (honoring XDG_CACHE_HOME or $AGENT_EVALS_RUN_INDEX), capped at 500 entries, and only written by launches issued from that machine. The error tells you the exact path searched and the escape hatch: explicit --experiment-name / --namespace flags.","triggerScenarios":"Running zed-eval rejudge <run-id> for a run launched from a different machine, CI, or another user account; the index entry was evicted because that machine has since recorded 500+ newer runs; $AGENT_EVALS_RUN_INDEX or $HOME points somewhere else in your current shell; a typo in the run id.","commonSituations":"Rejudging a teammate's run from your laptop; rejudging after a long gap during which many runs pushed the entry out of the 500-entry window; running inside containers/CI where the cache directory is ephemeral.","solutions":["Pass --experiment-name (for benchmark runs this is the benchmark id, sanitized) and, if the run is not under your default namespace, --namespace: zed-eval rejudge <id> --experiment-name swe-atlas-rf --namespace jane.","Double-check the run id with zed-eval list (recent runs from this machine) to rule out a typo.","If the launch machine is reachable, re-run there, or point AGENT_EVALS_RUN_INDEX at a copy of that machine's run-index.json and retry."],"exampleFix":"# before\nzed-eval rejudge 20260101-ab12cd --judge kimi\n# -> ValueError: could not locate run ... in the local run index ...\n\n# after\nzed-eval rejudge 20260101-ab12cd --judge kimi \\\n    --experiment-name swe-atlas-rf --namespace jane","handlingStrategy":"fallback","validationCode":"from zed_eval import run_index\n\nentry = run_index.lookup(args.run_id)\nif entry is None and not getattr(args, \"experiment_name\", None):\n    # fall back to explicit flags instead of letting the launch fail\n    raise SystemExit(\n        \"run not in local index; pass --experiment-name (and --namespace)\"\n    )","typeGuard":null,"tryCatchPattern":"try:\n    rejudge_request = build_rejudge_request(args)\nexcept ValueError as error:\n    # error text names the index path; retry with explicit flags\n    raise SystemExit(str(error))","preventionTips":["Launch and later rejudge from the same machine; the run index is strictly local.","For runs you will rejudge from elsewhere, note their experiment name and namespace at launch time.","Remember the index is capped at 500 entries and lives at ~/.cache/agent-evals/run-index.json (overridable via AGENT_EVALS_RUN_INDEX)."],"tags":["cli","rejudge","local-state","run-index"],"backgroundTag":null,"analyzedSha":"bc538def4545534201bbfcac4e95ac34ea6501b6","analyzedAt":"2026-08-16T07:30:46.435Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}