claude-code - 💡(How to fix) Fix [BUG] Claude Code on Web: git push fails — local git proxy missing credential bridge [1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#57925Fetched 2026-05-11 03:21:46
View on GitHub
Comments
1
Participants
1
Timeline
7
Reactions
0
Author
Participants
Timeline (top)
labeled ×5closed ×1commented ×1

In a Claude Code on Web workspace, git push consistently fails because the local git proxy at 127.0.0.1:<port> requires Basic auth but no credential helper is wired up to supply the password.

Error Message

Retried push with exponential backoff — same error every time

Error Messages/Logs

Every push attempt fails with the same could not read Password error.

Root Cause

Summary

In a Claude Code on Web workspace, git push consistently fails because the local git proxy at 127.0.0.1:<port> requires Basic auth but no credential helper is wired up to supply the password.

Fix Action

Fix / Workaround

~/.gitconfig sets http.proxyAuthMethod=basic No credential.helper configured (git config --get-all credential.helper returns nothing) No credentials file at ~/.git-credentials or ~/.config/git/credentials

`CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR=4` is set in the env, but nothing bridges that token to git as the proxy password
## What I tried
Reopened the workspace — no change
Fully killed the browser and re-logged into Claude — no change
Retried push with exponential backoff — same error every time
## Environment
Platform: Claude Code on Web
Repo host: GitHub (private repo accessed via the Claude GitHub integration)
## Impact
The stop hook flags the unpushed commit every turn, and there is no way to push from inside the workspace. Workaround is to extract the work as a bundle/patch and push from a local machine.

The workspace should ship with a credential.helper (or equivalent bridge) that supplies the OAuth token referenced by CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR to the local proxy as the Basic-auth password for the local_proxy user.
git push -u origin <branch> should complete normally, with the proxy forwarding the request to GitHub on the user's behalf.
The stop hook that checks for unpushed commits should be satisfied after a successful push, without requiring the user to extract work as a bundle/patch and push from a separate machine.

Code Example

git push -u origin <branch>
Result:

fatal: could not read Password for 'http://[email protected]:<port>': No such device or address

---

$ curl -sv http://127.0.0.1:<port>/git/<owner>/<repo>/info/refs?service=git-upload-pack
< HTTP/1.1 401 Unauthorized
< Www-Authenticate: Basic realm="Git Proxy"

---

~/.gitconfig sets http.proxyAuthMethod=basic
No credential.helper configured (git config --get-all credential.helper returns nothing)
No credentials file at ~/.git-credentials or ~/.config/git/credentials

---



---

git log --oneline -1
   git status

---

git push -u origin test/proxy-repro

---

fatal: could not read Password for 'http://[email protected]:<port>': No such device or address

---

curl -sv "http://127.0.0.1:<port>/git/<owner>/<repo>/info/refs?service=git-upload-pack"
   # → HTTP/1.1 401 Unauthorized
   # → Www-Authenticate: Basic realm="Git Proxy"

---

git config --get-all credential.helper          #  (empty)
   git config --get http.proxyAuthMethod           # → basic
   ls ~/.git-credentials ~/.config/git/credentials # → no such file
   env | grep CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR
   # → CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR=4   (token referenced, but no helper bridges it to git)

---

proxy push repro
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Summary

In a Claude Code on Web workspace, git push consistently fails because the local git proxy at 127.0.0.1:<port> requires Basic auth but no credential helper is wired up to supply the password.

Repro

git push -u origin <branch>
Result:

fatal: could not read Password for 'http://[email protected]:<port>': No such device or address

Diagnostics

Probing the proxy directly:


$ curl -sv http://127.0.0.1:<port>/git/<owner>/<repo>/info/refs?service=git-upload-pack
< HTTP/1.1 401 Unauthorized
< Www-Authenticate: Basic realm="Git Proxy"

So the proxy is up and demanding Basic auth, but the workspace has no way to provide it:


~/.gitconfig sets http.proxyAuthMethod=basic
No credential.helper configured (git config --get-all credential.helper returns nothing)
No credentials file at ~/.git-credentials or ~/.config/git/credentials

CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR=4 is set in the env, but nothing bridges that token to git as the proxy password

What I tried

Reopened the workspace — no change Fully killed the browser and re-logged into Claude — no change Retried push with exponential backoff — same error every time

Environment

Platform: Claude Code on Web Repo host: GitHub (private repo accessed via the Claude GitHub integration)

Impact

The stop hook flags the unpushed commit every turn, and there is no way to push from inside the workspace. Workaround is to extract the work as a bundle/patch and push from a local machine.

What Should Happen?

git push from inside a Claude Code on Web workspace should succeed against the local git proxy without any manual credential setup. Specifically:

The workspace should ship with a credential.helper (or equivalent bridge) that supplies the OAuth token referenced by CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR to the local proxy as the Basic-auth password for the local_proxy user. git push -u origin <branch> should complete normally, with the proxy forwarding the request to GitHub on the user's behalf. The stop hook that checks for unpushed commits should be satisfied after a successful push, without requiring the user to extract work as a bundle/patch and push from a separate machine.

Error Messages/Logs

Steps to Reproduce

Steps to Reproduce

  1. Open a Claude Code on Web workspace on any GitHub repo you have access to via the Claude GitHub integration.
  2. In the session, ask Claude to make a small change on a new branch — e.g. "create a branch test/proxy-repro, add a one-line file repro.txt, commit it."
  3. Wait for Claude to commit. Verify the commit exists locally:
    git log --oneline -1
    git status
  4. Attempt to push the branch from the workspace shell:
    git push -u origin test/proxy-repro
  5. Observe the failure:
    fatal: could not read Password for 'http://[email protected]:<port>': No such device or address
  6. Confirm the proxy itself is up and requesting Basic auth:
    curl -sv "http://127.0.0.1:<port>/git/<owner>/<repo>/info/refs?service=git-upload-pack"
    # → HTTP/1.1 401 Unauthorized
    # → Www-Authenticate: Basic realm="Git Proxy"
  7. Inspect the workspace's git credential setup and confirm nothing is supplying the password:
    git config --get-all credential.helper          # → (empty)
    git config --get http.proxyAuthMethod           # → basic
    ls ~/.git-credentials ~/.config/git/credentials # → no such file
    env | grep CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR
    # → CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR=4   (token referenced, but no helper bridges it to git)
  8. Try recovery steps and confirm they don't help:
    • Close and reopen the workspace tab.
    • Fully quit the browser and re-log into Claude.
    • Retry the push.

Every push attempt fails with the same could not read Password error.

Minimal repro file (repro.txt):

proxy push repro

The exact file content is irrelevant — any commit on any branch reproduces this; the failure is in the push transport, not in the change itself.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.138 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Other

Additional Information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Claude Code on Web: git push fails — local git proxy missing credential bridge [1 comments, 1 participants]