Clean up empty parent directory after archiving worktree#53671
Draft
Clean up empty parent directory after archiving worktree#53671
Conversation
Zed creates worktrees inside an intermediate directory named after the branch: <worktrees_dir>/<branch_name>/<project_name>/. When git worktree remove deletes the inner project directory, the branch directory is left behind as an empty directory. After a successful git worktree remove, check if the parent directory is now empty and remove it if so.
Zed creates worktrees at <worktrees_dir>/<branch_name>/<project_name>/. When git worktree remove deletes the inner project directory, the intermediate branch directory is left behind as an empty folder. After a successful git worktree remove, check if the parent directory is now empty AND is inside Zed's managed worktrees directory (from the git.worktree_directory setting). If both conditions are met, remove the empty parent. Directories outside the managed worktrees directory are never touched, so user-created worktrees at custom paths won't have their parent directories deleted.
rtfeldman
commented
Apr 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Zed creates worktrees at
<worktrees_dir>/<branch_name>/<project_name>/. Whengit worktree removedeletes the inner project directory, the intermediate branch-name directory is left behind as an empty folder on disk.After a successful
git worktree remove, this now checks if the parent directory is empty AND is inside Zed's managed worktrees directory (from thegit.worktree_directorysetting). If both conditions are met, the empty parent is removed. Directories outside the managed worktrees directory are never touched, so user-created worktrees at custom paths won't have their parent directories deleted.Release Notes: