Claude Codeの環境変数の設定一覧|settings.jsonとの違いも解説
Claude Codeの挙動の一部は、OSレベルの環境変数でも制御できます。この記事では、環境変数の設定方法と、settings.jsonのenvフィールドとの違いを整理します。
環境変数を設定する2つの方法
1. OSのシェルで直接設定する
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
シェルの設定ファイル(.bashrcや.zshrcなど)に書いておけば、ターミナルを開くたびに自動で読み込まれます。
2. settings.jsonのenvフィールドで設定する
{
"env": {
"NODE_ENV": "development"
}
}
プロジェクト単位・チーム単位で共有したい環境変数がある場合は、OS側で個別に設定するよりも.claude/settings.jsonのenvにまとめておく方が、メンバー間で設定漏れが起きにくくなります。書き方の詳細は settings.json完全リファレンス を参照してください。
どちらを使うべきか
- APIキーなどの秘匿情報: リポジトリにコミットされる
.claude/settings.jsonには書かず、OS側の環境変数や、Gitで管理しない.claude/settings.local.json側で設定する - プロジェクト固有だが秘匿性の低い設定:
.claude/settings.jsonのenvにまとめてチームで共有する
APIキーのような秘匿情報を誤って.claude/settings.jsonにコミットしてしまうと、リポジトリの履歴に残り続けてしまいます。チームで使う場合は特に注意してください。
よく設定される環境変数の傾向
Claude Codeでは、主に以下のような目的で環境変数が使われます。
- API認証関連: 利用するAPIキーの指定
- モデル関連: 既定で使用するモデルの指定
- ネットワーク関連: 社内プロキシ環境などで使う
HTTPS_PROXY/HTTP_PROXY/NO_PROXYといった一般的なプロキシ設定(Node.jsベースのCLIツール全般で使われる標準的な環境変数です)
具体的な変数名はバージョンによって追加・変更されることがあるため、最新の一覧はclaude --helpや公式ドキュメントで確認するのが確実です。
まとめ
環境変数は、秘匿情報やマシン依存の設定をコードから切り離して管理するための仕組みです。チームで共有したい設定はsettings.jsonのenvに、個人環境や秘匿情報はOS側やローカル専用の設定ファイルに、という形で使い分けるのが基本方針になります。
環境構築でつまずいた場合は、「ClaudeCode ロケットスタート」でもサポートしています。
ClaudeCode ロケットスタート
環境構築でつまずく時間を、なくしませんか?
Claude Codeの初期設定から、実際に小さなアプリを完成させるところまで、オンラインでマンツーマンサポートします。最短90分で「使える」から「作れる」へ。
