Claude Code 環境変数の設定方法と目的別早見表

公開 更新 著者 永上裕之導入とルール
たくさんのスイッチが並んだ操作盤から、目的に合うものを選んで切り替えている様子のイメージ

この記事の要点

  • 環境変数は、シェルで設定するとそのターミナルの間だけ、settings.json の env に書くと毎回効く
  • 同じ変数がシェルと設定ファイルの両方にあると、多くの場合は設定ファイルの値が使われる
  • よく使うのは時間切れ・モデル・通信の制限・ネットワーク・安全の5種類。目的別の早見表で探す

Claude Code の動きは、環境変数 でも細かく変えられます。公式ドキュメントの一覧には400を超える変数が載っていますが、ふだん使うものはそれほど多くありません。

この記事では、公式ドキュメント「Environment variables」(2026年11月2日確認)にもとづいて、設定の仕方と優先順位を押さえたうえで、目的から引ける早見表 にまとめます。

結論:毎回効かせたいなら settings.json の env に書く

シェルで設定した変数はそのターミナルを閉じるまで、settings.json の env に書いた変数は claude を起動するたびに効きます。

置き場所効く範囲
シェルで exportそのターミナルの間だけ
~/.claude/settings.json の env自分の、すべてのプロジェクト
.claude/settings.json の envそのプロジェクトで作業する全員(共有される)
.claude/settings.local.json の env自分の、そのプロジェクトだけ
管理者が配る設定組織の全員

設定ファイルの置き場所と、複数あるときの効く順番は Claude Codeのsettings.json入門 でくわしく説明しています。

設定の仕方

シェルで設定する

起動の前に設定します。Mac や Linux なら次のとおりです。

export API_TIMEOUT_MS="1200000"
claude

毎回設定したいなら、この export の行を ~/.zshrc などのシェルの設定ファイルに書きます。Windows の PowerShell なら $env:API_TIMEOUT_MS = "1200000" の形です。設定できたかは echo $API_TIMEOUT_MS で確かめます(設定の行そのものは何も表示しません)。

settings.json に書く

{
  "env": {
    "API_TIMEOUT_MS": "1200000",
    "BASH_DEFAULT_TIMEOUT_MS": "300000"
  }
}

ここに書いた値はシェルを通らないので、~ や $HOME はそのままの文字として扱われます。 場所を指す変数は、フルパスで書きます。

動いている会話でも、ファイルを保存すると新しい値が反映されます。ただし利用状況の送信(OpenTelemetry)のように起動時に1回だけ読む機能は、起動し直すまで前の値のままです。

どちらが優先される?

同じ変数がシェルと設定ファイルの両方にあると、多くの場合は設定ファイルの値が使われます。 Claude Code が env の値を、シェルから受け継いだ値に上書きするためです。

ほかにも、次のような決まりがあります。

目的別の早見表

時間切れを延ばしたい

変数役割
API_TIMEOUT_MS1回の問い合わせが返事の始まりを待つ時間。既定は10分(600000)
BASH_DEFAULT_TIMEOUT_MSコマンドの既定の待ち時間。既定は2分(120000)

モデルと出力の量を変えたい

変数役割
ANTHROPIC_MODEL使うモデル
CLAUDE_CODE_MAX_OUTPUT_TOKENS1回の返事の最大の長さ。モデルの上限を超える値は上限に下げられる
MAX_THINKING_TOKENS考える量(拡張思考)の上限を固定する

モデルの選び方は Claude Codeのモデル選び を参考にしてください。

外への通信を減らしたい

変数役割
DISABLE_TELEMETRY利用の統計の送信を止める。0 や false でも止まる ので、戻すときは変数そのものを消す
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC自動更新・統計・エラー報告など、必須でない通信をまとめて止める
DISABLE_AUTOUPDATER自動更新だけを止める(手動の claude update は使える)

これらで通信を止めると、裏で取得している機能の切り替え情報も取りに行かなくなります。その結果、リモートからの操作や一部の新しい機能が使えなくなる点に注意します。

会社のネットワークで使いたい

変数役割
HTTPS_PROXY通信を通すプロキシを指定する
NODE_EXTRA_CA_CERTS会社の証明書を追加で信頼させる

鍵とアカウントを分けたい

変数役割
ANTHROPIC_API_KEYAPIキー。設定すると、ログインしていても契約プランより優先される
CLAUDE_CONFIG_DIR設定の置き場所を変える。仕事用と個人用を分けて動かすときに使う
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB1 にすると、Claude Code が動かすコマンドやフックから鍵らしい変数を外す

ANTHROPIC_API_KEY を設定したままだと、契約プランではなく API の料金で動きます。対話で使うときは最初に1回確認が出ますが、-p を付けた実行では確認なしでキーが使われます。契約プランで動かしたいなら unset ANTHROPIC_API_KEY で外します。

CLAUDE_CODE_SUBPROCESS_ENV_SCRUB は、変数の名前や値の形から鍵を見分けます。GitHub のトークンやプロキシの設定は残るので、これだけに頼らず、権限の設定 と組み合わせて使います。

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事