「Claude Codeを社内で導入したいけど、ネットワークの壁で起動すら通らない」 — 企業導入の支援で何度も聞くセリフです。家庭のネットワークでは何の問題もなく動くのに、会社のネットワークだと固まる。原因はほぼプロキシです。

この記事は、プロキシ環境でClaude Codeを通すための設定を整理したものです。

会社のネットワークでだけ動かない理由

職場のネットワーク、特に大きめの会社では、外向きの通信がプロキシサーバーを経由する仕組みになっています。直接インターネットに出させず、いったん社内のプロキシを通して外に出す。セキュリティとログ取りのためです。

問題は、Claude Codeを含む多くのコマンドラインツールが、デフォルトではプロキシの存在を知らないこと。直接外に出ようとして、ブロックされたまま止まります。

これを通すために、Claude Codeがプロキシを使うよう環境変数で教えてあげる必要があります。

HTTP_PROXY / HTTPS_PROXY で通り道を教える

いちばん基本の設定はこれです。

export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1

HTTP_PROXYHTTPS_PROXY に、社内プロキシのアドレスとポートを入れる。NO_PROXY には、プロキシを経由したくないアドレス(社内サーバーや自分のマシン)を入れます。

設定値は会社のシステム部門が把握しています。プロキシのアドレスが分からなければ、まず情シスに聞くのが早い。ブラウザのプロキシ設定を覗くと書いてあることもあります。

設定を ~/.zshrc などのシェル起動ファイルに書いておくと、毎回手で打たずに済みます。

プロキシ認証が必要な場合

社内プロキシが、ユーザー名とパスワードでの認証を求めるタイプの場合は、URLに埋め込みます。

export HTTPS_PROXY=http://user:password@proxy.example.com:8080

ただし、これは平文でパスワードを書く形なので、シェル起動ファイルに直接書くのは避けたい場面もあります。.zshrc.local のようなgitignoreされたファイルに分けて書く、専用のパスワード管理ツールから読み込ませる、といった工夫を併用してください。APIキーの扱いと考え方は同じです。

自己署名証明書の壁

ここが企業環境でいちばんハマるところです。

大きな会社のプロキシは、HTTPS通信の中身を社内で復号して検査するタイプがあります。この場合、プロキシが独自の証明書を発行しており、それを信頼する設定が必要です。何もしないと「証明書が不正」というエラーで止まります。

Node.jsベースのツール(Claude Codeを含む)では、NODE_EXTRA_CA_CERTS という環境変数で、追加の証明書を読み込ませます。

export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem

社内のCA証明書ファイルの場所は、情シスに確認してください。マシンにすでに配布されているケースが多く、Windowsなら証明書ストア、macOSならキーチェーンに入っていることもあります。Linux/WSL系では明示的にファイルを指定するほうが確実です。

通らない時の切り分け

設定したのに通らない時の、私が回している切り分け順です。

  1. curl -v https://api.anthropic.com を叩いて、通信が走るか確認
  2. echo $HTTPS_PROXY でプロキシ変数が読まれているか確認
  3. プロキシ抜きで curl --noproxy '*' ... を叩いて、直接通信できないか確認(社外ネットワークで動作確認に使える)
  4. 証明書エラーが出ているか、別のエラーかを切り分け
  5. 社内ヘルプデスクに、エラーメッセージごと相談

私の経験では、企業環境のトラブルの8割は「変数が正しく読まれていない」か「証明書」のどちらかです。1番と4番で当たりが付くことが多い。

設定後はsettings.jsonにも反映を

ターミナル単位の環境変数で動くようになったら、Claude Codeの設定ファイルに記録しておくと、チーム共有がしやすくなります。

特に社内で導入を広げる段階では、設定の手順書化が効きます。プロキシ周りは1人ずつ手で設定するより、共有のスクリプトで一括導入する流れに乗せたほうが、定着が速いです。

まとめ

  • 社内ネットワークで動かない原因はほぼプロキシ
  • HTTP_PROXY / HTTPS_PROXY / NO_PROXY 環境変数で通り道を教える
  • 認証付きプロキシはURLにユーザー/パスワードを埋め込む。シークレット管理に注意
  • HTTPS復号型プロキシは NODE_EXTRA_CA_CERTS で社内CA証明書を信頼させる
  • 通らない時は curl で通信そのものを確認→変数の読まれ→証明書、の順で切り分け
  • 社内導入では、プロキシ設定はスクリプト化してチーム共有を