[Bug] Failed to fetch latest version: HTTP 403 from distribution server

Status Closed — not planned
Reported on v2.1.50
Maintainer reply None cached
Activity 7 comments · opened Feb 22, 2026 · closed Mar 28, 2026

Bug Description
% claude update
Current version: 2.1.50
Checking for updates to latest version...
Error: Failed to install native update
Error: Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest: Request failed with status code 403
Try running "claude doctor" for diagnostics

Started getting this. Seriously? Yes I use Mullvad VPN. No changes lately whatsoever.

Environment Info

  • Platform: darwin
  • Terminal: ghostty
  • Version: 2.1.50
  • Feedback ID: 0fb95594-499d-422a-a15d-38fb49890e6e

Errors

[{"error":"Error: Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest: Request failed with status code 403\n    at W68 (/$bunfs/root/claude:2598:4536)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-22T02:48:22.619Z"},{"error":"Error: Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest: Request failed with status code 403\n    at W68 (/$bunfs/root/claude:2598:4536)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-22T02:48:22.619Z"},{"error":"Error\n    at <anonymous> (/$bunfs/root/claude:79:11055)\n    at <anonymous> (/$bunfs/root/claude:93:10263)\n    at emitError (node:events:43:23)\n    at <anonymous> (/$bunfs/root/claude:92:3470)\n    at emitError (node:events:43:23)\n    at <anonymous> (node:_http_client:253:22)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-02-22T02:48:35.812Z"}]

View original on GitHub ↗

7 Comments

github-actions[bot] · 7 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/21480
  2. https://github.com/anthropics/claude-code/issues/13498
  3. https://github.com/anthropics/claude-code/issues/14165

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

alenko · 7 months ago

Same here.

gentksb · 7 months ago

I'm on the same boat.

yuxi-liu-wired · 7 months ago

This can be fixed by forcing IPv4 preference for DNS resolution:

echo 'precedence ::ffff:0:0/96 100' | sudo tee -a /etc/gai.conf

Why this works: Your system's getaddrinfo() is preferring IPv6 (AAAA records) when resolving storage.googleapis.com. Some VPNs (Mullvad included) and network configurations route IPv6 traffic through paths where Google Cloud Storage returns 403 — either because GCS handles IPv6 differently on that edge, or because the VPN's IPv6 exit node lands in a region/IP range that triggers Google's access controls.

The gai.conf line sets a higher precedence (100) for IPv4-mapped addresses (::ffff:0:0/96), which tells the resolver to prefer IPv4 (A records) over native IPv6. This routes the request through IPv4, which typically works fine through VPNs and avoids the 403.

github-actions[bot] · 6 months ago

Closing for now — inactive for too long. Please open a new issue if this is still relevant.

chadj2 · 6 months ago

Just tried installing this on my Mac and I am getting this:

$ curl -fsSL https://claude.ai/install.sh | bash
Setting up Claude Code...

✘ Installation failed                        

Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/latest: timeout
 of 30000ms exceeded

I am using a regular residential internet connection and I am not on a proxy or VPN. I confirmed that I have connectivity to the host:

$ curl -sI https://storage.googleapis.com
HTTP/2 400 
content-type: application/xml; charset=UTF-8
x-guploader-uploadid: AMNfjG2UZ0JHB_MYokNO320QzQi-oY9CQyCLmN1la8YTDKCpR3ZQjmn8ljJ2cKkJbcL2Wmv7LnRwH80
content-length: 181
date: Thu, 02 Apr 2026 16:48:34 GMT
expires: Thu, 02 Apr 2026 16:48:34 GMT
cache-control: private, max-age=0
server: UploadServer
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000

I checked the Claude docs and they recommend using home-brew for "restricted internet" connections.

brew install --cask claude-code

Maybe this should be suggested for all Mac users having issues?

github-actions[bot] · 6 months ago

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.