zed-industries/zed · error · ValueError
could not locate run '{run_id}' in the local run index ({run
Error message
could not locate run '{run_id}' in the local run index ({run_index.index_path()}). Pass --experiment-name (and --namespace if it isn't yours). The index is written automatically when you launch a run from this machine. What it means
When no --experiment-name is given, common.py resolves a run_id through the local run index (written automatically when runs are launched from this machine). The ValueError means run_index.lookup() returned nothing — the run started elsewhere, the index was cleared, or the entry lives under a different namespace — and the message names the two explicit flags that bypass the index, plus the index path it checked.
Source
Thrown at crates/eval_cli/zed_eval/common.py:208
When `--experiment-name` is given, behaves exactly as before: namespace comes
from `--namespace` or the local git default. When it is omitted, the run is
located via the launch-time local run index (`run_index`) so a bare run id is
enough. Raises a friendly error pointing at the explicit flags when the run
can't be found.
"""
from . import run_index
explicit_experiment = getattr(args, "experiment_name", None)
explicit_namespace = getattr(args, "namespace", None)
if explicit_experiment:
namespace = explicit_namespace or source.default_namespace()
return (
source.sanitize_namespace(namespace),
source.sanitize_namespace(explicit_experiment),
)
entry = run_index.lookup(run_id)
if not entry:
raise ValueError(
f"could not locate run '{run_id}' in the local run index "
f"({run_index.index_path()}). Pass --experiment-name (and "
"--namespace if it isn't yours). The index is written automatically "
"when you launch a run from this machine."
)
namespace = (
explicit_namespace or entry.get("namespace") or source.default_namespace()
)
return (
source.sanitize_namespace(namespace),
source.sanitize_namespace(entry["experiment_name"]),
)
View on GitHub (pinned to bc538def45)
Solutions
- Re-run with the flags the error suggests: `--experiment-name <name>` used at launch, plus `--namespace <owner>` if the run wasn't yours
- Verify the run_id is complete — copy the full id, not a prefix
- If index-based lookup matters, launch (or re-launch) the run from this machine so the index records it
Example fix
# before zed-eval results <run_id> # ValueError: could not locate run # after zed-eval results <run_id> --experiment-name my-exp --namespace alice
Defensive patterns
Strategy: validation
Validate before calling
from zed_eval import run_index
if not run_index.lookup(run_id):
raise SystemExit("run not in local index — pass --experiment-name (and --namespace)") Type guard
from zed_eval import run_index
def run_is_indexed(run_id):
return run_index.lookup(run_id) is not None Try / catch
try:
namespace, experiment = resolve_run_namespace_and_experiment(args, run_id)
except ValueError as e:
print(e) # names the index path and the explicit flags
raise SystemExit(2) Prevention
- Always pass --experiment-name in scripts instead of relying on the local index
- Preserve the local run index when cleaning state directories
- Share experiment-name and namespace alongside run ids
When it happens
Trigger: Querying results for a run_id launched on a teammate's machine or in CI; a deleted or missing local index file; a truncated or typo'd run id; the entry existing but under a non-default namespace.
Common situations: Sharing run ids over chat to reproduce results; fresh checkouts or cleaned state directories; multi-namespace setups.
Related errors
- No eval-cli binary provided. Either pass binary_path=/path/t
- unknown benchmark '{benchmark_id}' (valid: {valid})
- unknown benchmark '{selector}' (valid: {valid})
- Sentry API returned HTTP {err.code} for {path}: {detail}
- eval-cli binary not found at {binary}. Build it with: cargo
AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16).
Data as JSON: /api/errors/3a1ef362ead374f2.
Report an issue: GitHub.