Claude Codeが社内プロキシ・SSL証明書エラーで動かない時の設定完全ガイド 2026

Claude Codeが社内プロキシ・SSL証明書エラーで動かない時の設定完全ガイド 2026

Claude Codeが企業プロキシ・SSLインスペクション環境で繋がらない原因と対処法を公式ドキュメントベースで整理。NODE_EXTRA_CA_CERTSが不要なケース、mTLS認証、MCPサーバーやバックグラウンドエージェントで設定が反映されない問題まで実例付きで解説する。

エンジニアのゆとです。

以前、常駐案件で客先の貸与PCにClaude Codeを入れようとしたら、インストール自体は通ったのにログインで止まった。エラーはunable to verify the first certificate。自宅のMacでは何の問題もなく使えていたのに、会社のネットワークに繋いだ瞬間にこれだ。原因はSSLインスペクションを行う社内プロキシが、通信の途中で証明書を独自のものに差し替えていたことだった。

Claude Codeに限らず、企業ネットワークの多くはこの手のプロキシを挟んでいる。セキュリティ上は正しい仕組みなんだけど、CLIツール側からすると「知らない証明書が割り込んできた」ようにしか見えないので、素直にエラーで止まる。日本語で検索すると同じ症状を報告しているQiitaやZennの記事がいくつも出てくる時点で、これがかなり普遍的な詰まりポイントだと分かる。

この記事では、Claude Code公式の「Enterprise network configuration」ドキュメントを一次情報として、プロキシ設定・SSL証明書エラー・MCPサーバーやバックグラウンドエージェントでの落とし穴までを整理する。既存の解説記事の多くはWindows + PowerShellの手順が中心で、2026年時点で追加されたCLAUDE_CODE_CERT_STORE(OS証明書ストアの自動信頼)やmTLS認証まで触れているものは見当たらなかったので、そのあたりも含めて一次情報ベースで書いた。

結論 — 症状別の対処表

まず自分がどのパターンに当てはまるか確認してほしい。

症状主な原因対処
そもそも接続がタイムアウトする・繋がらないプロキシ環境変数が未設定、または誤った値HTTPS_PROXYを正しい形式で設定(後述)
unable to verify the first certificateエラーSSLインスペクションプロキシの証明書がOSに信頼されていない社内CA証明書をOSの証明書ストアにインストール、それでもダメならNODE_EXTRA_CA_CERTS
プロキシに繋がるが401/407で弾かれるプロキシ認証(Basic認証)の情報未設定HTTPS_PROXYのURLにuser:password@を含める
NTLM/Kerberos認証プロキシで詰まるClaude CodeはNTLM/Kerberosを直接サポートしていないLLM Gatewayを経由する構成に切り替える
ターミナルでは動くのにMCPサーバーだけ外部に繋がらないプロキシ環境変数がMCPの子プロセスに伝わっていない.mcp.jsonのサーバーエントリに直接envでプロキシ変数を書く
claude agentsやバックグラウンドセッションだけ挙動が違うsupervisorプロセスがシェルの環境変数を引き継いでいない~/.claude/settings.jsonenvブロックに設定する
会社のクライアント証明書認証(mTLS)が必要な環境プロキシ側でクライアント証明書を要求しているCLAUDE_CODE_CLIENT_CERT/CLAUDE_CODE_CLIENT_KEYを設定
code.claude.com
Enterprise network configuration - Claude Code Docs プロキシ・証明書・mTLS・バックグラウンドエージェントのネットワーク設定をまとめた公式ドキュメント。この記事の技術的な記述の一次情報。

なぜ社内プロキシでClaude Codeが動かないのか

企業ネットワークの多くは、外部との通信を一度プロキシサーバーに集約している。単に通信を中継するだけでなく、HTTPSの中身を検査する「SSLインスペクション」を行っている場合、プロキシがAnthropicのサーバー証明書をいったん自分の証明書に差し替えてクライアントに渡す。ブラウザは会社が配布した独自ルート証明書(社内CA)を信頼するよう設定済みなので気づかないが、Claude CodeのようなCLIツールはNode.jsのランタイムが持つ証明書ストアを見て通信の安全性を判断するため、社内CAが登録されていないと「知らない証明書だ」と判断してエラーで止まる。

つまり問題は大きく2つに分かれる。

  1. そもそもプロキシサーバーの場所を知らない — 環境変数でプロキシのアドレスを教えてやる必要がある
  2. プロキシが差し替えた証明書を信頼していない — 社内CA証明書を信頼させる必要がある

この2つを混同して、証明書の問題なのにプロキシ設定だけいじって直らない、逆にプロキシ設定が漏れているのに証明書だけ足して直らない、というケースをよく見かける。まず切り分けてから対処したほうが早い。

まず診断する — claude --debug/status

設定を変える前に、今何が読み込まれているかを確認する癖をつけたほうがいい。Claude Codeはほとんどの設定ミスを起動時にはチェックせず、実際に通信するタイミングで初めてエラーとして表面化する仕様になっている。唯一起動時に検証されるのはプロキシURLの形式で、http://のようなスキームが欠けている値を渡すと、その場でどの変数が壊れているか名指しで起動が止まる。

claude --debug

デバッグログはターミナルには出ず、~/.claude/debug/<session-id>.txt(または--debug-fileで指定したパス)に書き出される。ログの中で以下のような行が出ていれば、その設定はきちんと読み込まれている。

CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS (/etc/ssl/certs/corp-ca.pem)
mTLS: Loaded client certificate from CLAUDE_CODE_CLIENT_CERT
mTLS: Loaded client key from CLAUDE_CODE_CLIENT_KEY

読み込みに失敗している場合はFailed to readFailed to loadという行が理由付きで出てくるので、パスの誤りやパーミッションの問題はここで一発で分かる。

対話セッション中なら/statusでも確認できる。

  • Proxy: 現在有効なプロキシURL。パースできない値は「invalid and ignored」と表示される
  • mTLS client cert / mTLS client key: 読み込みに成功した場合のみ行が表示される。行がなければ読み込み失敗
  • Additional CA cert(s): NODE_EXTRA_CA_CERTSのパスが表示される(ファイルの中身までは検証していないので、実際に読み込めたかはデバッグログ側で確認する)

プロキシ環境変数を設定する

Claude Codeは標準的なプロキシ環境変数をそのまま尊重する。

# HTTPSプロキシ(推奨)
export HTTPS_PROXY=https://proxy.example.com:8080

# HTTPプロキシ(HTTPSが使えない場合)
export HTTP_PROXY=http://proxy.example.com:8080

# 特定の宛先をプロキシから除外(スペース区切り)
export NO_PROXY="localhost 192.168.1.1 example.com .example.com"
# カンマ区切りでも可
export NO_PROXY="localhost,192.168.1.1,example.com,.example.com"
# すべての通信でプロキシを迂回
export NO_PROXY="*"

小文字のhttps_proxy等も同様に効く。複数指定されている場合、Claude Codeはhttps_proxyHTTPS_PROXYhttp_proxyHTTP_PROXYの順に見て、最初に値が入っているものを採用する。どれが実際に使われているか迷ったら、この優先順位を思い出すと切り分けが早い。

なおClaude CodeはSOCKSプロキシに対応していない。社内プロキシがSOCKS5しか提供していない場合は、HTTP/HTTPSに変換するローカルプロキシを挟むか、後述のLLM Gateway経由の構成を検討することになる。

一度きりのシェルでexportしても、閉じれば消える。毎回設定し直すのが面倒なら、シェルの起動ファイル(.zshrc.bashrc)に書くか、Claude Code側の~/.claude/settings.jsonにまとめて書いてしまうほうが確実だ。

{
  "env": {
    "HTTPS_PROXY": "https://proxy.example.com:8080",
    "NO_PROXY": "localhost,127.0.0.1,.internal.example.com"
  }
}

このページで紹介する環境変数は、すべてsettings.jsonenvブロックでも同じように設定できる。後述するMCPサーバーやバックグラウンドエージェントの話にも関わってくるので、シェルのexportよりsettings.json側に寄せておくことをおすすめする。

Claude Code の settings.json 完全ガイド 2026——スコープ・チーム設定・パーミッション管理を整理する
Claude Code の settings.json 完全ガイド 2026——スコープ・チーム設定・パーミッション管理を整理するsettings.json の4スコープ(管理/ローカル/プロジェクト/ユーザー)と settings.local.json の分離方法、チーム開発での permissions 設計、CLAUDE.md との違いを公式ドキュメントベースで整理。2026年6月版。読む →

Windowsの場合、PowerShellで一時的に設定するならこう。

$env:HTTPS_PROXY = "https://proxy.example.com:8080"

永続化したいなら、システム環境変数として設定するか、上記と同じくsettings.jsonenvブロックに書く方法のほうがシェルをまたいでも確実に効く。

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

プロキシ側でユーザー名・パスワードを要求してくる構成なら、URLに埋め込む。

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

パスワードをスクリプトやdotfileに平文で書きっぱなしにするのは避けたい。1Passwordなどのシークレット管理ツールから都度注入する運用のほうが安全で、Claude Code CLI向けの具体的なやり方は別記事にまとめてある。

1Password CLI × Claude Code で .env を Vault化する完全ガイド — op run・シェル統合・MCP の3パターン
1Password CLI × Claude Code で .env を Vault化する完全ガイド — op run・シェル統合・MCP の3パターン.envファイルの平文管理から脱却するための実践ガイド。1Password CLIを使ったop runによる実行時注入・fish/zshシェル統合・MCPサーバー経由の3パターンを解説。Claude Code SubAgentsとの組み合わせ、Doppler/Infisicalとの比較まで網羅。読む →

NTLMやKerberosといった、より高度な認証方式のプロキシには対応していない。これは公式ドキュメントでも明言されている制約で、該当する環境ではプロキシの手前にNTLM/Kerberosを吸収してくれるLLM Gatewayサービスを置く構成が推奨されている。素のURL埋め込みではどうにもならない領域なので、ここで詰まったら設定を疑うより先に環境自体を見直したほうがいい。

SSL証明書エラーの直し方 — 2026年時点でまず確認すべきこと

unable to verify the first certificateのようなエラーに遭遇すると、多くの解説記事は即座に「NODE_EXTRA_CA_CERTSで社内CA証明書を指定しろ」と案内する。それ自体は間違いではないんだけど、2026年時点のClaude Codeでは、その手順が不要なケースが増えている。

Claude Codeはデフォルトで、自前で同梱しているMozillaのCA証明書セットに加えて、OSの証明書ストアも自動的に信頼する挙動になっている。つまり、会社のIT部門がすでに社内CA証明書をOSの証明書ストア(macOSのキーチェーン、Windowsの証明書ストア)に配布済みなら、Claude Code側で追加の設定をしなくてもそのまま繋がる可能性が高い。CrowdStrike FalconやZscalerのようなエンタープライズ向けTLSインスペクションプロキシも、ルート証明書がOSの信頼ストアに入ってさえいれば追加設定なしで動くと公式に案内されている。

ただし条件がある。OS証明書ストアを読むには、ランタイムがtls.getCACertificatesという機能を持っている必要がある。ネイティブインストーラー版のClaude Codeは常にこの機能を持っているが、npm経由でインストールした場合はNode.js 22.15以降が必要になる。それより古いNode.jsで動かしている場合は、同梱のMozilla証明書セットしか信頼されず、NODE_EXTRA_CA_CERTSでの追加指定が必須になる。

node --version

まずここを確認して、22.15未満なら先にNode.jsを上げるだけで直るケースがある。ネイティブインストーラーへの移行も選択肢としてはあり、Windows環境でのインストール方法の違いは別記事で比較している。

Claude Code Windows完全ガイド 2026 — WSL・Git Bash・PowerShell徹底比較
Claude Code Windows完全ガイド 2026 — WSL・Git Bash・PowerShell徹底比較Claude CodeをWindowsで使う3つの方法(WSL/Git Bash/PowerShell)を徹底解説。インストール手順・パフォーマンス比較・トラブルシュート・各環境の使い分けを2026年最新情報で網羅。読む →

証明書ストアの信頼元はCLAUDE_CODE_CERT_STOREという環境変数でコントロールできる。カンマ区切りでbundled(同梱のMozilla証明書セット)とsystem(OS証明書ストア)を指定する仕組みで、デフォルトはbundled,systemの両方だ。

# 同梱のMozilla証明書セットのみ信頼する
export CLAUDE_CODE_CERT_STORE=bundled

# OSの証明書ストアのみ信頼する
export CLAUDE_CODE_CERT_STORE=system

この変数にはsettings.json専用のスキーマキーは用意されていないので、envブロックに直接書く形になる。

それでも直らない場合 — NODE_EXTRA_CA_CERTSで手動指定する

OS証明書ストアに社内CAが登録されていない、あるいはNode.jsのバージョンが古くてsystemソースが効かない場合は、証明書ファイルを直接指定する。

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

問題は「社内CA証明書のファイルをどう手に入れるか」で、ここを詳しく書いている記事が少なかったので手順を残しておく。一番早いのは、社内のIT部門やヘルプデスクに「Claude Codeで使うので、社内プロキシのルートCA証明書をPEM形式かCRT形式でもらえますか」と直接聞くこと。SSLインスペクションを導入している会社なら、大抵は配布用のファイルが既に用意されている。

自分でOSから取り出す場合、macOSはキーチェーンアクセス.appから対象の証明書を探し、右クリックして「書き出す」でPEM形式(.cer)として保存する。Windowsはcertmgr.mscを開いて該当のCA証明書を右クリック→「すべてのタスク」→「エクスポート」→「Base-64 encoded X.509 (.CER)」を選ぶ。どちらもBase64エンコードされたテキスト形式で、拡張子を.pemに変えるだけでそのまま使える。

# 取得した証明書を指定する(Mac/Linux)
export NODE_EXTRA_CA_CERTS=~/certs/corp-ca.pem
# Windows PowerShellで永続化する場合
[Environment]::SetEnvironmentVariable("NODE_EXTRA_CA_CERTS", "C:\certs\corp-ca.pem", "User")

設定できたかどうかは、前述のclaude --debugのログにAppended extra certificates from NODE_EXTRA_CA_CERTSの行が出ているかで確認する。パスの指定ミスはFailed to readで分かる。

mTLS(クライアント証明書)認証が必要な環境

金融機関や大企業のセキュリティポリシーが厳しい環境だと、サーバー証明書の検証だけでなく、クライアント側も証明書を提示して自分の身元を証明する「相互TLS(mTLS)」を要求されることがある。この構成は他の解説記事ではほぼ触れられていないが、Claude Codeは公式に対応している。

# クライアント証明書
export CLAUDE_CODE_CLIENT_CERT=/path/to/client-cert.pem

# クライアント秘密鍵
export CLAUDE_CODE_CLIENT_KEY=/path/to/client-key.pem

# 秘密鍵が暗号化されている場合のパスフレーズ(任意)
export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="your-passphrase"

証明書と鍵は起動時に読み込まれ、設定が再適用されるタイミングでも読み直される。ただしセッション中はファイルの変更を監視していないので、証明書を更新したら忘れずにClaude Codeを再起動すること。有効期限が切れる前に新しい証明書に差し替えておかないと、古いペアを読み込んだまま接続エラーになる。

MCPサーバー・バックグラウンドエージェントで設定が反映されない問題

ここが実務でかなりハマりやすいポイントだと思う。ターミナルでclaudeを起動して通常のチャットは問題なくプロキシ経由で動くのに、MCPサーバーだけ外部に繋がらない、あるいはclaude agentsのバックグラウンドセッションだけ挙動が違う、というケースがある。

原因は環境変数の伝播範囲にある。シェルでexportしたプロキシ変数は、そのシェルから起動したプロセスにしか伝わらない。MCPサーバーは.mcp.jsonで定義された別プロセスとして起動するので、シェルの環境変数をそのまま引き継ぐとは限らない。プロキシ経由の通信が必要なMCPサーバーには、サーバーのエントリに直接envで書く必要がある。

{
  "mcpServers": {
    "some-server": {
      "command": "npx",
      "args": ["-y", "@example/mcp-server"],
      "env": {
        "HTTPS_PROXY": "https://proxy.example.com:8080",
        "NODE_EXTRA_CA_CERTS": "/path/to/corp-ca.pem"
      }
    }
  }
}

MCPサーバーの接続トラブル全般(Failed to connectや承認待ちで止まる問題など)はさらに幅が広いので、症状別の切り分けを別記事にまとめてある。プロキシ以外の原因を疑うならこちらも合わせて見ておくと早い。

Claude Code MCPが「接続できない」原因を、公式ドキュメントの症状別対処表で全部洗い出した
Claude Code MCPが「接続できない」原因を、公式ドキュメントの症状別対処表で全部洗い出したClaude CodeでMCPサーバーが「Failed to connect」になる原因を公式ドキュメントとGitHub Issueの実例から整理。/mcp・/doctorでの一次診断から、ENOENT・パス問題・env未伝播・承認待ちまで症状別に対処法をまとめた。読む →

さらに厄介なのが、claude agents--bg/backgroundで動くバックグラウンドセッションだ。これらはターミナルの中では動いておらず、ユーザーごとに1つ立ち上がる「supervisor」という常駐プロセスが実体になっている。このsupervisorは最初にどのシェルから起動されたかによって環境変数を引き継ぐかどうかが変わり、OSのサービスとしてインストールされたsupervisorに至ってはシェルの環境変数を一切受け取らない。

つまり「あるシェルではプロキシ変数をexportしてからバックグラウンドセッションを起動したので動いた」「別のシェルから起動したら同じ設定のはずなのに繋がらなかった」という再現性のない不具合が起きうる。これを避ける方法はひとつで、プロキシ・証明書・mTLS関連の環境変数はすべてシェルのexportではなく、~/.claude/settings.json(または管理者が配布するmanaged settings)のenvブロックに書くこと。すべてのマシン・すべてのバックグラウンドセッションに確実に届く設定方法はこれしかない、と公式ドキュメントでも明言されている。

社内で全員に同じランチャースクリプトを経由させる強めのポリシーを敷いている場合はprocessWrapperという設定キー(またはCLAUDE_CODE_PROCESS_WRAPPER環境変数)でラッパーコマンドを指定する仕組みもある。ここまでくると個人の設定というより組織のIT管理者側のタスクになるので、興味があれば公式の企業ランチャー向けドキュメントを参照してほしい。

code.claude.com
Run Claude Code behind a corporate launcher - Claude Code Docs 組織全体でClaude Codeの起動プロセスをランチャー経由に強制する場合の設定。processWrapper設定とCLAUDE_CODE_PROCESS_WRAPPER環境変数の仕様。

Docker・VPS上のClaude Codeでプロキシを使う場合

コンテナやVPS上でClaude Codeを動かしている場合も考え方は同じで、コンテナ内のシェルまたは実行ユーザーのsettings.jsonにプロキシ・証明書関連の環境変数を渡してやればいい。Dockerであればdocker run-eオプションやdocker-compose.ymlenvironmentセクションでコンテナに環境変数を渡す形になる。VPS上に直接インストールしている場合は、そのVPSが社内ネットワーク経由でしか外に出られない構成なのかどうかを先に確認しておくと、無駄なプロキシ設定を追加せずに済む。

Docker Compose環境でのClaude Codeの実践的な組み方は別記事にまとめてあるので、コンテナ側の設計から見直したい場合はそちらを参照してほしい。

記事が見つかりません:

社内ネットワークで許可すべきURL一覧

プロキシやファイアウォールの許可リストを整備する担当者向けに、Claude Codeが通信する主なホストをまとめておく。特に閉域network・コンテナ環境では、これを先にIT部門へ渡しておくと後々の手戻りが減る。

ホスト用途
api.anthropic.comClaude APIへのリクエスト全般、WebFetchの安全性チェック
claude.ai / platform.claude.comアカウント認証(claude.ai / Anthropic Console)
mcp-proxy.anthropic.comclaude.ai経由のMCPコネクタ通信
downloads.claude.aiプラグイン・ネイティブインストーラーのダウンロードと自動更新
registry.npmjs.orgnpm/bunでのインストール、プラグインの依存パッケージ、npx起動のMCPサーバー
raw.githubusercontent.comchangelogフィード(/release-notes
storage.googleapis.comプラグインのメタデータ、アーティファクトのアップロード
formulae.brew.shHomebrewインストール時のバージョンチェック
code.claude.comドキュメント参照エージェント・WebFetchのドキュメント検索

npm/bun経由でインストールした場合はregistry.npmjs.org、ネイティブインストーラーの場合はdownloads.claude.aiが必須になるという違いがあるので、自社の導入方法に合わせて確認するといい。最新かつ完全な一覧は公式ドキュメントの表で随時更新されているので、許可リストを作る前に一度目を通しておくのが確実だ。

code.claude.com
Network access requirements - Claude Code Docs Claude Codeが通信する全ホストの一覧と用途。プロキシ・ファイアウォールの許可リスト設計に使う一次情報。

VS Code拡張機能でのプロキシ設定

VS Code上でClaude Code拡張を使っている場合、拡張機能自体はVS Code本体のプロキシ設定(http.proxy)を参照する。CLI側の環境変数を設定しただけではVS Code拡張には反映されないことがあるので、settings.json(VS Codeの設定ファイル、Claude Codeのものとは別)で以下も合わせて確認しておくといい。

{
  "http.proxy": "https://proxy.example.com:8080",
  "http.proxyStrictSSL": true
}

proxyStrictSSLfalseにすると証明書検証自体をスキップできるが、これはあくまで切り分け用の一時対応で、本番の運用としては推奨しない。まずは社内CA証明書を正しく信頼させる方向で解決し、それでもダメな場合の最終手段くらいに考えておいたほうがいい。

それでも繋がらない時のチェックリスト

ここまでの設定をひと通り試しても直らない場合、次の順番で切り分けるとよい。

  1. claude --debugでデバッグログを開き、プロキシ・CA証明書・mTLS関連の行がどう出ているか確認する
  2. /statusProxyAdditional CA cert(s)の行を確認し、値が「invalid」扱いになっていないか見る
  3. curl単体でプロキシ経由の疎通を確認する(curl -v -x $HTTPS_PROXY https://api.anthropic.com)。ここで失敗するならClaude Code以前にネットワーク側の問題
  4. node --versionでNode.jsのバージョンを確認し、22.15未満ならOS証明書ストアの自動信頼が効かない前提でNODE_EXTRA_CA_CERTSを必ず設定する
  5. ターミナルでは動くのにMCP・バックグラウンドだけダメな場合は、環境変数をシェルのexportではなくsettings.jsonenvブロックに移す
  6. 途中で会話が急に切れる・接続が切られる症状が別途あるなら、社内プロキシ経由でよく報告されているタイムアウト誤発火のバグを踏んでいる可能性もある
Claude Codeの「Connection closed mid-response」、実は応答が完了した後に出ていた——v2.1.222で直った誤表示バグと、紛らわしいバグ5兄弟の正体
Claude Codeの「Connection closed mid-response」、実は応答が完了した後に出ていた——v2.1.222で直った誤表示バグと、紛らわしいバグ5兄弟の正体Claude Codeで「Connection closed mid-response」と表示されるのに応答自体は完了しているケースをv2.1.222の修正内容から解説。同時期に直った紛らわしい表示バグ(ストリームタイムアウト誤発火・部分出力の破棄・ターミナルフリーズ・描画停止)を整理し、本当に落ちているかの見分け方と対処法をまとめた。読む →

FAQ

会社のPCでClaude Codeを使うこと自体は許可されていないと動かない?

技術的な設定とは別に、会社の情報セキュリティポリシー上の利用可否は必ず確認しておくこと。この記事はあくまで「プロキシ環境下で技術的に接続を通す方法」を扱っていて、利用許可そのものを与えるものではない。

NODE_EXTRA_CA_CERTSCLAUDE_CODE_CERT_STOREはどちらを使うべき?

まずCLAUDE_CODE_CERT_STOREのデフォルト挙動(bundled,system)でOS証明書ストア経由の自動信頼を試す。Node.jsのバージョンが古い、あるいはOS証明書ストアに社内CAがまだ登録されていない場合にのみNODE_EXTRA_CA_CERTSで個別指定する、という優先順位で考えるとシンプルになる。

自宅では普通に使えるのに、会社のPCだけ毎回設定し直すのが面倒

settings.jsonはスコープが分かれていて、ユーザー全体の設定(~/.claude/settings.json)に会社用のプロキシ設定を書いてしまうと自宅でも常に有効になってしまう。プロジェクトごとに切り替えたいなら、プロジェクト直下の.claude/settings.local.json(gitignore対象にできる個人用ファイル)に会社用の設定だけ書き分けるほうが運用しやすい。

まとめ

Claude Codeが社内プロキシで動かない問題は、突き詰めると「プロキシの場所を教えているか」と「プロキシが差し替えた証明書を信頼しているか」の2点に集約される。2026年時点では、OS証明書ストアの自動信頼のおかげでNODE_EXTRA_CA_CERTSを手動で設定しなくても繋がるケースが増えているので、まずはNode.jsのバージョンとCLAUDE_CODE_CERT_STOREのデフォルト挙動を疑ったほうが手戻りが少ない。

MCPサーバーやバックグラウンドエージェントは別プロセス・別プロセス群として動いている関係で、シェルのexportだけでは設定が届かないことがある。プロキシ・証明書関連の環境変数はできるだけsettings.jsonenvブロックに寄せておくのが、結局いちばん再現性のある解決策だと思う。

← 記事一覧に戻る