Git Still Uses a Proxy You Thought You Removed
Removing one Git setting can reveal another scope or environment variable. Trace the effective value instead of using 0 as a disable flag.
http.proxy is a string. Setting it to 0 can make Git contact a host literally named 0 rather than disable proxying.
Find the matching entries and their scopes first:
git config --show-origin --show-scope --get-regexp '.*proxy.*'Inspect system, user, repository, includes and URL-specific inputs, plus the actual process environment. Keep credential-bearing values private. Then query the relevant HTTPS remote:
git config --get-urlmatch http.proxy https://git.example/team/project.gitIf inspection identified a single obsolete repository-local http.proxy entry, run this from that intended checkout to remove that entry:
git config --local --unset http.proxyUse the source actually reported; this local example is not a command to clear user or machine defaults. Inspect multiple values before choosing an operation that removes them all.
Removal exposes remaining inputs. A local unset can reveal a user default, and removing a user entry can leave a URL-specific rule. An explicit empty value instead expresses an intended direct override in supported Git configuration; it is a different policy from withdrawing one source.
Keep core.gitProxy and SSH routes separate. If a value returns, inspect includes, launchers, IDEs and build runners and fix the producer at the intended scope. Repeat the selection query and network operation: correct selection does not establish connectivity or later repository authentication.