[BUG] Installation failed Failed to fetch version from stable: AxiosError: timeout of 30000ms exceeded

Status Open
Maintainer reply None cached
Activity 13 comments · opened Dec 9, 2025

Preflight Checklist

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

What's Wrong?

The native installer fails with timeout errors on Ubuntu 22.04, despite curl successfully reaching all required endpoints. The installer times out at two different stages:

  1. Initial version fetch - 30-second timeout fetching from https://storage.googleapis.com/.../stable
  2. Binary download - 10-second timeout downloading from https://downloads.claude.ai/claude-code-releases/2.0.61/linux-x64/claude

Both endpoints respond successfully to curl commands with 200 OK responses.

The same installer works successfully on Ubuntu 24.04.

What Should Happen?

Installer should successfully download and install Claude Code, as it does on Ubuntu 24.04.

Error Messages/Logs

Key error from logs:

2025-12-09T19:02:39.044Z [ERROR] Error: Failed to fetch version from https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/stable: timeout of 30000ms exceeded
2025-12-09T19:02:39.045Z [ERROR] Install command failed: Error: Failed to fetch version from stable: AxiosError: timeout of 30000ms exceeded

Network connectivity verified - all succeed with 200 OK:
curl -I https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/stable
curl -I https://downloads.claude.ai/claude-code-releases/2.0.61/manifest.json
curl -I https://downloads.claude.ai/claude-code-releases/2.0.61/linux-x64/claude

Steps to Reproduce

  1. On Ubuntu 22.04, run: curl -fsSL https://claude.ai/install.sh | bash
  2. Installer times out fetching version from stable channel
  3. Retry with specific version: curl -fsSL https://claude.ai/install.sh | bash -s 2.0.61
  4. Installer times out downloading the binary (~100MB file)

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.0.61

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

Other

Additional Information

OS: Ubuntu 22.04 LTS
Installation method: Native installer (curl -fsSL https://claude.ai/install.sh | bash)
Claude Code version: Attempting to install 2.0.61 (stable)
Works on: Ubuntu 24.04 with same installer

View original on GitHub ↗

12 Comments

jncn · 8 months ago

This error also occurs when installing from npm on Ubuntu 22.04 LTS

$ npm install -g @anthropic-ai/claude-code
npm error code ETIMEDOUT
npm error syscall connect
npm error errno ETIMEDOUT
npm error network request to https://registry.npmjs.org/@anthropic-ai%2fclaude-code failed, reason: connect ETIMEDOUT 2606:4700::6810:322:443
npm error network This is a problem related to network connectivity.
npm error network In most cases you are behind a proxy or have bad network settings.
npm error network
npm error network If you are behind a proxy, please make sure that the
npm error network 'proxy' config is set properly.  See: 'npm help config'
npm error A complete log of this run can be found in: /home/user/.npm/_logs/2025-12-22T13_50_32_477Z-debug-0.log
eblack-leaf · 8 months ago

for my case the npm version worked immediately on Ubuntu 22 LTS, confirming it was not a network problem

dsarno · 8 months ago
for my case the npm version worked immediately on Ubuntu 22 LTS, confirming it was not a network problem

Same here.

seanGSISG · 8 months ago

I was having a similar issue, seems to be an IPv6 problem.

Try this to force IPv4

curl -4 -fsSL https://claude.ai/install.sh | bash
piersharding · 7 months ago

for me, it was when it was running the downloaded ~/.claude/downloads/claude-2.1.9-linux-x64 for the final part of the install, and Cisco CSA VPN was interfering.

facorazza · 7 months ago

Likely due to IPv6 not being available on your side and missing IPv4 fallback in the script

ferdodo · 6 months ago
dev@machine:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy


dev@machine:~$ 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
timkalkus · 6 months ago

I was able to fix it for me (thanks Claude code for helping me fixing the Claude code installer):

# disable IPv6
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

After this the script worked and I could enabled the config again:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0

Btw this was the feedback Claude suggested:

For a CLI installer designed for broad usage, network robustness should be a priority. An --ipv4 flag or an internal fallback would not be a huge effort and would save many users the trouble of debugging. It's fair to communicate that — factually, but clearly.
dsarno · 6 months ago

@timkalkus nice! Claude is both polite and sensible about Claude's recommendation for how to fix the Claude installer. We should have asked Claude sooner.

yuxi-liu-wired · 6 months ago

For anyone still hitting this: a cleaner fix than disabling IPv6 entirely is to tell the system resolver to prefer IPv4 when both are available:

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

This is a permanent, one-line fix. No need to toggle IPv6 on and off.

Why this works: The root cause (as several commenters identified) is that Bun/Node resolves storage.googleapis.com to an IPv6 address, but the IPv6 path is broken — the connection either times out or gets refused, depending on the network setup. Meanwhile curl works fine because it often tries IPv4 first by default.

The gai.conf line sets a higher precedence for IPv4-mapped addresses (::ffff:0:0/96), so getaddrinfo() returns IPv4 (A records) before IPv6 (AAAA records). This fixes the installer, claude update, and any other Bun-based HTTP requests to GCS, without disabling IPv6 system-wide.

tomquas · 5 months ago

nice to see it work on linux. now, i guess fixing the install script as pointed out by @seanGSISG should be the way to go because we're seeing this on macos, too, using the mise package manager:

> mise use -g claude-code@latest
claude-code@2.1.74     install                                                              ◜
mise ERROR Failed to install aqua:anthropics/claude-code@latest: Http backend requires 'url' option
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more information
charles-slc · 5 months ago

Neither @timkalkus solution of disabling IP6 nor @yuxi-liu-wired solution of setting precedence worked for me. Running Ubuntu 24.04.4 LTS via WSL.
I still get

✘ 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

even though a direct curl download works

Showing cached comments. Read the full discussion on GitHub ↗