Claude CodeのConfigについてお探しですね。
広告
Claude Codeの環境変数と設定ファイルを分かりやすく解説|APIキーの安全な管理方法
Claude CodeやAgent SDKを使い始めるとき、多くの人が最初につまずくのが「環境変数の設定」と「設定ファイルの書き方」です。
公式ドキュメントには必要なコマンドが載っていますが、実際にどうやって安全にAPIキーを管理すればいいのか、会社のネットワークではどう設定すればいいのか、といった実践的な情報は意外とバラバラに散らばっています。
この記事では、Claude Codeを安全に、そして効率よく使うために必要な環境変数の設定方法と、動作を細かく調整できる設定ファイルの書き方について、実務目線でていねいに説明していきます。
APIキーの管理|安全に認証情報を扱う方法
Claude Codeを動かすために、まず必要になるのが認証情報の設定です。
個人で軽く試すだけなら、ターミナルで一時的に設定するだけでも大丈夫ですが、チームで開発したり長く使い続けるなら、ちゃんとした管理の仕組みが必要になります。
基本となるのは `ANTHROPIC_API_KEY` という環境変数です。
これはClaude CodeがAnthropicのサーバーと通信するときに使う、いわば身分証明書のようなものです。
よくある失敗が、このキーをプログラムのコードに直接書き込んでしまって、うっかりGitHubにアップロードしてしまうパターンです。
これを防ぐには、プロジェクトのフォルダに `.env` というファイルを作って、そこにキーを書いておき、`.gitignore` に登録してバージョン管理の対象外にするのが基本です。
また、Anthropicの管理画面でAPIキーの権限や利用上限を適切に設定しておくことも、予想外の課金や情報漏洩を防ぐために大切です。
会社で使う場合は、AnthropicのAPIを直接使うのではなく、AWS BedrockやGoogle Vertex AI経由でモデルを使うケースも増えています。
その場合は、`CLAUDE_CODE_USE_BEDROCK=1` や `CLAUDE_CODE_USE_VERTEX=1` といった特別なフラグを環境変数に設定する必要があります。
これによって、Claude Codeは認証先をAWSやGoogle Cloudの認証システムに切り替えます。
ただし、これらのクラウドサービスの認証情報(アクセスキーなど)が正しく設定されていることが前提なので、フラグを立てるだけでなく、クラウド側の認証も確認しておく必要があります。
会社のネットワークでも使えるようにする|プロキシ設定のコツ
オフィスやセキュリティが厳しいネットワーク環境でClaude Codeを使おうとすると、「接続エラー」や「タイムアウト」に悩まされることがよくあります。
これは、会社のファイアウォールやプロキシサーバーが、外部への通信をブロックしているのが原因です。
この問題を解決するには、ネットワーク関連の環境変数を正しく設定して、通信が適切なルートを通るようにする必要があります。
一番よく使われるのが `HTTPS_PROXY` という環境変数です。
ここに社内プロキシのアドレス(例:`http://proxy.example.com:8080`)を指定すると、Claude CodeからのHTTPS通信がプロキシ経由で送られるようになります。
認証が必要なプロキシの場合は、ユーザー名とパスワードを含めた形で書く必要がありますが、パスワードをそのまま書くのはセキュリティ的に危険です。
できれば認証不要の社内プロキシを使うか、証明書の設定を適切に行って、SSL/TLSのエラー(「self signed certificate」などのエラー)が出ないようにしておきましょう。
また、通信のタイムアウト設定も実は重要です。
Claude Codeが複雑なコード分析や大規模な修正をしているとき、デフォルトの待ち時間では処理が終わる前に接続が切れてしまうことがあります。
タイムアウトの値を長めに設定することで、大きなタスクの途中で切断されるのを防げます。
特に社内VPN経由だと通信速度が遅くなりがちなので、余裕を持った設定がおすすめです。
settings.jsonで権限をコントロールする
環境変数が「接続と認証」を担当するのに対して、`settings.json` などの設定ファイルは「Claude Codeに何をさせるか」という権限と動作を制御します。
AIエージェントはとても強力な機能を持っているので、ファイルの読み書きやコマンド実行を無制限に許可するのは危険です。
意図しないファイルを削除したり、重要な情報が入っているフォルダを読み込んだりしないよう、設定ファイルでしっかりルールを決めておく必要があります。
特に大事なのが「許可リスト」と「禁止リスト」の考え方です。
たとえば、`allowed_tools` という項目では、Claudeが使えるツール(ファイルの読み込み、編集、検索、コマンド実行など)を明確に指定できます。
コードの修正は任せたいけど、勝手にコマンドを実行されたくない場合は、`Bash` ツールをリストから外せばOKです。
また、`permission_mode` の設定も重要です。
`acceptEdits` のようなモードにすると、AIによるファイル変更が自動的に承認されますが、最初のうちや大事なプロジェクトでは、変更のたびに確認を求めるモード(`default`)にしておく方が安全です。
さらに、特定のフォルダやファイルへのアクセスを禁止する設定も必須です。
`.env` ファイルや `.ssh` フォルダ、データベースのパスワードが入っているファイルなどは、AIに読ませるべきではありません。
設定ファイルで `deny` ルールを使って、機密情報のパスを指定しておけば、万が一プロンプトで指示してしまっても、システム側でアクセスをブロックしてくれます。
便利さと安全性のバランスを考えながら、設定ファイルを調整していくのが実用的な運用のポイントです。
MCPサーバーとの連携|パス指定の注意点
Claude Codeの機能を拡張する「Model Context Protocol(MCP)」を使う場合、設定はさらに複雑になります。
MCPサーバーを使って外部ツール(GitHub、Jira、データベースなど)と連携させるには、`claude_desktop_config.json` などの設定ファイルに、サーバーの起動コマンドや引数を正確に書く必要があります。
ここで多くの人がつまずくのが、ファイルパスの書き方と環境変数の受け渡しです。
MCPサーバーの設定で一番よくあるトラブルが、相対パスを使ってしまうことです。
設定ファイルに `./scripts/server.py` のように相対パスで書いてしまうと、Claude Codeがどのフォルダから実行されるかによって基準が変わってしまい、「ファイルが見つかりません」というエラーが出ます。
これを防ぐには、実行ファイルやスクリプトのパスは必ず絶対パス(フルパス)で書くようにしましょう。
特に仮想環境(venv)を使っているPython製のMCPサーバーを動かす場合は、システム全体のPythonではなく、仮想環境内のPythonインタプリタの絶対パスを指定しないと、必要なライブラリが読み込めずにエラーになります。
また、MCPサーバー自体がAPIキー(GitHubのトークンやデータベースのパスワードなど)を必要とする場合、その渡し方にも注意が必要です。
`claude_desktop_config.json` の中の `env` キーを使って個別に環境変数を渡せますが、ここでもAPIキーを直接ファイルに書くのではなく、OSの環境変数を参照させる形が理想的です。
どうしてもファイルに書く必要がある場合は、そのファイル自体のアクセス権限を厳しく制限して、他の人が見られないようにしておきましょう。
正しく設定できれば、Claude Codeはローカルのファイルだけでなく、外部サービスともスムーズに連携して、開発効率を大きく上げてくれる心強いパートナーになります。
広告
