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

  1. Re-run with the flags the error suggests: `--experiment-name <name>` used at launch, plus `--namespace <owner>` if the run wasn't yours
  2. Verify the run_id is complete — copy the full id, not a prefix
  3. 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

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


AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16). Data as JSON: /api/errors/3a1ef362ead374f2. Report an issue: GitHub.