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

Claude Code v2.1.281 ·

Git config environment variables handled differently in internal git calls and path checks

Claude Code's internal git handling now reads GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM, sets global config to /dev/null, and converts Windows paths

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

What

GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM are environment variables that tell git where to find its global and system-wide settings files. Claude Code changed how it treats them:

  • The isolated environment for Claude Code's own internal git calls is now GIT_CONFIG_GLOBAL: "/dev/null" and GIT_CONFIG_NOSYSTEM: "1". It no longer sets GIT_CONFIG_SYSTEM. System config is still ignored through GIT_CONFIG_NOSYSTEM.
  • The check that reads git config to find hooks and filters to disable now copies GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM from the configured environment. Hooks and filters are scripts git runs automatically. The check also uses the git program from that same environment. Before, it relied only on asking git for GIT_CONFIG_GLOBAL with a default environment.
  • On Windows, a new helper converts MSYS-style paths such as /c/... to C:\... and matches both forms. A list naming GIT_CONFIG_GLOBAL and GIT_CONFIG_SYSTEM is used alongside it in path checks.

Why

If you point git at a different global or system config file, Claude Code now finds the hooks and filters defined there when disabling them for its own git calls. On Windows, paths written in both styles are recognised as the same place.

Read from
Names in the bundleGIT_CONFIG_GLOBAL

See this entry in the whole of v2.1.281 →

Feedback