Claude Code 環境変数

環境変数は Claude Code の動作を制御する重要な方法であり、設定ファイルを編集することなく、各設定を柔軟に調整できます。この章では、Claude Code がサポートするすべての環境変数、その用途、設定方法、および一般的な使用シナリオについて詳しく説明します。


環境変数の概要

Claude Code は環境変数を使用して動作を制御します。これらの変数は以下の方法で設定できます:

  • シェルで直接export
  • に~/.claude/settings.jsonのenvフィールドで設定
  • プロジェクトレベルで.claude/settings.jsonで設定
  • IDE プラグインの設定画面から設定

環境変数の優先順位は高い順に、コマンドライン > プロジェクトレベルの settings.json > ユーザーレベルの settings.json > シェル環境変数 です。settings.json で設定された変数は自動的に Claude プロセスに渡されます。


認証関連変数

変数名 説明 值
ANTHROPIC_API_KEY Claude API キー(claude.ai から取得) API キーの文字列
ANTHROPIC_BASE_URL API リクエストの送信先アドレス(プロキシまたはカスタムエンドポイント用) URL アドレス
ANTHROPIC_AUTH_TOKEN 認証トークン(VS Code プラグインなどのシナリオで使用) トークンの文字列

設定例

例

# シェルで設定
export ANTHROPIC_API_KEY="sk-ant-xxxxx"
export ANTHROPIC_BASE_URL="https://api.anthropic.com"

例

// settings.json で設定
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-xxxxx",
    "ANTHROPIC_BASE_URL": "https://custom-proxy.com/v1"
  }
}

モデル設定変数

変数名 説明 值
ANTHROPIC_MODEL デフォルトで使用されるモデル claude-opus-4-5、claude-sonnet-4-5、claude-haiku-3-5 等
ANTHROPIC_SMALL_FAST_MODEL クイックレスポンスモードで使用されるモデル(単純なタスク用) モデル名
CLAUDE_CODE_SUBAGENT_MODEL すべてのサブエージェントが使用するモデルを一括設定 モデル名
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Bedrock または Vertex の Anthropic Messages 形式を使用する場合、実験的機能を無効化 1

使用シナリオ

サブエージェントはデフォルトでメインの会話のモデルを継承します。次を使用してCLAUDE_CODE_SUBAGENT_MODEL一括設定することで、単純なタスクは Haiku に、複雑な分析は Sonnet に任せ、コストを最適化できます:

例

# メインの会話は Opus で複雑な推論を行い、サブエージェントは Sonnet に統一
export ANTHROPIC_MODEL="claude-opus-4-5"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-5"

ツールとコマンド変数

変数名 説明 值
CLAUDE_CODE_DISABLE_SLASH_COMMANDS すべてのスラッシュコマンドを無効化 1
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS 組み込みの Git 関連システムプロンプトを無効化(settings.json の ... より優先includeGitInstructions) 1
CLAUDE_CODE_USE_POWERSHELL_TOOL Windows で PowerShell ツールを有効化(と併用が必要defaultShell: "powershell"設定) 1
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL IDE 拡張機能の自動インストールをスキップ(代替autoInstallIdeExtension設定) 1
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS バックグラウンドタスク機能を無効化 1

権限とセキュリティ変数

変数名 説明 值
CLAUDE_CODE_PERMISSION_MODE デフォルトの権限モードを設定(サブエージェントの章を参照) default、acceptEdits、dontAsk、bypassPermissions、plan
CLAUDE_CODE_ALLOWED_TOOLS Claude が使用を許可されたツールのホワイトリスト(カンマ区切り) ツールリスト
CLAUDE_CODE_DISALLOWED_TOOLS Claude が使用を禁止されたツールのブラックリスト ツールリスト

権限モードの詳細

  • default:通常の権限プロンプト。操作のたびに確認
  • acceptEdits:ファイル編集を自動的に受け入れ、確認は不要
  • dontAsk:未承認の操作を自動的に拒否し、実行を中断しない
  • bypassPermissions:すべての権限チェックをスキップ(完全に信頼できる環境のみ)
  • plan:読み取り専用のプランニングモード。書き込み操作は実行しない

例

# CI 環境で読み取り専用モードを使用
export CLAUDE_CODE_PERMISSION_MODE="plan"
export CLAUDE_CODE_ALLOWED_TOOLS="Read,Grep,Glob,Bash(gh *)"

ログとデバッグ変数

変数名 説明 值
CLAUDE_CODE_DEBUG デバッグ出力を有効化 1
CLAUDE_CODE_ENABLE_TELEMETRY テレメトリデータの収集を有効化 1
OTEL_METRICS_EXPORTER OpenTelemetry メトリクスエクスポーター otlp 等

セッションと履歴変数

変数名 説明 值
CLAUDE_CODE_DISABLE_HISTORY 会話履歴の保存を無効化 1
CLAUDE_CODE_SESSION_TIMEOUT セッションタイムアウト時間(秒) 数字
CLAUDE_CODE_MAX_SESSIONS 保存されるセッションの最大数 数字

MCP 関連変数

Claude Code が MCP ツールを実行すると、以下の環境変数が設定されます:

変数名 説明 值
CLAUDE_CODE_MCP_SERVER_NAME MCP サーバー名 文字列
CLAUDE_CODE_MCP_TOOL_NAME 呼び出し中の MCP ツール名 文字列
CLAUDE_CODE_MCP_TOOL_ARGS MCP ツールに渡されるパラメータ JSON 文字列

ワークフロー関連変数

変数名 説明 值
CLAUDE_CODE_WORKTREE_CLEANUP_PERIOD_DAYS 孤立した worktree の自動クリーンアップ周期 日数
CLAUDE_CODE_DISABLE_WORKTREE_AUTO_CLEANUP worktree の自動クリーンアップを無効化 1

GitHub Actions 専用変数

変数名 説明 值
ANTHROPIC_VERTEX_PROJECT_ID Vertex AI プロジェクト ID(Vertex 使用時に認証手順で設定) GCP プロジェクト ID
CLOUD_ML_REGION Vertex AI リージョン リージョンコード(例:us-east5)

settings.json の設定方法

で設定します。この方法はより宣言的で移植性があります:settings.json例

例

{
  "env": {
    "ANTHROPIC_MODEL": "claude-sonnet-4-5",
    "CLAUDE_CODE_SUBAGENT_MODEL": "claude-haiku-3-5",
    "CLAUDE_CODE_PERMISSION_MODE": "plan",
    "CLAUDE_CODE_ALLOWED_TOOLS": "Read,Grep,Glob,Bash",
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

VS Code プラグイン設定

VS Code で Claude Code プラグインを使用する場合、次を使用してenvironmentVariables設定:

例

{
  "claudeCode.environmentVariables": [
    {
      "name": "ANTHROPIC_BASE_URL",
      "value": "https://custom-proxy.com/api"
    },
    {
      "name": "ANTHROPIC_AUTH_TOKEN",
      "value": "your-token-here"
    },
    {
      "name": "ANTHROPIC_MODEL",
      "value": "claude-sonnet-4-5"
    }
  ]
}

一般的な使用シナリオ

シナリオ1:プロキシまたはカスタム API エンドポイントを使用

例

# 企業内プロキシを介して Claude API にアクセス
export ANTHROPIC_BASE_URL="https://proxy.company.com/anthropic/v1"
export ANTHROPIC_API_KEY="your-api-key"

シナリオ2:コスト設定の最適化

例

# メインの会話は Sonnet、サブエージェントは Haiku に統一
export ANTHROPIC_MODEL="claude-sonnet-4-5"
export CLAUDE_CODE_SUBAGENT_MODEL="claude-haiku-3-5"

シナリオ3:CI/CD 環境のセキュリティ設定

例

# CI 環境で読み取り専用モードを使用
export CLAUDE_CODE_PERMISSION_MODE="plan"
export CLAUDE_CODE_DISABLE_HISTORY="1"
export CLAUDE_CODE_ALLOWED_TOOLS="Read,Grep,Glob,Bash(gh *)"

シナリオ4:Windows PowerShell 環境

例

# Windows で PowerShell を有効化
$env:CLAUDE_CODE_USE_POWERSHELL_TOOL = "1"
# settings.json で defaultShell を設定

優先順位と上書き

環境変数の優先順位(高い順):

  1. コマンドラインexport設定
  2. プロジェクトレベル.claude/settings.json
  3. ユーザーレベル~/.claude/settings.json
  4. Claude Code デフォルト値

にsettings.jsonで設定された変数は、同じ名前のシェル環境変数を上書きします。これは、settings.json が Claude Code プロセスの起動時に明示的に読み込まれ、優先順位が高いためです。


現在の設定を確認

使用して/configコマンドで現在の完全な設定を確認できます:

/config

これにより、環境変数や settings.json で設定された内容を含む、現在有効なすべての設定が表示されます。


ベストプラクティス

1. 機密情報の取り扱い

  • API キーなどの機密情報は settings.json にハードコードしないでください
  • 環境変数またはシェル設定ファイルを使用してください(~/.bashrc、~/.zshrc)
  • 機密情報を含むファイルが git バージョン管理に入っていないことを確認してください

2. 環境に応じた設定

  • ローカル開発: より緩い権限モードを使用
  • CI/CD: 読み取り専用モードを使用plan
  • 本番デバッグ: 有効にするCLAUDE_CODE_DEBUG

3. 集中管理

  • 共通設定は~/.claude/settings.json
  • プロジェクト固有の設定はプロジェクトディレクトリの.claude/settings.json
  • 機密設定はシェル環境変数または CI Secrets から提供

よくある質問

Q: 環境変数と settings.json ではどちらが優先されますか?

settings.json で設定された変数の優先度が高く、同名のシェル環境変数を上書きします。

Q: Claude Code に異なる API エンドポイントを使用させるにはどうすればよいですか?

設定ANTHROPIC_BASE_URL環境変数でプロキシまたはカスタムエンドポイントを指定します。

Q: サブエージェントが使用するモデルを制御するにはどうすればよいですか?

を使用してCLAUDE_CODE_SUBAGENT_MODELすべてのサブエージェントのモデルを一括で設定することも、各サブエージェントの frontmatter で個別に指定することもできます。

Q: Windows で PowerShell を有効にするにはどうすればよいですか?

環境変数を設定しCLAUDE_CODE_USE_POWERSHELL_TOOL=1、settings.json でも設定しますdefaultShell: "powershell"。

Q: すべてのスラッシュコマンドを無効にするにはどうすればよいですか?

設定CLAUDE_CODE_DISABLE_SLASH_COMMANDS=1環境変数。

その他の拡張機能