google-gemini/gemini-cli · error · OrchestrationError

Failed to clean eval directory: {e}

Error message

Failed to clean eval directory: {e}

What it means

Error "Failed to clean eval directory: {e}" thrown in google-gemini/gemini-cli.

Source

Thrown at tools/caretaker-agent/cloudrun/pr-generator/workflow/orchestrator.py:99

            script_dir=prompts_dir,
        )

    def _setup_workspace(self) -> None:
        """Ensures that required temporary workspace structures are initialized."""
        logging.info("Initializing workspace directories...")
        os.makedirs(self.config.tmp_dir, exist_ok=True)
        os.makedirs(self.config.pr_dir, exist_ok=True)
        os.makedirs(self.config.eval_dir, exist_ok=True)

    def _clean_eval_dir(self) -> None:
        """Cleans up the evaluation workspace directory to prevent state bleeding."""
        logging.info("Cleaning up evaluation repository path: %s", self.config.eval_dir)
        if os.path.exists(self.config.eval_dir):
            try:
                shutil.rmtree(self.config.eval_dir, onerror=_remove_readonly)
            except OSError as e:
                logging.error("Failed to remove evaluation directory: %s", e)
                raise OrchestrationError(f"Failed to clean eval directory: {e}") from e
        os.makedirs(self.config.eval_dir, exist_ok=True)

    def _sync_or_clone_repository(self) -> None:
        """Clones the target git repo or synchronizes it back to clean main branch."""
        git_dir = os.path.join(self.config.pr_repo_path, ".git")
        repo_exists = os.path.exists(git_dir)

        if repo_exists:
            logging.info("Repository already exists locally. Syncing with remote origin/main...")
            try:
                CommandExecutor.run(["git", "reset", "--hard", "HEAD"], self.config.pr_repo_path)
                CommandExecutor.run(["git", "clean", "-fd"], self.config.pr_repo_path)
                CommandExecutor.run(["git", "checkout", "main"], self.config.pr_repo_path)
                CommandExecutor.run(["git", "pull", "origin", "main"], self.config.pr_repo_path)
            except CommandExecutionError as e:
                logging.warning("Repository sync failed: %s. Re-cloning from scratch.", e)
                try:
                    shutil.rmtree(self.config.pr_repo_path)

View on GitHub (pinned to 5024443c72)

When it happens

Trigger: Thrown at tools/caretaker-agent/cloudrun/pr-generator/workflow/orchestrator.py:99 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of google-gemini/gemini-cli@5024443c72 (2026-08-12). Data as JSON: /api/errors/30272294d7e3c2f1. Report an issue: GitHub.