{"version":"2.1.321","anchor":"git-option-path-denylist-grows","canonical_anchor":"git-option-path-denylist-grows","heading":"Stricter git command checks keep worktree sessions out of the shared checkout","tier":"notice","area":"Permissions","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321\/e\/git-option-path-denylist-grows","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321","markdown":"### Stricter git command checks keep worktree sessions out of the shared checkout\n\nClaude Code refuses or asks about many more git options, flags and variables that could write into the shared checkout or run outside programs\n\n**What**\n\nA worktree is a separate copy of a git project's files where Claude Code can work without touching your main copy, called the shared checkout. Claude Code checks git commands before running them, and those checks now cover much more.\n\n- Flags that write to a file path count as writes in permission checks for more git subcommands: `bugreport`, `diagnose`, `index-pack`, `mailsplit`, `daemon --pid-file`, `credential-store --file`, `filter-branch -d`, `fast-export` and `fast-import`. Before, only `archive` and `format-patch` with `-o` were covered.\n\n- `GIT_WORK_TREE` and `--work-tree` pointed at the shared checkout are refused.\n\n- Running git from above the shared checkout, where its arguments can reach it, is refused.\n\n- `--prefix` and other write options that land in the shared checkout are refused.\n\n- Commands that hand text naming git to a shell, and exported program names, are refused.\n\n- Changes to git configuration outside an allowed list are refused.\n\n- Options that run outside programs are refused: `--upload-pack`, `--exec`, and `ext::` and `fd::` addresses.\n\n- Output-path flags such as `--output` and `--file` are refused.\n\n- `--ignore-other-worktrees`, `git worktree add --force`, `fetch --update-head-ok`, `fast-import --allow-unsafe-features` and `apply --unsafe-paths` are refused.\n\nEach refusal comes with a message saying what to do instead.\n\n**Why**\n\nA session working in its own worktree can no longer use git to change the shared checkout or to run other programs through git options. Some git commands that ran before may now be refused or need your permission.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}