Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.

Commit 2391a0f

Browse files
roomote[bot]roomote
andauthored
fix: use --force by default when deleting worktrees (#10986)
Co-authored-by: Roo Code <roomote@roocode.com>
1 parent 2f92cb7 commit 2391a0f

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

webview-ui/src/components/worktrees/DeleteWorktreeModal.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const DeleteWorktreeModal = ({ open, onClose, worktree, onSuccess }: Dele
1818
const { t } = useAppTranslation()
1919

2020
const [isDeleting, setIsDeleting] = useState(false)
21-
const [forceDelete, setForceDelete] = useState(false)
21+
const [forceDeleteLocked, setForceDeleteLocked] = useState(false)
2222
const [error, setError] = useState<string | null>(null)
2323

2424
useEffect(() => {
@@ -44,12 +44,15 @@ export const DeleteWorktreeModal = ({ open, onClose, worktree, onSuccess }: Dele
4444
setError(null)
4545
setIsDeleting(true)
4646

47+
// Always force delete unless worktree is locked and user hasn't opted in
48+
const shouldForce = worktree.isLocked ? forceDeleteLocked : true
49+
4750
vscode.postMessage({
4851
type: "deleteWorktree",
4952
worktreePath: worktree.path,
50-
worktreeForce: forceDelete,
53+
worktreeForce: shouldForce,
5154
})
52-
}, [worktree.path, forceDelete])
55+
}, [worktree.path, worktree.isLocked, forceDeleteLocked])
5356

5457
return (
5558
<Dialog open={open} onOpenChange={(isOpen: boolean) => !isOpen && onClose()}>
@@ -90,13 +93,13 @@ export const DeleteWorktreeModal = ({ open, onClose, worktree, onSuccess }: Dele
9093
</div>
9194
</div>
9295

93-
{/* Force delete option (if worktree is locked) */}
96+
{/* Force delete option (only shown if worktree is locked) */}
9497
{worktree.isLocked && (
9598
<div className="flex items-center gap-2">
9699
<Checkbox
97100
id="force-delete"
98-
checked={forceDelete}
99-
onCheckedChange={(checked) => setForceDelete(checked === true)}
101+
checked={forceDeleteLocked}
102+
onCheckedChange={(checked) => setForceDeleteLocked(checked === true)}
100103
/>
101104
<label htmlFor="force-delete" className="text-sm text-vscode-foreground cursor-pointer">
102105
{t("worktrees:forceDelete")}

0 commit comments

Comments
 (0)