概要
Windows PCで初めてClaude Codeを使おうとしたときにエラーがでたので、その対処方法を載せる。
エラーの内容
単にclaudeコマンドを実行したときに以下のエラーが発生し先に進めない。
<エラーメッセージ>
Unable to connect to anthropic services
Failed to connect to api.anthropic.com: SELF_SIGNED_CERT_IN_CHAIN
原因
Claude Codeの内部ではNode.jsが使用されているが、
証明書の検証で問題が発生している。
対処方法
Windowsの環境変数に、以下のどちらかを設定する。
・有効な証明書が有りNode.jsの証明書検証を行う場合(推奨)
環境変数:NODE_EXTRA_CA_CERTS
値 :C:\XXXX.crt
・Node.jsの証明書検証をしない場合
環境変数:NODE_TLS_REJECT_UNAUTHORIZED
値 :0
設定後、ターミナルを開きなおしてclaudeコマンド実行でエラーが起きないことを確認する。
最後に
きちんと環境変数に設定するのがポイント。
setコマンドによる一時的な環境変数を設定するやり方だと解決しないので注意が必要。
また、Windowsに証明書をインストールしただけでも、Node.jsには効かないっぽい。
NODE_TLS_REJECT_UNAUTHORIZEDを0にして無効化するのはセキュリティ的に良くないので、NODE_EXTRA_CA_CERTSを設定したほうが良い。
VPNで接続している場合は、VPNソフトウェアが提供している証明書ファイルを入手して、
NODE_EXTRA_CA_CERTS環境変数でそのファイルを指定する。
証明書ファイルは、PEM形式である必要がある。
PEM形式かどうかは、証明書ファイルをテキストエディタで開き、以下のような形式になっているかで判断可能。
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
