diff --git a/packages/opencode/src/worktree/index.ts b/packages/opencode/src/worktree/index.ts index b0dfd57dd20f..2e095136eb1a 100644 --- a/packages/opencode/src/worktree/index.ts +++ b/packages/opencode/src/worktree/index.ts @@ -411,8 +411,13 @@ export namespace Worktree { if (key === directory) return item } })() + if (!entry?.path) { - throw new RemoveFailedError({ message: "Worktree not found" }) + const directoryExists = await exists(directory) + if (directoryExists) { + await fs.rm(directory, { recursive: true, force: true }) + } + return true } const removed = await $`git worktree remove --force ${entry.path}`.quiet().nothrow().cwd(Instance.worktree)