Claude Code: 環境変数と開発設定

最終更新:2026-08-31

環境変数は Claude Code の「コントロールパネル」です — API キー、モデル選択、出力設定、すべて環境変数で制御します。

💡 ヒント: 環境変数の優先度が最も高く、CLAUDE.md や settings.json を上書きします。動的設定(API Key、モデル選択)に最適です。

📋 前提条件: 第21章 - 実践:Chrome 拡張機能と並列タスク

1. 学ぶ内容


2. 環境変数の解説

(1) コア変数

変数 必須 説明
ANTHROPIC_API_KEY API キー sk-ant-api03-xxx
ANTHROPIC_BASE_URL API URL https://api.deepseek.com
CLAUDE_MODEL デフォルトモデル claude-sonnet-4-20250514

(2) 動作制御変数

変数 説明 デフォルト
CLAUDE_STYLE 出力スタイル default
CLAUDE_LANGUAGE 出力言語 en
CLAUDE_AUTO_TEST 修正後の自動テスト false
CLAUDE_AUTO_COMMIT 変更の自動コミット false
CLAUDE_MAX_TURNS 最大反復ターン数 50
CLAUDE_TIMEOUT 操作タイムアウト(秒) 300

(3) デバッグ変数

変数 説明 デフォルト
CLAUDE_DEBUG デバッグログを有効化 false
CLAUDE_HOOK_DEBUG フックデバッグログ false
CLAUDE_LOG_LEVEL ログレベル info
CLAUDE_LOG_FILE ログファイルパス -

3. 開発設定のベストプラクティス

(1) 設定の優先度

TEXT 📖 参照専用
1. コマンドラインパラメータ    --model claude-opus-4-20250514
2. 環境変数                  CLAUDE_MODEL=claude-opus-4-20250514
3. プロジェクト .env          .env ファイル内の変数
4. プロジェクト CLAUDE.md     プロジェクトレベルの設定
5. グローバル settings        ~/.claude/settings.json
6. グローバル CLAUDE.md       ~/.claude/CLAUDE.md
7. デフォルト値               内蔵デフォルト

(2) .env ファイル管理

BASH
# .env
ANTHROPIC_API_KEY=sk-ant-api03-xxxxx
CLAUDE_MODEL=claude-sonnet-4-20250514
CLAUDE_STYLE=concise

# .env を .gitignore に追加
echo ".env*" >> .gitignore

▶ 例1:direnv による自動切り替え

BASH
# project-a/.envrc
export ANTHROPIC_API_KEY="sk-ant-api03-project-a"
export CLAUDE_MODEL="claude-sonnet-4-20250514"

# project-b/.envrc
export ANTHROPIC_API_KEY="sk-deepseek-xxxxx"
export ANTHROPIC_BASE_URL="https://api.deepseek.com"
export CLAUDE_MODEL="deepseek-chat"

# ディレクトリに入る → 対応する設定を自動読み込み

4. マルチ環境管理

(1) 環境マトリクス

環境 API Key モデル スタイル デバッグ
Dev 開発用 Key Sonnet verbose on
Test テスト用 Key Sonnet default off
CI CI 用 Key Sonnet JSON off
Personal 個人用 Opus concise off

(2) 切り替えソリューション

BASH
# シェルエイリアス
alias claude-dev='ANTHROPIC_API_KEY=$DEV_KEY CLAUDE_DEBUG=true claude'
alias claude-ci='ANTHROPIC_API_KEY=$CI_KEY claude --headless --output json'

# direnv(推奨)
# 各プロジェクトディレクトリが対応する .envrc を自動読み込み

# 設定ファイル
claude --env-file ./configs/production.env

▶ 例2:チーム共有設定

BASH
# .env.example(git にコミット、シークレットなし)
ANTHROPIC_API_KEY=your-api-key-here
CLAUDE_MODEL=claude-sonnet-4-20250514
CLAUDE_STYLE=concise
CLAUDE_AUTO_TEST=true

# 各開発者がコピーして記入
cp .env.example .env
# .env を個人の API Key で編集

5. デバッグと診断

BASH
# フルデバッグを有効化
export CLAUDE_DEBUG=true
export CLAUDE_LOG_LEVEL=debug
export CLAUDE_HOOK_DEBUG=1
export CLAUDE_LOG_FILE=/tmp/claude-debug.log

# Claude Code を実行
claude "test task"

# ログを確認
tail -f /tmp/claude-debug.log

6. 総合例:完全な開発設定

BASH
# ~/.zshrc(グローバル設定)
export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"
export CLAUDE_MODEL="claude-sonnet-4-20250514"
export CLAUDE_STYLE="concise"
export CLAUDE_AUTO_TEST="true"

# プロジェクト .envrc
export CLAUDE_MODEL="claude-opus-4-20250514"  # このプロジェクトは Opus を使用
export CLAUDE_MAX_TURNS="30"

# ~/.claude/settings.json
{
  "output": { "showDiff": true, "autoTest": true },
  "permissions": { "autoApprove": ["Read", "Write"] }
}

❓ よくある質問

Q 環境変数と CLAUDE.md の優先度は?
A 環境変数が優先します。CLAUDE.md は好み/規約用。環境変数はランタイム設定(API Key 等)用。
Q .env の API Key は安全ですか?
A ローカル開発では安全ですが、.env.gitignore に追加してください。CI では Secrets を使用してください。
Q CLAUDE_MAX_TURNS はいくつにすべきですか?
A 日常使用では20-30。複雑なタスクでは50。小さすぎるとタスクが途中で停止する可能性があります。
Q 環境変数が動作していることを確認するには?
A Claude Code で /config を実行するか、echo $ANTHROPIC_API_KEY を確認してください。

📖 まとめ


📝 練習問題

  1. 基本 (⭐): CLAUDE_STYLECLAUDE_LANGUAGE を設定し、出力の変化を確認してください。
  2. 応用 (⭐⭐): direnv で2つのプロジェクトに異なる API Key とモデルを設定し、自動切り替えを確認してください。
  3. 高度 (⭐⭐⭐): dev/test/CI をカバーするチームレベルの環境設定を設計し、シークレットのセキュリティを確保してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%