{"version":"2.1.314","anchor":"macos-only-shell-shim-reroutes-git-grep-to-run-with-lc-al","canonical_anchor":"macos-only-shell-shim-reroutes-git-grep-to-run-with-lc-al","heading":"On macOS, git grep run by Claude now uses the plain C locale","tier":"notice","area":"Bash Tool","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314\/e\/macos-only-shell-shim-reroutes-git-grep-to-run-with-lc-al","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.314","markdown":"### On macOS, `git grep` run by Claude now uses the plain C locale\n\nOn macOS, simple Bash commands Claude runs that use git grep now run it with LC_ALL=C unless you already define your own git function or alias\n\n**What**\n\nOn macOS, when Claude runs a shell command through its Bash tool, the tool used for terminal commands, Claude Code can now add a small wrapper for `git`. The wrapper skips past git's global options. If the subcommand is `grep`, it runs it as `\/usr\/bin\/env LC_ALL=C git ...`, which uses the plain C locale instead of your language settings. Any other subcommand runs as normal. The wrapper is not added if you already have a `git` shell function or alias.\n\nIt is only added when all of these hold:\n\n- The machine is running macOS.\n\n- The command text contains both \"git\" and \"grep\".\n\n- The command is 1000 characters or shorter and contains only ASCII characters.\n\n- The command is a simple command, not a more complex shell construct.\n\n- No `git grep` argument matches `--p`, `--op` or `--textc`, or is a short flag containing O, P or f.\n\n**Why**\n\nIt changes how `git grep` behaves when Claude runs it on a Mac, so its results do not depend on your locale. You will not see the wrapper itself, only its effect.\n\n- Area: Bash Tool\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}