Claude Codeは、ニーズに合わせて動作を設定するための様々な設定を提供しています。インタラクティブREPLを使用する際に/configコマンドを実行することで、Claude Codeを設定できます。

設定ファイル

settings.jsonファイルは、階層設定を通じてClaude Codeを設定するための公式メカニズムです:

  • ユーザー設定~/.claude/settings.jsonで定義され、すべてのプロジェクトに適用されます。
  • プロジェクト設定はプロジェクトディレクトリに保存されます:
    • .claude/settings.jsonは、ソース管理にチェックインされ、チームと共有される設定用
    • .claude/settings.local.jsonは、チェックインされない設定用で、個人の好みや実験に便利です。Claude Codeは、作成時に.claude/settings.local.jsonを無視するようにgitを設定します。
  • Claude Codeのエンタープライズ展開では、エンタープライズ管理ポリシー設定もサポートしています。これらはユーザーおよびプロジェクト設定よりも優先されます。システム管理者は以下にポリシーを展開できます:
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • LinuxおよびWSL: /etc/claude-code/managed-settings.json
    • Windows: C:\ProgramData\ClaudeCode\managed-settings.json
Example settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

利用可能な設定

settings.jsonは多数のオプションをサポートしています:

キー説明
apiKeyHelper認証値を生成するために/bin/shで実行されるカスタムスクリプト。この値は、モデルリクエストのX-Api-KeyおよびAuthorization: Bearerヘッダーとして送信されます/bin/generate_temp_api_key.sh
cleanupPeriodDays最後のアクティビティ日に基づいてチャット記録をローカルに保持する期間(デフォルト:30日)20
envすべてのセッションに適用される環境変数{"FOO": "bar"}
includeCoAuthoredBygitコミットとプルリクエストにco-authored-by Claude署名を含めるかどうか(デフォルト:truefalse
permissions権限の構造については下記の表を参照してください。
hooksツール実行の前後に実行するカスタムコマンドを設定します。hooksドキュメントを参照{"PreToolUse": {"Bash": "echo 'Running command...'"}}
disableAllHooksすべてのhooksを無効にしますtrue
modelClaude Codeで使用するデフォルトモデルを上書きします"claude-3-5-sonnet-20241022"
statusLineコンテキストを表示するカスタムステータスラインを設定します。statusLineドキュメントを参照{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleシステムプロンプトを調整する出力スタイルを設定します。出力スタイルドキュメントを参照"Explanatory"
forceLoginMethodclaudeaiを使用してClaude.aiアカウントへのログインを制限、consoleを使用してAnthropic Console(API使用料金)アカウントへのログインを制限claudeai
forceLoginOrgUUIDログイン時に自動的に選択する組織のUUIDを指定し、組織選択ステップをバイパスします。forceLoginMethodの設定が必要"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServersプロジェクトの.mcp.jsonファイルで定義されたすべてのMCPサーバーを自動的に承認しますtrue
enabledMcpjsonServers.mcp.jsonファイルから承認する特定のMCPサーバーのリスト["memory", "github"]
disabledMcpjsonServers.mcp.jsonファイルから拒否する特定のMCPサーバーのリスト["filesystem"]
awsAuthRefresh.awsディレクトリを変更するカスタムスクリプト(高度な認証情報設定を参照)aws sso login --profile myprofile
awsCredentialExportAWS認証情報を含むJSONを出力するカスタムスクリプト(高度な認証情報設定を参照)/bin/generate_aws_grant.sh

権限設定

キー説明
allowツール使用を許可する権限ルールの配列。注意: Bashルールは正規表現ではなく、プレフィックスマッチングを使用します[ "Bash(git diff:*)" ]
askツール使用時に確認を求める権限ルールの配列。[ "Bash(git push:*)" ]
denyツール使用を拒否する権限ルールの配列。これを使用して、Claude Codeアクセスから機密ファイルを除外することもできます。注意: Bashパターンはプレフィックスマッチであり、バイパスされる可能性があります(Bash権限の制限を参照)[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesClaudeがアクセスできる追加の作業ディレクトリ[ "../docs/" ]
defaultModeClaude Code起動時のデフォルト権限モード"acceptEdits"
disableBypassPermissionsMode"disable"に設定すると、bypassPermissionsモードの有効化を防ぎます。管理ポリシー設定を参照"disable"

設定の優先順位

設定は優先順位の順序で適用されます(高い順から低い順):

  1. エンタープライズ管理ポリシーmanaged-settings.json

    • IT/DevOpsによって展開
    • 上書きできません
  2. コマンドライン引数

    • 特定のセッションの一時的な上書き
  3. ローカルプロジェクト設定.claude/settings.local.json

    • 個人のプロジェクト固有設定
  4. 共有プロジェクト設定.claude/settings.json

    • ソース管理でのチーム共有プロジェクト設定
  5. ユーザー設定~/.claude/settings.json

    • 個人のグローバル設定

この階層により、エンタープライズセキュリティポリシーが常に適用される一方で、チームや個人が体験をカスタマイズできます。

設定システムの重要なポイント

  • メモリファイル(CLAUDE.md):Claudeが起動時に読み込む指示とコンテキストを含みます
  • 設定ファイル(JSON):権限、環境変数、ツールの動作を設定します
  • スラッシュコマンド:セッション中に/command-nameで呼び出せるカスタムコマンド
  • MCPサーバー:追加のツールと統合でClaude Codeを拡張します
  • 優先順位:上位レベルの設定(エンタープライズ)が下位レベル(ユーザー/プロジェクト)を上書きします
  • 継承:設定はマージされ、より具体的な設定がより広範な設定に追加または上書きします

システムプロンプトの可用性

claude.aiとは異なり、このウェブサイトではClaude Codeの内部システムプロンプトを公開していません。Claude Codeの動作にカスタム指示を追加するには、CLAUDE.mdファイルまたは--append-system-promptを使用してください。

機密ファイルの除外

Claude Codeが機密情報を含むファイル(APIキー、シークレット、環境ファイルなど)にアクセスするのを防ぐには、.claude/settings.jsonファイルのpermissions.deny設定を使用します:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}

これは非推奨のignorePatterns設定を置き換えます。これらのパターンに一致するファイルは、Claude Codeから完全に見えなくなり、機密データの偶発的な露出を防ぎます。

サブエージェント設定

Claude Codeは、ユーザーレベルとプロジェクトレベルの両方で設定できるカスタムAIサブエージェントをサポートしています。これらのサブエージェントは、YAMLフロントマターを持つMarkdownファイルとして保存されます:

  • ユーザーサブエージェント~/.claude/agents/ - すべてのプロジェクトで利用可能
  • プロジェクトサブエージェント.claude/agents/ - プロジェクト固有で、チームと共有可能

サブエージェントファイルは、カスタムプロンプトとツール権限を持つ専門のAIアシスタントを定義します。サブエージェントの作成と使用について詳しくは、サブエージェントドキュメントをご覧ください。

環境変数

Claude Codeは、その動作を制御するために以下の環境変数をサポートしています:

すべての環境変数はsettings.jsonでも設定できます。これは、各セッションで環境変数を自動的に設定したり、チーム全体や組織全体に環境変数のセットを展開する方法として便利です。

変数目的
ANTHROPIC_API_KEYX-Api-Keyヘッダーとして送信されるAPIキー、通常はClaude SDK用(インタラクティブ使用の場合は/loginを実行)
ANTHROPIC_AUTH_TOKENAuthorizationヘッダーのカスタム値(ここで設定した値の前にBearer が付きます)
ANTHROPIC_CUSTOM_HEADERSリクエストに追加したいカスタムヘッダー(Name: Value形式)
ANTHROPIC_DEFAULT_HAIKU_MODELモデル設定を参照
ANTHROPIC_DEFAULT_OPUS_MODELモデル設定を参照
ANTHROPIC_DEFAULT_SONNET_MODELモデル設定を参照
ANTHROPIC_MODEL使用するモデル設定の名前(モデル設定を参照)
ANTHROPIC_SMALL_FAST_MODEL[非推奨] バックグラウンドタスク用のHaikuクラスモデルの名前
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONBedrockを使用する際のHaikuクラスモデルのAWSリージョンを上書き
AWS_BEARER_TOKEN_BEDROCK認証用のBedrock APIキー(Bedrock APIキーを参照)
BASH_DEFAULT_TIMEOUT_MS長時間実行されるbashコマンドのデフォルトタイムアウト
BASH_MAX_OUTPUT_LENGTHbash出力が中央で切り詰められる前の最大文字数
BASH_MAX_TIMEOUT_MSモデルが長時間実行されるbashコマンドに設定できる最大タイムアウト
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR各Bashコマンド後に元の作業ディレクトリに戻る
CLAUDE_CODE_API_KEY_HELPER_TTL_MS認証情報を更新する間隔(ミリ秒)(apiKeyHelper使用時)
CLAUDE_CODE_CLIENT_CERTmTLS認証用のクライアント証明書ファイルのパス
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE暗号化されたCLAUDE_CODE_CLIENT_KEYのパスフレーズ(オプション)
CLAUDE_CODE_CLIENT_KEYmTLS認証用のクライアント秘密鍵ファイルのパス
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_AUTOUPDATERDISABLE_BUG_COMMANDDISABLE_ERROR_REPORTINGDISABLE_TELEMETRYの設定と同等
CLAUDE_CODE_DISABLE_TERMINAL_TITLE会話コンテキストに基づく自動ターミナルタイトル更新を無効にするには1に設定
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLIDE拡張機能の自動インストールをスキップ
CLAUDE_CODE_MAX_OUTPUT_TOKENSほとんどのリクエストの最大出力トークン数を設定
CLAUDE_CODE_SKIP_BEDROCK_AUTHBedrockのAWS認証をスキップ(LLMゲートウェイ使用時など)
CLAUDE_CODE_SKIP_VERTEX_AUTHVertexのGoogle認証をスキップ(LLMゲートウェイ使用時など)
CLAUDE_CODE_SUBAGENT_MODELモデル設定を参照
CLAUDE_CODE_USE_BEDROCKBedrockを使用
CLAUDE_CODE_USE_VERTEXVertexを使用
DISABLE_AUTOUPDATER自動更新を無効にするには1に設定。これはautoUpdates設定よりも優先されます。
DISABLE_BUG_COMMAND/bugコマンドを無効にするには1に設定
DISABLE_COST_WARNINGSコスト警告メッセージを無効にするには1に設定
DISABLE_ERROR_REPORTINGSentryエラーレポートをオプトアウトするには1に設定
DISABLE_NON_ESSENTIAL_MODEL_CALLSフレーバーテキストなどの非重要パスのモデル呼び出しを無効にするには1に設定
DISABLE_TELEMETRYStatsigテレメトリをオプトアウトするには1に設定(Statsigイベントにはコード、ファイルパス、bashコマンドなどのユーザーデータは含まれません)
HTTP_PROXYネットワーク接続用のHTTPプロキシサーバーを指定
HTTPS_PROXYネットワーク接続用のHTTPSプロキシサーバーを指定
MAX_MCP_OUTPUT_TOKENSMCPツールレスポンスで許可される最大トークン数。Claude Codeは出力が10,000トークンを超えると警告を表示します(デフォルト:25000)
MAX_THINKING_TOKENSモデル予算の思考を強制
MCP_TIMEOUTMCPサーバー起動のタイムアウト(ミリ秒)
MCP_TOOL_TIMEOUTMCPツール実行のタイムアウト(ミリ秒)
NO_PROXYプロキシをバイパスして直接リクエストが発行されるドメインとIPのリスト
USE_BUILTIN_RIPGREPClaude Codeに含まれるrgの代わりにシステムインストールされたrgを使用するには0に設定
VERTEX_REGION_CLAUDE_3_5_HAIKUVertex AI使用時のClaude 3.5 Haikuのリージョンを上書き
VERTEX_REGION_CLAUDE_3_5_SONNETVertex AI使用時のClaude Sonnet 3.5のリージョンを上書き
VERTEX_REGION_CLAUDE_3_7_SONNETVertex AI使用時のClaude 3.7 Sonnetのリージョンを上書き
VERTEX_REGION_CLAUDE_4_0_OPUSVertex AI使用時のClaude 4.0 Opusのリージョンを上書き
VERTEX_REGION_CLAUDE_4_0_SONNETVertex AI使用時のClaude 4.0 Sonnetのリージョンを上書き
VERTEX_REGION_CLAUDE_4_1_OPUSVertex AI使用時のClaude 4.1 Opusのリージョンを上書き

設定オプション

設定を管理するには、以下のコマンドを使用します:

  • 設定一覧:claude config list
  • 設定確認:claude config get <key>
  • 設定変更:claude config set <key> <value>
  • 設定に追加(リスト用):claude config add <key> <value>
  • 設定から削除(リスト用):claude config remove <key> <value>

デフォルトではconfigはプロジ設定を変更します。グローバル設定を管理するには、--global(または-g)フラグを使用します。

グローバル設定

グローバル設定を設定するには、claude config set -g <key> <value>を使用します:

キー説明
autoUpdates非推奨。 代わりにDISABLE_AUTOUPDATER環境変数を使用してください。false
preferredNotifChannel通知を受け取りたい場所(デフォルト:iterm2iterm2iterm2_with_bellterminal_bell、またはnotifications_disabled
themeカラーテーマdarklightlight-daltonized、またはdark-daltonized
verbose完全なbashおよびコマンド出力を表示するかどうか(デフォルト:falsetrue

Claudeが利用できるツール

Claude Codeは、コードベースを理解し変更するのに役立つ強力なツールセットにアクセスできます:

ツール説明権限が必要
Bash環境でシェルコマンドを実行はい
Edit特定のファイルに対象を絞った編集を行うはい
Globパターンマッチングに基づいてファイルを検索いいえ
Grepファイル内容のパターンを検索いいえ
MultiEdit単一ファイルに対して複数の編集をアトミックに実行はい
NotebookEditJupyterノートブックセルを変更はい
NotebookReadJupyterノートブックの内容を読み取り表示いいえ
Readファイルの内容を読み取りいいえ
Task複雑な多段階タスクを処理するサブエージェントを実行いいえ
TodoWrite構造化されたタスクリストを作成・管理いいえ
WebFetch指定されたURLからコンテンツを取得はい
WebSearchドメインフィルタリング付きでWeb検索を実行はい
Writeファイルを作成または上書きはい

権限ルールは/allowed-toolsまたは権限設定で設定できます。ツール固有の権限ルールも参照してください。

hooksでツールを拡張

Claude Code hooksを使用して、任意のツール実行の前後にカスタムコマンドを実行できます。

例えば、ClaudeがPythonファイルを変更した後に自動的にPythonフォーマッターを実行したり、特定のパスへのWrite操作をブロックして本番設定ファイルの変更を防いだりできます。

関連項目