coleam00/Archon · warning

could not verify uncommitted changes (worktree path may be m

Error message

could not verify uncommitted changes (worktree path may be missing)

What it means

isolationCompleteCommand adds this blocker when the pre-completion check for uncommitted changes cannot run — typically because the worktree path is missing so the git status command fails. Completion is deliberately blocked (fail-safe) rather than proceeding with unknown worktree state; the underlying error is logged as 'isolation.complete_uncommitted_check_failed'.

Source

Thrown at packages/cli/src/commands/isolation.ts:279

      notFound++;
      continue;
    }

    // Run all safety checks before removing — collect all blockers, report at once.
    // Skipped entirely when --force is set.
    if (!options.force) {
      const blockers: string[] = [];

      // Check 1: uncommitted changes in worktree
      try {
        const hasChanges = await hasUncommittedChanges(toWorktreePath(env.working_path));
        if (hasChanges) {
          blockers.push('uncommitted changes in worktree');
        }
      } catch (error) {
        getLog().warn(
          { err: error as Error, branch },
          'isolation.complete_uncommitted_check_failed'
        );
        blockers.push('could not verify uncommitted changes (worktree path may be missing)');
      }

      // Check 2: running workflow on this branch
      try {
        const activeRun = await workflowDb.getActiveWorkflowRunByPath(env.working_path);
        if (activeRun) {
          blockers.push(`running workflow: ${activeRun.workflow_name} (id: ${activeRun.id})`);
        }
      } catch (error) {
        getLog().warn({ err: error as Error, branch }, 'isolation.complete_workflow_check_failed');
        console.warn('  Warning: could not check for running workflows — skipping workflow check');
      }

      // Check 3: open PRs on this branch (requires gh CLI)
      try {
        const ghResult = await execFileAsync(

View on GitHub (pinned to 0773b97458)

Solutions

  1. Restore the worktree (re-create/checkout the branch) or unmount/remount the volume so the path exists, then re-run complete
  2. If the work is genuinely gone and should not be preserved, cancel/abandon the isolation instead of forcing completion so state stays truthful
  3. Check the 'isolation.complete_uncommitted_check_failed' log for the exact git/FS error to distinguish a missing path from a permissions problem
  4. Commit any remaining changes in the worktree first, then re-run `archon isolation complete` — the blocker clears once the check can run
Defensive patterns

Strategy: validation

Validate before calling

// verify worktree path before attempting completion
if (!existsSync(env.working_path)) {
  throw new Error(`worktree missing: ${env.working_path}; restore it or cancel the isolation`);
}

Try / catch

try {
  await checkUncommitted(worktreePath);
} catch (err) {
  getLog().warn({ err, branch }, 'isolation.complete_uncommitted_check_failed');
  blockers.push('could not verify uncommitted changes (worktree path may be missing)');
}

Prevention

When it happens

Trigger: Running `archon isolation complete` when the git status probe inside the worktree throws — working_path was deleted or moved, path permissions deny access, the branch/repo metadata is gone, or git itself fails in the checkout.

Common situations: Manual deletion or relocation of the worktree before completing; a crashed run left the checkout half-removed; the codebase lives on an unmounted volume; disk cleanup removed the directory while the run was still marked active.

Related errors


AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01). Data as JSON: /api/errors/eae1db228c37f645. Report an issue: GitHub.