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 documentationを参照{"PreToolUse": {"Bash": "echo 'Running command...'"}}
modelClaude Codeで使用するデフォルトモデルを上書きします"claude-3-5-sonnet-20241022"
statusLineコンテキストを表示するカスタムステータスラインを設定します。statusLine documentationを参照{"type": "command", "command": "~/.claude/statusline.sh"}
forceLoginMethodClaude.aiアカウントへのログインを制限するにはclaudeaiを、Anthropic Console(API使用料金)アカウントへのログインを制限するにはconsoleを使用claudeai
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(git diff:*)" ]
askツール使用時に確認を求める権限ルールの配列。[ "Bash(git push:*)" ]
denyツール使用を拒否する権限ルールの配列。これを使用してClaude Codeアクセスから機密ファイルを除外することもできます。[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesClaudeがアクセスできる追加の作業ディレクトリ[ "../docs/" ]
defaultModeClaude Code起動時のデフォルト権限モード"acceptEdits"
disableBypassPermissionsModebypassPermissionsモードの有効化を防ぐには"disable"に設定。管理ポリシー設定を参照"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アシスタントを定義します。サブエージェントの作成と使用について詳しくは、subagents documentationをご覧ください。

環境変数

Claude Codeは、その動作を制御するために以下の環境変数をサポートしています:
すべての環境変数はsettings.jsonでも設定できます。これは各セッションで環境変数を自動的に設定したり、チーム全体や組織全体に環境変数のセットを展開したりする方法として便利です。
変数目的
ANTHROPIC_API_KEYX-Api-Keyヘッダーとして送信されるAPIキー、通常はClaude SDK用(インタラクティブ使用の場合は/loginを実行)
ANTHROPIC_AUTH_TOKENAuthorizationヘッダーのカスタム値(ここで設定した値の前にBearer が付加されます)
ANTHROPIC_CUSTOM_HEADERSリクエストに追加したいカスタムヘッダー(Name: Value形式)
ANTHROPIC_MODEL使用するカスタムモデルの名前(Model Configurationを参照)
ANTHROPIC_SMALL_FAST_MODELバックグラウンドタスク用のHaikuクラスモデルの名前
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONBedrockを使用する際のsmall/fastモデルのAWSリージョンを上書き
AWS_BEARER_TOKEN_BEDROCK認証用のBedrock APIキー(Bedrock API keysを参照)
BASH_DEFAULT_TIMEOUT_MS長時間実行されるbashコマンドのデフォルトタイムアウト
BASH_MAX_TIMEOUT_MSモデルが長時間実行されるbashコマンドに設定できる最大タイムアウト
BASH_MAX_OUTPUT_LENGTHbash出力が中央で切り詰められる前の最大文字数
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR各Bashコマンド後に元の作業ディレクトリに戻る
CLAUDE_CODE_API_KEY_HELPER_TTL_MS認証情報を更新する間隔(ミリ秒)(apiKeyHelper使用時)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLIDE拡張機能の自動インストールをスキップ
CLAUDE_CODE_MAX_OUTPUT_TOKENSほとんどのリクエストの最大出力トークン数を設定
CLAUDE_CODE_USE_BEDROCKBedrockを使用
CLAUDE_CODE_USE_VERTEXVertexを使用
CLAUDE_CODE_SKIP_BEDROCK_AUTHBedrockのAWS認証をスキップ(LLMゲートウェイ使用時など)
CLAUDE_CODE_SKIP_VERTEX_AUTHVertexのGoogle認証をスキップ(LLMゲートウェイ使用時など)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_AUTOUPDATERDISABLE_BUG_COMMANDDISABLE_ERROR_REPORTINGDISABLE_TELEMETRYの設定と同等
CLAUDE_CODE_DISABLE_TERMINAL_TITLE会話コンテキストに基づく自動ターミナルタイトル更新を無効にするには1に設定
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_THINKING_TOKENSモデル予算の思考を強制
MCP_TIMEOUTMCPサーバー起動のタイムアウト(ミリ秒)
MCP_TOOL_TIMEOUTMCPツール実行のタイムアウト(ミリ秒)
MAX_MCP_OUTPUT_TOKENSMCPツールレスポンスで許可される最大トークン数(デフォルト:25000)
USE_BUILTIN_RIPGREPシステムにインストールされたrgを無視し、Claude Codeに含まれるrgを使用するには1に設定
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自動更新を有効にするかどうか(デフォルト:true)。有効にすると、Claude Codeはバックグラウンドで自動的に更新をダウンロードしてインストールします。更新はClaude Codeを再起動すると適用されます。false
preferredNotifChannel通知を受信したい場所(デフォルト:iterm2iterm2iterm2_with_bellterminal_bell、またはnotifications_disabled
themeカラーテーマdarklightlight-daltonized、またはdark-daltonized
verbose完全なbashおよびコマンド出力を表示するかどうか(デフォルト:falsetrue

Claudeが利用できるツール

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

フックによるツールの拡張

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

関連項目