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"andGIT_CONFIG_NOSYSTEM: "1". It no longer setsGIT_CONFIG_SYSTEM. System config is still ignored throughGIT_CONFIG_NOSYSTEM. - The check that reads git config to find hooks and filters to disable now copies
GIT_CONFIG_GLOBALandGIT_CONFIG_SYSTEMfrom 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 forGIT_CONFIG_GLOBALwith a default environment. - On Windows, a new helper converts MSYS-style paths such as
/c/...toC:\...and matches both forms. A list namingGIT_CONFIG_GLOBALandGIT_CONFIG_SYSTEMis 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.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
The finding does not say what `GIT_CONFIG_GLOBAL` was set to before this change.