Claude Code を使っていて、突然「接続できない」「タイムアウトした」というエラーが出て困ったことはないでしょうか。同じ「動かない」でも、原因はネットワーク障害、認証切れ、APIサーバー側の問題など複数あり、原因を特定せずに闇雲に再インストールしても解決しないことがほとんどです。
よく見るエラーメッセージと原因の早見表
まず、エラーメッセージと原因の対応関係を把握しておくと診断が速くなります。同じ症状でも、見ているレイヤーが違うことがあります。
API 接続系
Failed to connect to api.anthropic.com— DNS 解決失敗またはファイアウォールによるブロックECONNREFUSED— ローカルのプロキシ設定が正しくない、またはポート競合ECONNRESET— 途中で接続が切断された(ネットワーク不安定・サーバー側タイムアウト)ETIMEDOUT— ネットワークが重い、またはリクエストが長すぎて打ち切られた
認証・権限系
401 Unauthorized— API キーが無効または期限切れ(ネットワーク障害ではない)403 Forbidden— APIキーに対して許可されていない操作(モデル・機能制限)
サーバー側の問題
529 Overloaded— Anthropic サーバーの高負荷状態(ユーザー側では対処不可)500 Internal Server Error— サーバー側の一時的な障害
ここで重要なのは、401 や 529 は「ネットワークは繋がっているけど別の問題」という点です。接続エラーと混同しやすいので注意が必要です。
5分で終わる原因診断フロー
闇雲に試す前に、順番通りに確認していくと原因が絞れます。
Step 1: まず Anthropic のステータスページを確認する
Claude Code が動かないとき、最初にやるべきことは自分の環境を疑うことではありません。Anthropic のサービス自体が障害中かどうかを先に確認します。
# ブラウザで確認するか、ターミナルから確認する
curl -s -o /dev/null -w "%{http_code}" https://status.anthropic.com
# 200 が返れば status ページ自体は生きているサービスが Degraded(低下)や Major Outage(大規模障害)の状態であれば、待つだけです。この確認を飛ばして自分の環境を調べ始めると、時間を無駄にすることになります。
Step 2: API エンドポイントに直接リクエストしてみる
Claude Code を経由せず、直接 API に疎通確認します。
# 環境変数に API キーがある前提
curl -v https://api.anthropic.com/v1/models \
-H "x-api-key: ${ANTHROPIC_API_KEY}" \
-H "anthropic-version: 2023-06-01"
# 期待する出力例: HTTP/2 200 ... {"data": [...]}結果の見方:
- HTTP 200 が返ってくる → API 自体は問題ありません。Claude Code の設定に問題あり
- HTTP 401 が返ってくる → API キーが間違っている
Could not resolve host→ DNS 障害またはネットワーク切断- タイムアウトして返ってこない → ファイアウォールまたは強いネットワーク障害
この一発で「自分の環境の問題か、上流の問題か」が切り分けられます。
Step 3: 環境変数の API キーを再確認する
認証エラーはネットワークエラーに見えることがあります。
# API キーが設定されているか確認
echo $ANTHROPIC_API_KEY
# 空であれば設定し直す
export ANTHROPIC_API_KEY="sk-ant-YOUR_KEY_HERE"
# Claude Code の設定ファイルを確認
cat ~/.claude.json 2>/dev/null || echo "設定ファイルなし"API キーは sk-ant- で始まる形式です。Anthropic Console でキーの有効性を確認し、必要であれば新しいキーを発行してください。
Step 4: 基本的なネットワーク疎通を確認する
# DNS 解決テスト
nslookup api.anthropic.com
# 正常な出力例: Address: 18.244.215.xxx
# HTTPS ポート 443 への接続テスト
nc -zv api.anthropic.com 443 2>&1
# 正常な出力例: Connection to api.anthropic.com port 443 [tcp/https] succeeded!
# または curl で
curl -v --connect-timeout 10 https://api.anthropic.com 2>&1 | head -20nc か curl でポート 443 に繋がらない場合、ファイアウォールかルーティングの問題です。
エラー別の具体的な解決策
診断フローで原因が絞れたら、それぞれの対処法に進みます。
DNS が解決できない場合
Wi-Fi に接続しているのに DNS 解決が失敗する場合は、DNS サーバーを変更してみるのが早いです。
# macOS の場合: DNS を Google / Cloudflare に変更
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 1.1.1.1
# 変更後に確認
nslookup api.anthropic.comLinux の場合は /etc/resolv.conf に nameserver 8.8.8.8 を追加するか、systemd-resolved の設定を変更します。一時的に変えて試すだけで、DNS が原因かどうかはすぐ判明します。
タイムアウトが頻発する場合
長い処理をさせているときにタイムアウトが出る場合、まずネットワーク品質を確認します。
# 10回 ping を打ってパケットロスと遅延を確認
ping -c 10 api.anthropic.com
# traceroute でどこで詰まっているか確認
traceroute api.anthropic.com 2>/dev/null || tracepath api.anthropic.comパケットロスが 5% 以上、または RTT が 500ms を超えている場合はネットワーク自体の問題です。有線接続への切り替えや、Wi-Fi ルーターの再起動を試してみてください。
SSL/TLS エラーの場合
企業ネットワーク以外でも SSL エラーが出ることがあります(古いシステム証明書、中間プロキシなど)。
# SSL 証明書の詳細を確認
openssl s_client -connect api.anthropic.com:443 2>&1 | grep -E "Verify|error|OK"
# 正常な出力例: Verify return code: 0 (ok)
# Node.js のバージョンが古い場合は更新する
node --version
# Node.js 18 以上を推奨エラーメッセージに CERT_UNTRUSTED が含まれる場合、システムの CA 証明書バンドルを更新します。
# macOS
brew install ca-certificates
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install --reinstall ca-certificates企業ネットワーク・VPN 環境の注意点
ホームネットワークでは動くのに社内ネットワークでは動かない、というケースでは、プロキシと VPN を先に疑います。
# プロキシ設定を確認
echo "HTTP_PROXY: $HTTP_PROXY"
echo "HTTPS_PROXY: $HTTPS_PROXY"
# Claude Code にプロキシを設定する場合
export HTTPS_PROXY=http://proxy.your-company.com:8080
export HTTP_PROXY=http://proxy.your-company.com:8080
export NO_PROXY=localhost,127.0.0.1
# プロキシ経由の接続テスト
curl -x http://proxy.your-company.com:8080 https://api.anthropic.com/v1/models \
-H "x-api-key: ${ANTHROPIC_API_KEY}" \
-H "anthropic-version: 2023-06-01" \
-w "\nHTTP Status: %{http_code}\n"VPN を使っている場合、Claude Code の通信が VPN 経由になると速度低下やブロックが起きることがあります。VPN をいったんオフにして試すことで、VPN が原因かどうかが 1 分でわかります。
接続エラー後のセッション回復
長時間のタスク実行中にネットワークエラーが発生した場合、セッションが途中で切れることがあります。Claude Code にはセッション回復機能があるので、一から始め直す前に試してみてください。
# 前回の会話を継続する
claude --continue
# 特定のセッションを指定して再開
claude --resume
# セッション一覧を確認する
claude sessions list 2>/dev/nullまた、ネットワークエラーが頻繁に発生する環境では、作業を小さな単位に分けて実行するのが実用的です。一度に大きなタスクを投げるより、段階的に進める方がリカバリーしやすくなります。
「Claude Code が繋がらない」と感じたときは、まず Anthropic のステータスページを確認してから curl で直接 API を叩いてみてください。この 2 ステップだけで、大半のケースで問題の場所が特定できます。企業ネットワークをお使いの方は IT 部門への問い合わせの前に、プロキシ設定と VPN 状態を確認しておくと話がスムーズになります。