diff --git a/src/specify_cli/workflows/engine.py b/src/specify_cli/workflows/engine.py index fe049fd840..82ced9a3bd 100644 --- a/src/specify_cli/workflows/engine.py +++ b/src/specify_cli/workflows/engine.py @@ -1676,9 +1676,12 @@ def list_runs(self) -> list[dict[str, Any]]: continue state_path = run_dir / "state.json" if state_path.exists(): - with open(state_path, encoding="utf-8") as f: - state_data = json.load(f) - runs.append(state_data) + try: + with open(state_path, encoding="utf-8") as f: + state_data = json.load(f) + runs.append(state_data) + except (OSError, json.JSONDecodeError, UnicodeDecodeError): + continue return runs