1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

社内プロキシ環境下のWindowsでClaude Codeを導入し動かすまでの苦戦をメモしてみる

Posted at

背景

社内PC(Windows)で Claude Code を導入し、VS Code から使いたかったが、公式のインストール手順(PowerShell)をそのまま実行すると通信周りで失敗。

自宅ネットワークでは問題なく導入できるし普通に使っていたため、会社内ネットワーク特有の制約が原因と判断し、切り分け〜解決まで行った記録をしていきます。

Claude Codeの使い方、プラン加入、ログイン等に関する情報は本記事では省略しています。

先に結論だけ

社内が直接的に端末からのHTTPSを遮断する、プロキシ必須の環境の場合、
以下の環境変数を設定しておく必要がありました

# 社内プロキシの設定
$proxy = "http://proxy.example.co.jp:8080"

# プロキシを内部HTTPクライアントに認識させておく
$env:HTTPS_PROXY = $proxy
$env:HTTP_PROXY  = $proxy
$env:https_proxy = $proxy
$env:http_proxy  = $proxy

# 社内のCAをNODE_EXTRA_CA_CERTS環境変数に設定しておく
$env:NODE_EXTRA_CA_CERTS = "C:\Users\xxxx\yyyy\zzzz-rootCA.cer"

私の環境

  • OS:Windows11
  • ネットワーク
    • プロキシ経由必須
    • 直インターネットへの通信が遮断される

困ったこと:Powershellの手順が証明書エラーで落ちた

この記事に記載されているPowerShellの場合の手順を実行

irm https://claude.ai/install.ps1 | iex

動き出したのだが、途中で以下のようなエラーが発生してしまった

Error: unable to verify the first certificate
# エラー:最初の証明書検証に失敗しました

→ プロキシ設定と証明書検証を行えば多分できそうということで、以下を実施

やったこと

  1. 社内CAをエクスポートして保存

    1. Win + R → certmgr.msc
    2. 「信頼されたルート証明機関」→「証明書」
    3. 社内のルートCAを右クリック
      ※わからない場合は、ブラウザで https://claude.ai/ の証明書チェーン最上段に出ているルートCA名と一致するものを選ぶ
    4. 「すべてのタスク」→「エクスポート」
    5. 形式:Base-64 encoded X.509 (.CER) で保存
      例:C:\Users\xxxx\yyyy\zzzz-rootCA.cer
  2. プロキシ&社内CA設定後にClaude Codeをインストール

    PowerShellで環境変数をセットし、install.ps1 を実行する

    $proxy = "http://proxy.example.co.jp:8080"
    
    $env:HTTPS_PROXY = $proxy
    $env:HTTP_PROXY  = $proxy
    $env:https_proxy = $proxy
    $env:http_proxy  = $proxy
    
    $env:NODE_EXTRA_CA_CERTS = "C:\Users\xxxx\yyyy\zzzz-rootCA.cer"
    
    irm https://claude.ai/install.ps1 | iex
    
  3. インストール確認

    一度 PowerShell を閉じて開き直して(PATH反映のため)、確認する

    claude --version
    

    以下のように出力されるはず

    2.0.xx (Claude Code)
    

VS Code連携での注意点

CLIで動いても、VS Code 内(特にネイティブ拡張側)は 起動時に環境変数を引き継げていないと使えない可能性があります。設定でproxyと検索するとプロキシの環境変数を設定できる項目があるので、登録してください。
→ 設定を終えたら必ずVS Codeを一度終了し、再起動してください。

VS Code上のターミナルで

$env:HTTPS_PROXY
$env:NODE_EXTRA_CA_CERTS
claude --version
claude

↑これが通れば、VS Code上でも同じような設定で動作しているはず。

/doctor による簡易確認

Claude Codeとの対話セッションで

/doctor

を実行し、特に問題が出なければ設定は成功していると思われます。
多分チャットも普通に実行できるはず。

今回の学びとまとめ

  • 社内は直インターネットアクセスの遮断が当たり前
    プロキシ前提にしないと何も始まらない。そういえば昔pip installでも困らされた記憶があるな。

  • “社内CAを誰が信頼しているか”が重要
    ブラウザは信頼済みになっても Nodeは別なので NODE_EXTRA_CA_CERTS が必須。CAは普通にエクスポートできます。

以上、プロキシ・CAさんとの格闘を記録しておきました。
似たような現象が出る人の参考になれば幸いです:100:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?