Follow Discord
Sweep 22 Oct 2026 · 21:04Z Build v2.1.309 528 read Stable v2.1.308 Latest v2.1.309 Next v2.1.309 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.309 ·

Git commands run with a cleaned-up environment

Claude Code's internal git calls now use a shared, cleaned environment, and the old forced LC_ALL=C setting is replaced

Group of 4 You'll notice Internal Changes
JSON All of v2.1.309
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
GitArea: what it touches
Internal ChangesKind: in v2.1.309,
ImprovementsSection of the release

Unclear The contents of the shared arguments and environment are not known, so it is unclear whether this changes how these commands treat your repository's own git settings.

What

Claude Code runs git in the background for things like checking whether a file is tracked. The environment it gives git (the settings passed to a program when it starts, called environment variables) has changed:

  • The git ls-files and git check-ignore helpers now pass a shared set of leading arguments and an explicit environment.
  • The git ls-files check used by the Bash tool now builds a cleaned environment that sets GIT_LITERAL_PATHSPECS, GIT_TRACE2, GIT_TRACE2_PERF and GIT_TRACE2_EVENT. If the git program it finds fails a safety check, the file is treated as untracked.
  • A fixed environment that sets LC_ALL and LANGUAGE to C (which keeps git's output in plain English) now exists, and a git rev-parse call uses a shared helper for it instead of setting LC_ALL=C inline.
  • Several other git calls, including config reads, the shortstat call and one general git invocation, no longer force LC_ALL=C on their own and use the shared environment helper instead.

Why

Git calls are less affected by settings in your own environment, such as tracing output or a different way of reading file patterns. Because the forced LC_ALL=C was dropped from some calls, git output there may follow your language settings.

How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtThe contents of the shared arguments and environment are not known, so it is unclear whether this changes how these commands treat your…

See this entry in the whole of v2.1.309 →

Feedback