はじめに
Claude Codeを起動して /status コマンドを実行したところ、IDE連携の項目で以下のエラーが表示されました。
IDE: ✘ Error installing VS Code extension: 1: Command failed with exit code 1:
code --force --install-extension anthropic.claude-code
unable to verify the first certificate
社内プロキシ環境特有の問題だったため、原因と解決方法をまとめます。
環境
- Windows 10/11
- VS Code
- Claude Code 2.1.x
- 社内プロキシ環境(SSLインスペクションあり)
原因
通常環境の場合
┌─────────────┐ ┌─────────────────┐
│ VS Code │ ───── 直接 ─────→ │ VS Code │
│ │ │ Marketplace │
└─────────────┘ └─────────────────┘
│
↓
正規の証明書
(Microsoft発行)
│
↓
検証OK → 成功 ✓
社内プロキシ環境の場合
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ VS Code │ ──→ │ 社内プロキシ │ ──→ │ VS Code │
│ │ │ (SSL検査) │ │ Marketplace │
└─────────────┘ └──────────────────┘ └─────────────────┘
│
↓
証明書を差し替え
(社内CA発行)
│
↓
「正規の証明書じゃない!」
│
↓
検証NG → エラー ✗
社内プロキシがSSLインスペクション(通信内容の検査)を行っている場合、証明書が社内CA発行のものに差し替えられます。
VS Codeはこれを「不正な証明書」と判断し、unable to verify the first certificate エラーが発生します。
解決方法
手順1: VS Codeの設定を開く
Ctrl + , で設定画面を開きます。
手順2: プロキシを設定
検索バーで http.proxy を検索し、プロキシURLを設定します。
http://ユーザー名:パスワード@プロキシサーバー:ポート
手順3: SSL証明書の検証を無効化
検索バーで proxy strict ssl を検索し、Http: Proxy Strict SSL のチェックを外します。
または settings.json に直接追加:
{
"http.proxy": "http://ユーザー名:パスワード@プロキシサーバー:ポート",
"http.proxyStrictSSL": false
}
手順4: VS Codeを再起動
すべてのVS Codeウィンドウを閉じて、再度開きます。
手順5: 確認
Claude Codeを起動してステータスを確認します。
claude
/status
IDEの項目にエラーがなければ成功です。
設定の役割
| 設定 | 役割 |
|---|---|
http.proxy |
どのプロキシを経由するか(経路) |
http.proxyStrictSSL |
証明書を厳密に検証するか |
両方の設定が必要です。
-
http.proxyのみ → 証明書エラーで失敗 -
http.proxyStrictSSL: falseのみ → プロキシを経由できず失敗
セキュリティについて
Q: proxyStrictSSL を無効にして大丈夫?
A: 社内環境では問題ありません。
| 環境 | セキュリティの担保方法 |
|---|---|
| 通常環境 | 証明書検証 |
| 社内環境 | プロキシによる検査 |
社内プロキシ自体が信頼できる環境であれば、プロキシがセキュリティを担保しているため、VS Code側の証明書検証は不要です。
多くの企業環境でこの設定は一般的に行われています。
プロキシが原因か調べる方法
エラーの原因がプロキシかどうか確認するには、以下のコマンドを実行します。
curl -sI https://marketplace.visualstudio.com/ --proxy http://プロキシサーバー:ポート 2>&1 | head -5
成功の場合:
HTTP/1.0 200 Connection established
HTTP/1.1 404 Not Found
Connection established が表示されれば、プロキシ経由での接続自体は成功しています。この場合、VS Code側の証明書検証設定が原因です。
失敗の場合:
curl: (60) SSL certificate problem: unable to get local issuer certificate
証明書関連のエラーが出る場合は、プロキシのSSLインスペクションが原因です。
VS Code拡張機能でできること
参考までに、拡張機能の有無による違いをまとめます。
| 機能 | 拡張機能なし | 拡張機能あり |
|---|---|---|
| ファイル新規作成 | ✓ | ✓ |
| ファイル編集 | ✓ | ✓ |
| コマンド実行 | ✓ | ✓ |
| 編集ファイルを自動で開く | ✗ | ✓ |
| VS Codeのエラー情報を取得 | ✗ | ✓ |
| 差分をVS Codeで表示 | ✗ | ✓ |
拡張機能がなくてもClaude Codeは動作しますが、あると作業効率が上がります。
同様の問題が起きやすいツール
社内プロキシ環境では、他のツールでも同様のSSL証明書エラーが発生することがあります。
| ツール | 対応する設定 |
|---|---|
| Git | git config --global http.sslVerify false |
| npm | npm config set strict-ssl false |
| Node.js | 環境変数 NODE_EXTRA_CA_CERTS に社内CA証明書を設定 |
まとめ
- 社内プロキシ環境ではSSLインスペクションにより証明書エラーが発生する
- VS Codeの
http.proxyとhttp.proxyStrictSSLの両方を設定する - 社内環境ではプロキシがセキュリティを担保するため、証明書検証の無効化は問題ない
同じエラーで困っている方の参考になれば幸いです。