What
Claude Code runs git in the background for many jobs. It builds a set of environment variables for each of these runs, and that set normally forces a fixed locale. A locale is the language and regional format a program uses for its messages. The builder now takes a userLocale option. When the option is not given, the fixed locale is still forced. When it is set (userLocale: !0), git keeps your own locale.
The git calls that now set it include:
git status(includingstatus --porcelain)- the
rev-parsecall that finds the base of a worktree (a worktree is an extra checkout of the same repository in another folder) - a git call made when changes are not staged
- one further git call
The same environment builder now also sets GIT_NO_REPLACE_OBJECTS: "1".
Why
Output from these git commands may now appear in your own language rather than the fixed one. If you read or rely on that output, expect its wording to follow your system's locale.