usestrix/strix · error · SystemExit

No run named '{requested}' under ./{RUNS_DIR_NAME}.

Error message

No run named '{requested}' under ./{RUNS_DIR_NAME}.

What it means

Raised by the `run_view` viewer CLI (via SystemExit(1)) when the run name requested on the command line does not exist under ./strix_runs. The viewer enumerates run directories before opening; a mismatch between the requested name and the discovered directories aborts startup. It first prints the available run names (up to 20) to help correct the invocation.

Source

Thrown at strix/interface/viewer/cli.py:139

    available = (
        sorted(
            (child.name for child in base.iterdir() if run_record_path(child).is_file()),
            reverse=True,
        )
        if base.is_dir()
        else []
    )

    if requested:
        console.print(f"[bold red]No run named '{requested}' under ./{RUNS_DIR_NAME}.[/]")
    else:
        console.print(f"[bold red]No runs found under ./{RUNS_DIR_NAME}.[/]")

    if available:
        console.print("Available runs:")
        for name in available[:20]:
            console.print(f"  [cyan]{name}[/]")
    raise SystemExit(1)


__all__ = ["run_view"]

View on GitHub (pinned to 8551339130)

Solutions

  1. Re-run the viewer without arguments (or check the printed 'Available runs' list) and use one of the listed names exactly.
  2. Verify you are in the working directory that contains the strix_runs directory holding your run (RUNS_DIR_NAME is 'strix_runs', see strix/core/paths.py).
  3. If the run directory was moved or renamed, move it back under ./strix_runs with the expected name.
  4. If no runs exist at all, first complete a scan so a run directory is created.

Example fix

# before
strix view myrun-typo
# No run named 'myrun-typo' under ./strix_runs.

# after
strix view            # list mode / pick from 'Available runs'
strix view myrun      # exact name as shown by the listing
Defensive patterns

Strategy: validation

Validate before calling

from pathlib import Path
from strix.core.paths import RUNS_DIR_NAME

def run_exists(cwd: Path, name: str) -> bool:
    return (cwd / RUNS_DIR_NAME / name).is_dir()

available = sorted(p.name for p in (Path.cwd() / RUNS_DIR_NAME).glob("*") if p.is_dir())
assert run_exists(Path.cwd(), requested), f"unknown run; available: {available[:20]}"

Try / catch

# SystemExit(1) with a rendered message — catch at CLI boundary only:
try:
    run_view(...)
except SystemExit as e:
    print(f"viewer aborted with code {e.code}"); raise

Prevention

When it happens

Trigger: Running `strix view <name>` (or the equivalent viewer CLI) with a run name that has no matching directory under ./strix_runs — e.g. a typo, a renamed directory, or running the command from a working directory that contains a different (or empty) strix_runs folder.

Common situations: Typo in the run name; running the viewer from the wrong cwd so ./strix_runs resolves elsewhere; the run directory was deleted, moved, or archived; CI copied artifacts to a different path than where the viewer is invoked.

Related errors


AI-assisted analysis of usestrix/strix@8551339130 (2026-08-15). Data as JSON: /api/errors/613840bee42e1952. Report an issue: GitHub.