OAuth error: fetch failed
Resolved 💬 21 comments Opened Feb 24, 2025 by egarl004 Closed Feb 27, 2025
When attempting to authenticate, "fetch failed" error is presented after authenticating via web browser. Sign in methods did not yield different results.
<img width="410" alt="Image" src="https://github.com/user-attachments/assets/1ed09daa-c686-4b2c-a53b-64ce2b57df69" />
21 Comments
node version - v22.11.0
npm version - 10.9.0
Mac - 15.3.1 (24D70)
Encountered the same thing, tried both chrome and edge, failed with "OAuth error: fetch failed"
I was in the same situation
same
I was having the same issue but resolved when removing vpn connection. Worth a try if you're behind corporate vpn/firewall as well.
same issue... anyone solved this?
same issue
same issue
I did suspect this, disabled vpn and still had the same issue though on my end.
This is probably due to the ssl certificate chain being broken by zscaler/other SaaS solution used in company networks. Experiencing the same issue...
I am having this same issue with a vanilla internet connection, no vpn, macos, zshell, nvm, v16.14.0, tried both chrome and safari as default browsers. sometimes i get to a key that i can copy in the browser but the shell script will not accept it, shell and browser process seems not to be in phase, just dancing around.
I am expereincing the same issue above.
Wondering if this is something Claude Code can fix...
this is fixed with ChatGPT with terminal. Update node and npm to latest version. All fine.
npm --version
10.9.2
node --version
v23.9.0
os : Ubuntu 22.04 LTS
node -v : v20.18.0
npm -v : 10.8.2
In my case - with nvm - the issue was a lingering prefix in .npmrc pointing to an older version of node. Now clearing this, with node version
node -v
v20.11.0
it works fine.
Step 1: Test what's wrong
Run 'node' then execute
If you see an error, it means that Claude Code has the same problem accessing internet.
Step 2 : Fix:
In my case it was a ZScaler certificate
You need to configure Node.js to trust the Zscaler certificate.
Option 1: set the NODE_TLS_REJECT_UNAUTHORIZED environment variable (quick but insecure)
Add the environment variable to your shell profile for persistence:
Thanks to @shevit !
For those not behind a VPN device but getting the same error, the safe fix is to tell node where your certificates are. On macOS
$ export NODE_EXTRA_CA_CERTS=/etc/ssl/cert.pem
$ claude
and things should work.
thanks @shevit! worked perfectly.
Thanks @shevit ! The fetch showed that npm was defaulting to IPV6 usage (Ubuntu server 24.04), after changing the NODE_OPTIONS as below, this solved the issue.
Linux/macOS
export NODE_OPTIONS="--dns-result-order=ipv4first"
Windows Command Prompt
set NODE_OPTIONS=--dns-result-order=ipv4first
Windows PowerShell
$env:NODE_OPTIONS="--dns-result-order=ipv4first"
Thanks @kurosato!!
export NODE_OPTIONS="--dns-result-order=ipv4first" worked for me on WSL
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.