Skip to main content
環境変数は、モデル選択、認証、リクエストルーティング、機能トグルなど、Claude Code の動作を制御できます。同じ動作の多くは、設定ファイルフィールド、CLI フラグ、または /model などのセッション内コマンドを通じても設定できます。 このページでは、以下の内容について説明します。

環境変数を設定する

シェルで設定した変数はそのターミナルセッション中のみ有効ですが、設定ファイル内の変数は claude を実行するたびに適用されます。

シェルで設定する

claude を起動する前に変数を設定します。
すべてのセッションで設定するには、export 行を ~/.bashrc、~/.zshrc、またはシェルのプロファイルファイルに追加します。
代入行は成功時に何も出力しないため、claude を実行する前に同じシェルで変数を出力して確認します。

設定ファイルで設定する

settings.json ファイルの env キーの下に変数を追加します。ファイルが存在しない場合は作成します。Claude Code はファイルから直接読み込むため、claude がどのように起動されたかに関わらず有効になります。実行中のセッションは、ファイルを保存するときに新しい値と変更された値を環境に適用しますが、OpenTelemetry monitoring のように起動時に変数を一度だけ読み込む機能は、再起動するまで起動時の値を保持します。ファイルから変数を削除しても、実行中のセッションではその変数は設定解除されません。削除は claude を次に起動するときに有効になります。
~/.claude/settings.json
選択したファイルは、変数が適用される対象を制御します。 各ファイルの場所については Settings files を、複数のファイルが同じ変数を設定する場合の組み合わせ方については Settings precedence を参照してください。

優先順位

いくつかの動作には環境変数と専用の設定キーの両方があり、Claude Code がどちらを最初に読むかはキーごとに異なります。ANTHROPIC_MODEL と CLAUDE_CODE_AUTO_CONNECT_IDE の場合、Claude Code は変数を最初に読み、変数が設定されていない場合にのみ model または autoConnectIde 設定を使用します。設定しているペアについては、以下の変数の行と 設定リファレンス のキーのエントリを確認してください。 同じ変数がシェルと設定ファイルの env ブロックの両方で設定されている場合、ほとんどのセッションで設定ファイルの値が適用されます。Claude Code は各 env エントリをプロセス環境に書き込み、シェルから継承された値を置き換えます。env 値がシェルとどのように相互作用するか は、代わりに継承された値を保持するセッションについて説明しており、env 設定 はそれらがいつ適用されるかを示しています。いくつかの変数は特別な扱いを受けます。env 設定 は例外をリストしています。 設定ファイルでは変数を設定できますが、削除することはできません。制御していないシェルプロファイルによってエクスポートされた古い CLAUDE_CODE_USE_VERTEX など、設定を解除できない変数をオーバーライドするには、env ブロックで空の文字列に設定します。"CLAUDE_CODE_USE_VERTEX": ""。Claude Code は空の値をプロバイダー選択の未設定として扱います。サブプロセスは引き続き空の値を継承します。 設定ファイル間では、env 値は 設定の優先順位 に従うため、マネージド設定エントリはユーザーまたはプロジェクト設定の同じ変数をオーバーライドします。プロジェクトおよびローカル設定は、CLAUDE_CONFIG_DIR や OpenTelemetry エクスポーター変数など、一部の変数を設定できません。env で Claude Code が無視する変数 は、それらと、引き続き適用される OpenTelemetry オフ値をリストしています。 環境変数が CLI フラグおよびセッション内コマンドとどのように相互作用するかは、機能ごとに異なります。--model と /model は ANTHROPIC_MODEL をオーバーライドしますが、CLAUDE_CODE_EFFORT_LEVEL は --effort と /effort をオーバーライドします。変数が別の設定ソースと相互作用する場合、変数 リストの行は優先順位を示すか、それを文書化するページにリンクします。 Claude Code はスタートアップ時にシェル環境変数を読み込むため、それらへの変更は次回 claude を起動するときに有効になります。設定ファイルの env キーの下に設定された変数は、設定ファイル内 で説明されているスタートアップのみの例外を除き、ファイルが変更されたときに実行中のセッションに再適用されます。

変数

タイムアウト、トークン予算、再試行回数などの数値変数は、変数の行に「プレーンな数字のみ」と記載されている場合を除き、プレーンな数字に加えて科学記法と数字区切り記法を受け入れます。例えば、Claude Code は 2e3 を 2000 として、64_000 を 64000 として読み込みます。v2.1.211 より前は、これらの記法により、1e6 がタイムアウトを 1 に設定するなど、はるかに小さい値が静かに設定される可能性がありました。
動作をオン/オフにする変数の場合、1 または true を設定してオンにし、0 または false を設定してオフにします。大文字小文字は問いません。一部の変数は、設定されているかどうかのみを読み取るため、0 を含む空でない値はすべて動作をオンにし、変数を設定解除するか空の値に設定することで動作をオフにします。これらの変数は次のように機能します:
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
別の変数には独自のルールがあります:FORCE_HYPERLINK は数値を読み取るため、0 のみがオフになります。各変数の行には、独自のルールも記載されています。
標準 OpenTelemetry エクスポーター変数(OTEL_METRICS_EXPORTER、OTEL_LOGS_EXPORTER、OTEL_EXPORTER_OTLP_ENDPOINT、OTEL_EXPORTER_OTLP_PROTOCOL、OTEL_EXPORTER_OTLP_HEADERS、OTEL_METRIC_EXPORT_INTERVAL、OTEL_RESOURCE_ATTRIBUTES、およびシグナル固有バリアント)もサポートされています。設定の詳細については、監視 を参照してください。 CLAUDE_CODE_ENABLE_TELEMETRY および OpenTelemetry 変数をエクスポート、宛先を選択、またはコンテンツをキャプチャするシェル、ユーザー設定、または管理設定で設定します。Claude Code は プロジェクトおよびローカル設定 では無視されます。ただし、オフ値は除外されます。OTEL_RESOURCE_ATTRIBUTES およびエクスポート間隔、タイムアウト、圧縮変数(OTEL_METRIC_EXPORT_INTERVAL など)はプロジェクトおよびローカル設定から引き続き適用されます。

フィーチャーフラグの取得が必要なフィーチャー

Claude Code は Anthropic から取得するフィーチャーフラグを通じて、いくつかのフィーチャーをオンにします。Claude Code は以下のセッションではその取得をスキップします。
  • DISABLE_GROWTHBOOK、DISABLE_TELEMETRY、DO_NOT_TRACK、または CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を設定したセッション。各変数の 変数テーブル の行に、どの値が取得をオフにするかが記載されています
  • Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、Microsoft Foundry などの サードパーティプロバイダー 上のセッション。ただし、Claude Code を埋め込むホストプラットフォームが CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST を設定している場合を除きます
  • Claude apps gateway セッション
取得がオフの場合、以下のことはできません。

インストールまたはアップグレード後の最初のセッション

Claude Code をインストールした後、またはフィーチャーを追加するバージョンにアップグレードした後の最初のセッションでは、フラグゲートされたフィーチャー が欠落する可能性があります。そのセッションは、後のセッションとは異なる 権限モード で開始することもできます。Claude Code はそのセッション中にフラグを取得するため、次のセッションではフィーチャーと通常の開始権限モードが存在します。 新規インストール後、claude -p、Agent SDK、または VS Code 拡張機能などの非対話型セッションでは、Claude Code は 開始権限モードを選択する 前にフラグを取得できます。

関連項目