Claude Code Proxy設定ガイド
企業ネットワークやVPN環境では、インターネットアクセスにプロキシサーバーを経由することが一般的です。この記事では、Claude Codeをプロキシ環境で正しく動作させるための設定方法を解説します。
プロキシ設定が必要なケース
以下の環境でClaude Codeを使用する場合、プロキシ設定が必要です。
- 企業ネットワーク: 社内LANからインターネットへのアクセス制限がある
- VPN接続時: VPN経由でのみ外部接続が許可されている
- セキュリティポリシー: すべての通信を監視・フィルタリングする必要がある
- ファイアウォール環境: 特定のポートやプロトコルのみ許可されている
環境変数によるプロキシ設定
基本的な設定方法
Claude Codeは標準的なプロキシ環境変数を認識します。
macOS/Linux(bash/zsh):
# HTTPプロキシ
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
# 小文字版も設定(一部ツールで必要)
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
# プロキシを経由しないホスト
export NO_PROXY=localhost,127.0.0.1,.internal.example.com
Windows(PowerShell):
$env:HTTP_PROXY = "http://proxy.example.com:8080"
$env:HTTPS_PROXY = "http://proxy.example.com:8080"
$env:NO_PROXY = "localhost,127.0.0.1,.internal.example.com"
Windows(コマンドプロンプト):
set HTTP_PROXY=http://proxy.example.com:8080
set HTTPS_PROXY=http://proxy.example.com:8080
set NO_PROXY=localhost,127.0.0.1,.internal.example.com
永続化する方法
macOS/Linux: シェルの設定ファイルに追加
# ~/.bashrc または ~/.zshrc に追加
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1
Windows: システム環境変数として設定
- 「システムのプロパティ」→「環境変数」を開く
- 「システム環境変数」で「新規」をクリック
- 変数名:
HTTPS_PROXY、値:http://proxy.example.com:8080
認証プロキシの設定
ユーザー名・パスワード認証
認証が必要なプロキシの場合:
export HTTPS_PROXY=http://username:password@proxy.example.com:8080
注意: パスワードに特殊文字が含まれる場合はURLエンコードが必要です。
文字 | エンコード |
|---|---|
@ | %40 |
: | %3A |
# | %23 |
? | %3F |
/ | %2F |
例:パスワードが p@ss:word の場合
export HTTPS_PROXY=http://username:p%40ss%3Aword@proxy.example.com:8080
NTLM認証プロキシ
企業環境でよく使われるNTLM認証の場合、CNTLMなどのローカルプロキシを使用します。
1. CNTLMのインストール
macOS:
brew install cntlm
Windows:
Chocolateyまたは公式サイトからダウンロード
2. CNTLMの設定
/etc/cntlm.conf(macOS/Linux)またはcntlm.ini(Windows):
Username your_username
Domain YOUR_DOMAIN
Proxy proxy.example.com:8080
Listen 3128
3. パスワードハッシュの生成
cntlm -H -d YOUR_DOMAIN -u your_username
生成されたハッシュを設定ファイルに追加。
4. CNTLMを起動
sudo cntlm -c /etc/cntlm.conf
5. Claude Codeの設定
export HTTPS_PROXY=http://localhost:3128
Node.jsのプロキシ設定
Claude CodeはNode.js上で動作するため、Node.js固有の設定も確認が必要です。
npmのプロキシ設定
npm config set proxy http://proxy.example.com:8080
npm config set https-proxy http://proxy.example.com:8080
SSL証明書の問題
企業プロキシがSSL通信を検査している場合、証明書エラーが発生することがあります。
対処法1: 企業のCA証明書を追加
export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.crt
対処法2: 証明書検証を無効化(非推奨、テスト用)
export NODE_TLS_REJECT_UNAUTHORIZED=0
VSCode拡張でのプロキシ設定
VSCodeでClaude Codeを使用する場合、VSCodeのプロキシ設定も確認します。
settings.json:
{
"http.proxy": "http://proxy.example.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": null
}
トラブルシューティング
接続エラーが発生する
症状:
Error: connect ETIMEDOUT
または
Error: connect ECONNREFUSED
解決策:
- プロキシのアドレスとポートを確認
curl -x http://proxy.example.com:8080 https://api.anthropic.com
- 環境変数が設定されているか確認
echo $HTTPS_PROXY
- ファイアウォールの設定を確認
SSL証明書エラー
症状:
Error: unable to verify the first certificate
または
Error: self signed certificate in certificate chain
解決策:
- 企業のCA証明書を取得してシステムに追加
NODE_EXTRA_CA_CERTS環境変数を設定- IT部門に相談してSSLインスペクションの除外設定を依頼
認証エラー
症状:
Error: 407 Proxy Authentication Required
解決策:
- 認証情報が正しいか確認
- 特殊文字がURLエンコードされているか確認
- NTLM認証の場合はCNTLM等を使用
一部の機能だけ動かない
症状: Claude Codeは起動するが、MCPサーバーやWeb検索が動かない
解決策:
NO_PROXY設定を確認- MCPサーバー用のポートがプロキシを経由しないよう設定
export NO_PROXY=localhost,127.0.0.1
セキュリティ上の注意点
認証情報の管理
- 平文でのパスワード保存を避ける: 環境変数ファイルのパーミッションを制限
- 共有端末での注意: ログアウト時に認証情報をクリア
- バージョン管理に含めない:
.envファイルを.gitignoreに追加
プロキシログの考慮
企業プロキシではすべての通信がログに記録される可能性があります。
- APIキーはリクエストヘッダーに含まれる
- 機密情報を含むプロンプトは記録される可能性
- IT部門のポリシーを確認
IT管理者向け情報
Claude Codeが接続する先
ファイアウォールやプロキシで許可が必要なドメイン:
ドメイン | 用途 |
|---|---|
Claude API | |
*.anthropic.com | Anthropicサービス全般 |
パッケージ更新 | |
MCP、拡張機能 |
推奨ポート
- HTTPS (443): API通信
- HTTP (80): リダイレクト用
まとめ
Claude Codeをプロキシ環境で使用するポイント:
- 環境変数:
HTTPS_PROXYを設定 - 認証プロキシ: CNTLMなどのローカルプロキシを活用
- SSL問題:
NODE_EXTRA_CA_CERTSで企業CA証明書を追加
設定に困った場合は、IT部門に相談してプロキシの詳細設定を確認しましょう。