settings.json(設定ファイル)とは?
読み方: セッティングス ジェイソン
定義
Claude Code の挙動を制御する JSON 設定ファイル。パーミッション・環境変数・フック・MCP サーバーなどを宣言的に定義する。
詳しい解説
settings.json は Claude Code のすべての挙動を宣言的に制御する中心的な設定ファイルです。配置場所は 3 階層あり、優先度の高い順に (1) .claude/settings.local.json(プロジェクト個人用・gitignore 推奨)、(2) .claude/settings.json(プロジェクト共有・コミット推奨)、(3) ~/.claude/settings.json(ユーザー全体)となります。設定可能な項目は permissions(allow/deny/ask の許可リスト)、env(環境変数)、hooks(イベントフック)、enabledMcpjsonServers(有効にする MCP サーバー)、statusLine(ステータスライン定義)、model(デフォルトモデル)など多岐にわたります。permissions.allow には Bash(npm test) のような具体的なツール呼び出しパターンを記述し、permissions.deny には禁止操作(例えば WebFetch のドメイン制限)を記述します。チーム開発では settings.json をリポジトリにコミットして全員に統一ポリシーを適用し、個人カスタマイズは settings.local.json に分離するのが定石です。設定変更は基本的にホットリロードされないため、編集後はセッションを再起動するか /reload で反映させてください。
使用例
{"permissions": {"allow": ["Bash(bun test)", "Bash(git status)"]}}