{"record":{"id":"457f5bd5292b39ff","repo":"github/spec-kit","slug":"installed-workflow-owner-is-unavailable-cannot-sa","errorCode":null,"errorMessage":"Installed workflow owner is unavailable; cannot safely resume","messagePattern":"Installed workflow owner is unavailable; cannot safely resume","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"src/specify_cli/workflows/_commands.py","lineNumber":163,"sourceCode":"    external workflow-file invocation) -- see ``workflow_run``. The common\n    case (an installed workflow run from its own project) stores ``None``,\n    so a later project rename/move is transparently picked up here by\n    falling back to the *current* ``project_root`` instead of a stale\n    absolute path baked in at run start.\n\n    A persisted cross-project root that no longer exists cannot be safely\n    rediscovered and must fail closed instead of consulting the unrelated\n    project that happens to store the run state.\n    \"\"\"\n    if installed_registry_root:\n        candidate = Path(installed_registry_root)\n        if (\n            candidate.is_absolute()\n            and not _path_has_symlink_component(candidate)\n            and candidate.is_dir()\n        ):\n            return candidate\n        raise ValueError(\n            \"Installed workflow owner is unavailable; cannot safely resume\"\n        )\n    return project_root\n\n\ndef _parse_input_values(\n    input_values: list[str] | None, *, json_output: bool = False\n) -> dict[str, Any]:\n    \"\"\"Parse repeated ``key=value`` CLI inputs into a dict.\n\n    Shared by ``workflow run`` and ``workflow resume``. Exits with an error\n    on any entry missing ``=``.\n    \"\"\"\n    inputs: dict[str, Any] = {}\n    for kv in input_values or []:\n        if \"=\" not in kv:\n            _error_console(json_output).print(\n                f\"[red]Error:[/red] Invalid input format: {kv!r} (expected key=value)\"","sourceCodeStart":145,"sourceCodeEnd":181,"githubUrl":"https://github.com/github/spec-kit/blob/bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c/src/specify_cli/workflows/_commands.py#L145-L181","documentation":"Error \"Installed workflow owner is unavailable; cannot safely resume\" thrown in github/spec-kit.","triggerScenarios":"Thrown at src/specify_cli/workflows/_commands.py:163 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reinstall the workflow so its owner metadata is restored, then retry the resume."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bf88c9f9a82fa370c7a7257aa2b3cf10b457b65c","analyzedAt":"2026-08-14T19:43:37.150Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}