{"version":"2.1.247","anchor":"every-git-command-now-runs-with-hooks-filesystem-monitors-an","canonical_anchor":"every-git-command-now-runs-with-hooks-filesystem-monitors-an","heading":"Every git command now runs with hooks, filesystem monitors and prompt helpers disabled","tier":"notice","area":"Git Safety","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/every-git-command-now-runs-with-hooks-filesystem-monitors-an","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Every git command now runs with hooks, filesystem monitors and prompt helpers disabled\n\nEvery git command Claude runs now has hooks, filesystem monitors and prompt helpers turned off.\n\n**What**\n\nAll git invocations go through one wrapper that pins a fixed set of config so a repository cannot make git run its own programs. Hooks are pointed at the null device, `protocol.ext.allow` is set to `never`, submodule recursion and signature display are off, `core.fsmonitor` and `core.askPass` are neutralized, and `GIT_PROXY_COMMAND` is blanked. Callers that deliberately want repo hooks can opt back in.\n\n**Details**\n\n- `core.hooksPath` is forced to `\/dev\/null`, or `\\\\.\\NUL` on Windows, and a caller-supplied hooks path is rewritten back to the null device.\n- An `allowRepoGitHooks` option drops the hooks, askPass and submodule entries for the few call sites that want repo behaviour.\n- Previously this module only carried the `GIT_TERMINAL_PROMPT`\/`GIT_ASKPASS`\/`GCM_INTERACTIVE` environment settings and the ssh `BatchMode` arguments.\n\n**Evidence**\n\n`protocol.ext.allow`\n\n- Area: Git Safety\n- Names: `protocol.ext.allow`, `core.fsmonitor`, `core.askPass`, `GIT_PROXY_COMMAND`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}