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
  • エンタープライズデプロイメントは、ユーザー構成サーバーをオーバーライドする管理 MCP サーバーも構成できます。エンタープライズ MCP 構成を参照してください:
    • macOS: /Library/Application Support/ClaudeCode/managed-mcp.json
    • Linux および WSL: /etc/claude-code/managed-mcp.json
    • Windows: C:\ProgramData\ClaudeCode\managed-mcp.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-sonnet-4-5-20250929"
statusLineコンテキストを表示するカスタムステータスラインを構成します。statusLine ドキュメントを参照してください{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleシステムプロンプトを調整する出力スタイルを構成します。出力スタイルドキュメントを参照してください"Explanatory"
forceLoginMethodclaudeai を使用して Claude.ai アカウントへのログインを制限するか、console を使用して Claude 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"]
useEnterpriseMcpConfigOnlymanaged-settings.json で設定された場合、MCP サーバーを managed-mcp.json で定義されたもののみに制限します。エンタープライズ MCP 構成を参照してくださいtrue
allowedMcpServersmanaged-settings.json で設定された場合、ユーザーが構成できる MCP サーバーのホワイトリスト。未定義 = 制限なし、空配列 = ロックダウン。すべてのスコープに適用されます。ブロックリストが優先されます。エンタープライズ MCP 構成を参照してください[{ "serverName": "github" }]
deniedMcpServersmanaged-settings.json で設定された場合、明示的にブロックされた MCP サーバーのブロックリスト。エンタープライズサーバーを含むすべてのスコープに適用されます。ブロックリストがホワイトリストより優先されます。エンタープライズ MCP 構成を参照してください[{ "serverName": "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 モードの有効化を防止します。これにより --dangerously-skip-permissions コマンドラインフラグが無効になります。管理ポリシー設定を参照してください"disable"

サンドボックス設定

高度なサンドボックス動作を構成します。サンドボックスは bash コマンドをファイルシステムとネットワークから分離します。詳細はサンドボックスを参照してください。 ファイルシステムとネットワークの制限は、これらのサンドボックス設定ではなく、Read、Edit、および WebFetch 権限ルールを通じて構成されます。
キー説明
enabledbash サンドボックスを有効にします(macOS/Linux のみ)。デフォルト:falsetrue
autoAllowBashIfSandboxedサンドボックス化されている場合、bash コマンドを自動承認します。デフォルト:truetrue
excludedCommandsサンドボックスの外で実行すべきコマンド["git", "docker"]
network.allowUnixSocketsサンドボックスでアクセス可能な Unix ソケットパス(SSH エージェント用など)["~/.ssh/agent-socket"]
network.allowLocalBindinglocalhost ポートへのバインドを許可します(macOS のみ)。デフォルト:falsetrue
network.httpProxyPort独自のプロキシを使用する場合に使用される HTTP プロキシポート。指定されない場合、Claude は独自のプロキシを実行します。8080
network.socksProxyPort独自のプロキシを使用する場合に使用される SOCKS5 プロキシポート。指定されない場合、Claude は独自のプロキシを実行します。8081
enableWeakerNestedSandbox非特権 Docker 環境用の弱いサンドボックスを有効にします(Linux のみ)。セキュリティが低下します。 デフォルト:falsetrue
構成例:
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "network": {
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  },
  "permissions": {
    "deny": [
      "Read(.envrc)",
      "Read(~/.aws/**)"
    ]
  }
}
ファイルシステムアクセスは Read/Edit 権限を通じて制御されます:
  • Read 拒否ルールはサンドボックス内のファイル読み取りをブロックします
  • Edit 許可ルールはファイル書き込みを許可します(デフォルトに加えて、例えば現在の作業ディレクトリ)
  • Edit 拒否ルールは許可されたパス内の書き込みをブロックします
ネットワークアクセスは WebFetch 権限を通じて制御されます:
  • WebFetch 許可ルールはネットワークドメインを許可します
  • WebFetch 拒否ルールはネットワークドメインをブロックします

設定の優先順位

設定は優先順位の順序(高から低)で適用されます:
  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.md ファイルまたは --append-system-prompt を使用して、Claude Code の動作にカスタム指示を追加してください。

機密ファイルの除外

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 はプラグインシステムをサポートしており、カスタムコマンド、エージェント、フック、および MCP サーバーで機能を拡張できます。プラグインはマーケットプレイスを通じて配布され、ユーザーレベルとリポジトリレベルの両方で構成できます。

プラグイン設定

settings.json のプラグイン関連設定:
{
  "enabledPlugins": {
    "formatter@company-tools": true,
    "deployer@company-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": "github",
      "repo": "company/claude-plugins"
    }
  }
}

enabledPlugins

どのプラグインが有効かを制御します。形式:"plugin-name@marketplace-name": true/false スコープ
  • ユーザー設定~/.claude/settings.json):個人的なプラグイン設定
  • プロジェクト設定.claude/settings.json):チームと共有されるプロジェクト固有のプラグイン
  • ローカル設定.claude/settings.local.json):マシンごとのオーバーライド(コミットされない)
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

extraKnownMarketplaces

リポジトリで利用可能にすべき追加マーケットプレイスを定義します。通常、チームメンバーが必要なプラグインソースにアクセスできるようにするためにリポジトリレベルの設定で使用されます。 リポジトリが extraKnownMarketplaces を含む場合
  1. チームメンバーはフォルダを信頼するときにマーケットプレイスをインストールするよう促されます
  2. チームメンバーはそのマーケットプレイスからプラグインをインストールするよう促されます
  3. ユーザーは不要なマーケットプレイスまたはプラグインをスキップできます(ユーザー設定に保存されます)
  4. インストールは信頼境界を尊重し、明示的な同意が必要です
{
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": {
        "source": "github",
        "repo": "company-org/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.company.com/security/plugins.git"
      }
    }
  }
}
マーケットプレイスソースタイプ
  • github:GitHub リポジトリ(repo を使用)
  • git:任意の git URL(url を使用)
  • directory:ローカルファイルシステムパス(path を使用、開発用のみ)

プラグインの管理

/plugin コマンドを使用してプラグインをインタラクティブに管理します:
  • マーケットプレイスから利用可能なプラグインを参照
  • プラグインをインストール/アンインストール
  • プラグインを有効/無効
  • プラグインの詳細を表示(提供されるコマンド、エージェント、フック)
  • マーケットプレイスを追加/削除
プラグインドキュメントでプラグインシステムについて詳しく学んでください。

環境変数

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_REPORTING、および DISABLE_TELEMETRY の設定と同等
CLAUDE_CODE_DISABLE_TERMINAL_TITLE1 に設定して、会話コンテキストに基づく自動ターミナルタイトル更新を無効にします
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_AUTOUPDATER1 に設定して自動更新を無効にします。これは autoUpdates 構成設定より優先されます。
DISABLE_BUG_COMMAND1 に設定して /bug コマンドを無効にします
DISABLE_COST_WARNINGS1 に設定してコスト警告メッセージを無効にします
DISABLE_ERROR_REPORTING1 に設定して Sentry エラーレポートをオプトアウト
DISABLE_NON_ESSENTIAL_MODEL_CALLS1 に設定してフレーバーテキストなどの非重要パスのモデル呼び出しを無効にします
DISABLE_PROMPT_CACHING1 に設定してすべてのモデルのプロンプトキャッシングを無効にします(モデルごとの設定より優先)
DISABLE_PROMPT_CACHING_HAIKU1 に設定して Haiku モデルのプロンプトキャッシングを無効にします
DISABLE_PROMPT_CACHING_OPUS1 に設定して Opus モデルのプロンプトキャッシングを無効にします
DISABLE_PROMPT_CACHING_SONNET1 に設定して Sonnet モデルのプロンプトキャッシングを無効にします
DISABLE_TELEMETRY1 に設定して Statsig テレメトリをオプトアウト(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 のリスト
SLASH_COMMAND_TOOL_CHAR_BUDGETSlashCommand ツールに表示されるスラッシュコマンドメタデータの最大文字数(デフォルト:15000)
USE_BUILTIN_RIPGREP0 に設定して Claude Code に含まれる rg の代わりにシステムインストール済みの rg を使用
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 が利用可能なツール

Claude Code は、コードベースを理解し、変更するのに役立つ強力なツールのセットにアクセスできます:
ツール説明権限が必要
Bash環境内でシェルコマンドを実行はい
Edit特定のファイルに対象を絞った編集を行うはい
Globパターンマッチングに基づいてファイルを検索いいえ
Grepファイルコンテンツ内のパターンを検索いいえ
NotebookEditJupyter ノートブックセルを変更はい
NotebookReadJupyter ノートブックコンテンツを読み取り、表示いいえ
Readファイルのコンテンツを読み取るいいえ
SlashCommandカスタムスラッシュコマンドを実行はい
Task複雑なマルチステップタスクを処理するサブエージェントを実行いいえ
TodoWrite構造化されたタスクリストを作成、管理いいえ
WebFetch指定された URL からコンテンツを取得はい
WebSearchドメインフィルタリング付きで web 検索を実行はい
Writeファイルを作成、上書きはい
権限ルールは /allowed-tools を使用するか、権限設定で構成できます。また、ツール固有の権限ルールも参照してください。

フックでツールを拡張

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

関連項目