{"version":"2.1.251","anchor":"git-commands-run-with-sanitized-ssh-and-protocol-environment","canonical_anchor":"git-commands-run-with-sanitized-ssh-and-protocol-environment","heading":"Git commands run with sanitized SSH and protocol environment","tier":"notice","area":"Git","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.251\/e\/git-commands-run-with-sanitized-ssh-and-protocol-environment","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.251","markdown":"### Git commands run with sanitized SSH and protocol environment\n\nGit runs with strict host-key checking and risky protocols disabled, no matter your environment.\n\n**What**\n\nGit operations Claude Code runs now rewrite inherited environment variables before invoking git: `GIT_SSH_COMMAND` and `GIT_SSH` are forced into batch mode with strict host-key checking, and `GIT_ALLOW_PROTOCOL` is rebuilt as explicit `-c protocol.X.allow=never` flags. Git also refuses to run when the working directory path cannot be expressed in git's path-separated discovery ceiling.\n\n**Details**\n\n- Applies to every git invocation built through this helper; there is no setting to opt out.\n- The refusal message explains that git's discovery ceiling is a separator-delimited list that cannot express the path.\n\n**Evidence**\n\n`git's discovery ceiling (a \"${l}\"-separated list) cannot express`\n\n- Area: Git\n- Names: `GIT_SSH_COMMAND`, `GIT_ALLOW_PROTOCOL`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}