{"record":{"id":"93ee5e0a67b3985a","repo":"exo-explore/exo","slug":"unable-to-locate-dashboard-assets-you-probably-f","errorCode":null,"errorMessage":"Unable to locate dashboard assets - you probably forgot to run `cd dashboard && npm install && npm run build && cd ..`","messagePattern":"Unable to locate dashboard assets - you probably forgot to run `cd dashboard && npm install && npm run build && cd \\.\\.`","errorType":"exception","errorClass":"FileNotFoundError","httpStatus":null,"severity":"error","filePath":"src/exo/utils/dashboard_path.py","lineNumber":37,"sourceCode":"        if build.is_dir():\n            return build\n    return None\n\n\ndef _find_resources_in_bundle() -> Path | None:\n    frozen_root = cast(str | None, getattr(sys, \"_MEIPASS\", None))\n    if frozen_root is None:\n        return None\n    candidate = Path(frozen_root) / \"resources\"\n    if candidate.is_dir():\n        return candidate\n    return None\n\n\ndef find_dashboard() -> Path:\n    dashboard = _find_dashboard_in_repo() or _find_dashboard_in_bundle()\n    if not dashboard:\n        raise FileNotFoundError(\n            \"Unable to locate dashboard assets - you probably forgot to run `cd dashboard && npm install && npm run build && cd ..`\"\n        )\n    return dashboard\n\n\ndef _find_dashboard_in_repo() -> Path | None:\n    current_module = Path(__file__).resolve()\n    for parent in current_module.parents:\n        build = parent / \"dashboard\" / \"build\"\n        if build.is_dir() and (build / \"index.html\").exists():\n            return build\n    return None\n\n\ndef _find_dashboard_in_bundle() -> Path | None:\n    frozen_root = cast(str | None, getattr(sys, \"_MEIPASS\", None))\n    if frozen_root is None:\n        return None","sourceCodeStart":19,"sourceCodeEnd":55,"githubUrl":"https://github.com/exo-explore/exo/blob/21a54c5ea0230a3bec1e1a786d200126c7e34ec6/src/exo/utils/dashboard_path.py#L19-L55","documentation":"Error \"Unable to locate dashboard assets - you probably forgot to run `cd dashboard && npm install && npm run build && cd ..`\" thrown in exo-explore/exo.","triggerScenarios":"Thrown at src/exo/utils/dashboard_path.py:37 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"21a54c5ea0230a3bec1e1a786d200126c7e34ec6","analyzedAt":"2026-08-26T00:02:16.033Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}