はじめに
2025年6月5日より、話題のClaude Codeが従来のMaxプラン(100USD / 月)ではなく、Proプラン(20USD / 月)でも利用可能になりました。手軽にClaude Codeを試してみたいと考える方も多いでしょう。
しかし、CLIを利用してAPI呼び出しを行った際、以下のようなタイムアウトエラーが頻繁に発生して困っている人もいるのではないでしょうか。
API Error (Request timed out.) · Retrying in 1 seconds… (attempt 1/10)
…
API Error: Request timed out.
この記事では、私が実際に遭遇し解決した方法を共有します。
環境情報
-
WSL(Windows Subsystem for Linux)
-
Ubuntu 22.04
エラー発生の原因
このエラーの原因は、APIへの接続時にIPv6アドレス(AAAAレコード)への接続を優先しようとするものの、実際にはIPv6が利用できず、TCPの接続試行がタイムアウトになるためです。その結果、API呼び出しのデフォルトタイムアウト(約30秒)を超過してしまい、リトライが繰り返されることになります。
解決方法:IPv6を無効化
Ubuntu環境でIPv6を完全に無効化することで、エラーを解消できます。
以下の設定を行います。
-
/etc/sysctl.conf
の末尾に以下を追記
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
- 設定を反映
sudo sysctl -p
- IPv6無効化の確認
ip a
出力に「inet6」が表示されていなければIPv6は無効化されています。
なぜIPv6無効化が有効か
以下の表でIPv6有効・無効時の接続フローを比較します。
ステップ | IPv6有効 | IPv6無効 |
---|---|---|
DNS解決 | IPv4+IPv6 (A+AAAA) | IPv4 (Aのみ) |
接続試行 | IPv6→タイムアウト→IPv4へフォールバック | 最初からIPv4で即接続 |
遅延時間 | 数十秒(1リクエストあたり) | ほぼゼロ |
CLI挙動 | リクエストタイムアウトでエラー | 正常応答 |
IPv6を無効化することで、最初のIPv6接続試行そのものがスキップされ、即座にIPv4接続が確立します。そのため、タイムアウトが劇的に減少します。
注意点
-
社内ネットワーク環境や将来的なIPv6導入計画がある場合は、この設定変更の影響を考慮してください。
-
IPv6が必要な環境では別途ネットワーク設定が必要になる場合があります。
まとめ(TL;DR)
Claude CodeのAPI Error(Request timed out.)
エラーは、IPv6を無効化してIPv4接続に一本化することで簡単かつ効果的に解消できます。