{"version":"2.1.310","anchor":"git-command-parsing-hardened-for-initconfig-tricks","canonical_anchor":"git-command-parsing-hardened-for-initconfig-tricks","heading":"More risky git commands and settings now need your approval","tier":"notice","area":"Permissions","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/git-command-parsing-hardened-for-initconfig-tricks","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310","markdown":"### More risky git commands and settings now need your approval\n\nBash permission checks treat git init, {} and ~ in arguments, and several more git config keys as needing approval\n\n**Unclear.** The new checks depend on an internal switch whose default is not stated, so it is unclear whether they apply for every reader.\n\n**What**\n\nBefore Claude runs a shell command, Claude Code checks whether it is safe to run without asking you. For git commands, that check now asks for approval in more cases:\n\n- `git init` and `git init-db` in a command.\n\n- `{}` and `~` in arguments, which are treated as values only known when the command runs.\n\n- Config keys `init.templatedir`, `core.sharedrepository`, `help.autocorrect` and `alias.*`.\n\nBefore, only `core.worktree`, `include.*`, `includeif.*`, protocol allow settings, and ssh command or git proxy settings were treated this way. The new checks sit behind an internal switch.\n\n**Why**\n\nGit settings like these can make git run other programs. Treating them as needing approval stops a command that looks harmless from running code without you being asked.\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}