{"version":"2.1.280","anchor":"directory-sync-refuses-to-run-git-if-git-changed-underneath","canonical_anchor":"directory-sync-refuses-to-run-git-if-git-changed-underneath","heading":"Directory sync refuses to run git if .git changed underneath it","tier":"internal","area":"Directory Sync","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280\/e\/directory-sync-refuses-to-run-git-if-git-changed-underneath","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.280","markdown":"### Directory sync refuses to run git if .git changed underneath it\n\nDirectory sync now refuses to run git if .git moved or git itself sits in a writable path\n\n**What**\n\nDirectory sync now performs an upfront check before running any git operation: if the working tree's `.git` location has changed since it was last read, the operation is refused immediately with reason `git_dir`. A second new refusal, `git_in_reach`, fires when the git executable itself is located inside a path that a session bound to a linked worktree could write to.\n\n**Why**\n\nThese checks stop git operations from running against a `.git` directory that has moved unexpectedly, or using a git binary that could have been tampered with from within a writable worktree.\n\n- Area: Directory Sync\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}