{"version":"2.1.299","anchor":"reftable-worktree-cleanup-and-darwin-openat-hardening","canonical_anchor":"reftable-worktree-cleanup-and-darwin-openat-hardening","heading":"Worktree cleanup now also removes reftable files","tier":"notice","area":"Worktrees","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299\/e\/reftable-worktree-cleanup-and-darwin-openat-hardening","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299","markdown":"### Worktree cleanup now also removes reftable files\n\nCleaning up a git worktree's admin folder now also deletes reftable files, and macOS file opens check they got the right file\n\n**What**\n\nA git worktree is an extra working copy of a repository that shares the same history. When Claude Code cleans up a worktree's admin folder (the small folder git keeps to track that copy), it previously deleted only a fixed list of files. It now also removes the files git writes when it uses reftable, a newer format git can use to store branch and tag references:\n\n- `tables.list`\n\n- files ending in `.ref`\n\n- files ending in `.log`\n\nThese are only removed after Claude Code checks that each file is the one it expects. On macOS, when Claude Code opens a file inside a folder it is holding open, it now also confirms that the file it opened is the same one the folder listing named.\n\n**Why**\n\nRepositories that use reftable should no longer have stray reference files left behind after a worktree is cleaned up.\n\n- Area: Worktrees\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}