Build This Now
Build This Now
クロード・コードとは何か?Claude Code のインストールClaude Code ネイティブインストーラーClaude Code で最初のプロジェクトを作る
Claude Code の設定Claude Code ターミナルセットアップガイドClaude Code サンドボックスClaude Code 設定リファレンス
speedy_devvkoen_salo
Blog/Handbook/Setup/Settings Reference

Claude Code 設定リファレンス

settings.json のすべてのキー、環境変数の完全なリスト、そして managed とユーザーが競合したときにどの設定が勝つかを決める 5 段階の優先順位チェーン。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →
speedy_devvWritten by speedy_devvPublished Mar 17, 2026Handbook hubSetup index

問題: Claude Code の多くの悩みは一つの根本原因に行き着きます。設定が自分の作業スタイルと合っていないことです。一日中 bash コマンドを承認し続けたり、チームのデフォルトが読み込まれなかったり、昨日編集したキーが何も変わらなかったりします。

解決策は設定システムを理解することです。キーだけでなく、2 つのスコープが競合したときに勝者を決める優先順位ルールまで。

クイックウィン: settings.json に $schema の行を追加すれば、JSON スキーマを理解するすべてのエディタで自動補完とインラインチェックが有効になります。VS Code、Cursor、スキーマサポートのある他のエディタすべてがその恩恵を受けます。

5 段階の優先順位チェーン

設定は固定された優先順位に従います。これを理解することが「なぜ変更が反映されないのか」と「ああ、ファイルが間違っていた」の差です。

スコープの優先順位 (高い順から低い順)

優先度スコープ場所影響範囲共有?
1Managedシステムディレクトリマシン上のすべてのユーザーあり (IT 部門が展開)
2コマンドラインCLI フラグ現在のセッションのみなし
3Local.claude/settings.local.json自分、このプロジェクトなし (gitignore に登録)
4Project.claude/settings.jsonすべての共同作業者あり (git に登録)
5User~/.claude/settings.json自分、すべてのプロジェクトなし

上位のスコープは常に下位のスコープに勝ちます。例外なし。Bash(curl *) をブロックする IT の Managed ルールは、個人またはプロジェクトのファイルでは変更できません。

適切なスコープの選び方

Managed は逃げ道のないルールを必要とする組織向けです。

  • セキュリティポリシー (認証情報へのアクセスをブロック、破壊的コマンドを禁止)
  • すべてのエンジニアとリポジトリに適用する必要があるコンプライアンス
  • IT が展開する標準のフックや MCP 設定

コマンドライン フラグは単一セッション内の一時的な上書きに使います。

  • 別のモデルを試す: claude --model claude-sonnet-4-5-20250929
  • 特定のジョブのための追加権限の付与
  • --debug フラグを付けて実行

Local は特定のリポジトリでの個人的なサンドボックスです。

  • 自分のマシンに合わないプロジェクトルールを静かに上書き
  • チームに提案する前にフックを試す
  • このマシン固有のパス (SSH キーの場所、ローカルプロキシが動作するポートなど)

Project はチームが足並みを揃える場所です。

  • 全員が従う権限ルール
  • 自動フォーマットとリント用の共有フック
  • 全チームメンバーが必要とする MCP サーバー設定
  • プロジェクトを説明する CLAUDE.md の指示

User は自分のデフォルト設定です。

  • 言語、テーマ、好みの出力スタイル
  • すべてのリポジトリで有効にしたいプラグイン
  • グローバル権限ルール (~/.ssh への一括拒否など)

OS 別の Managed 設定パス

Managed ファイルには管理者権限が必要で、ユーザーのホームディレクトリの外に置かれます。

オペレーティングシステムパス
macOS/Library/Application Support/ClaudeCode/
Linux / WSL/etc/claude-code/
WindowsC:\Program Files\ClaudeCode\

これらのフォルダには 2 つのファイルが存在します。managed-settings.json が設定を保持し、managed-mcp.json が MCP サーバーを保持します。

Claude Code のすべての設定は各スコープの既知のファイルパスに存在します。

機能UserProject (共有)Local (個人)
設定~/.claude/settings.json.claude/settings.json.claude/settings.local.json
サブエージェント~/.claude/agents/.claude/agents/該当なし
MCP サーバー~/.claude.json.mcp.json~/.claude.json (プロジェクト単位)
プラグイン~/.claude/settings.json.claude/settings.json.claude/settings.local.json
CLAUDE.md~/.claude/CLAUDE.mdCLAUDE.md または .claude/CLAUDE.mdCLAUDE.local.md

設定リファレンス

一般設定

キー説明デフォルト例
modelデフォルトモデルを上書き(システムデフォルト)"claude-sonnet-4-5-20250929"
languageClaude の応答言語の設定英語"japanese"
outputStyleシステムプロンプトのスタイルを調整(なし)"Explanatory"
cleanupPeriodDays非アクティブなセッションが削除されるまでの日数3020
autoUpdatesChannelリリースチャンネル: "stable" または "latest""latest""stable"
showTurnDurationレスポンスのタイミングを表示 ("Cooked for 1m 6s")truefalse
spinnerVerbsスピナーテキストをカスタマイズ(デフォルト){"mode": "append", "verbs": ["Pondering"]}
spinnerTipsEnabledClaude が作業中にヒントを表示truefalse
terminalProgressBarEnabledターミナルのプログレスバー (iTerm2、Windows Terminal)truefalse
alwaysThinkingEnabledデフォルトで拡張思考を有効化falsetrue
plansDirectoryプランファイルの保存先~/.claude/plans"./plans"
respectGitignore@ ファイルピッカーが .gitignore を尊重するtruefalse
companyAnnouncements起動時に表示されるメッセージ (ランダムサイクル)(なし)["Review guidelines at docs.acme.com"]

権限設定

以下のキーはすべて "permissions" オブジェクトの中にネストされます。

キー説明例
allowツール使用を自動許可するルール["Bash(npm run lint)", "Read(~/.zshrc)"]
ask確認が必要なルール["Bash(git push *)"]
denyツール使用を完全にブロックするルール["WebFetch", "Bash(curl *)", "Read(./.env)"]
additionalDirectoriesClaude がアクセスできる追加ディレクトリ["../docs/", "../shared/"]
defaultMode起動時のデフォルト権限モード"acceptEdits"
disableBypassPermissionsMode--dangerously-skip-permissions をブロック"disable"

評価順序: Deny が最初に評価されます。次が Ask、その後が Allow です。最初に一致したルールが適用されます。

ルール構文の例:

ルール一致するもの
Bashすべての bash コマンド
Bash(npm run *)npm run で始まるコマンド
Read(./.env).env ファイルの読み取り
Read(./secrets/**)secrets/ 以下のすべての読み取り
WebFetch(domain:example.com)example.com へのフェッチリクエスト

サンドボックス設定

以下のキーは "sandbox" オブジェクトの中にネストされ、bash コマンドの隔離方法を制御します。

キー説明デフォルト例
enabledbash サンドボックスを有効化falsetrue
autoAllowBashIfSandboxedサンドボックス時にコマンドを自動承認truetrue
excludedCommandsサンドボックス外で実行するコマンド(なし)["git", "docker"]
allowUnsandboxedCommandsdangerouslyDisableSandbox によるエスケープを許可truefalse
enableWeakerNestedSandboxDocker 用の弱いサンドボックス (Linux/WSL2)falsetrue
network.allowedDomainsアウトバウンドドメインのホワイトリスト(なし)["github.com", "*.npmjs.org"]
network.allowUnixSocketsサンドボックス内でアクセス可能な Unix ソケットパス(なし)["~/.ssh/agent-socket"]
network.allowAllUnixSocketsすべての Unix ソケット接続を許可falsetrue
network.allowLocalBindinglocalhost へのバインドを許可 (macOS のみ)falsetrue
network.httpProxyPortカスタム HTTP プロキシポート(自動)8080
network.socksProxyPortカスタム SOCKS5 プロキシポート(自動)8081

Attribution 設定

以下のキーは "attribution" オブジェクトの中にネストされ、git が Claude の作業をどう帰属させるかを決定します。

キー説明デフォルト
commitgit コミットメッセージに追加されるテキスト"Generated with Claude Code..." + Co-Authored-By トレーラー
prプルリクエストの説明に追加されるテキスト"Generated with Claude Code..."

どちらかのキーを "" で空にすると、git から対応する行が消えます。レガシーの includeCoAuthoredBy キーはまだ機能しますが、現在は非推奨です。

プラグイン設定

キー説明例
enabledPluginsプラグインのオン/オフ切り替え{"formatter@acme-tools": true}
extraKnownMarketplaces追加のプラグインソース以下の例を参照
strictKnownMarketplaces(Managed のみ) マーケットプレイスソースを制限[{"source": "github", "repo": "acme/plugins"}]

4 つのソースタイプが存在します。github はリポジトリを指定します。git は任意の URL を受け付けます。directory は開発中にローカルパスを使用します。hostPattern はホスト名に対して正規表現マッチングを行います。

MCP サーバー設定

キー説明例
enableAllProjectMcpServersすべてのプロジェクト MCP サーバーを自動承認true
enabledMcpjsonServers承認する特定の MCP サーバー["memory", "github"]
disabledMcpjsonServers拒否する特定の MCP サーバー["filesystem"]
allowedMcpServers(Managed のみ) MCP サーバーの許可リスト[{"serverName": "github"}]
deniedMcpServers(Managed のみ) MCP サーバーの拒否リスト[{"serverName": "filesystem"}]

認証とプロバイダー設定

キー説明例
apiKeyHelper認証値を生成するスクリプト"/bin/generate_temp_api_key.sh"
forceLoginMethodclaudeai または console に制限"claudeai"
forceLoginOrgUUIDログイン中に組織を自動選択"xxxxxxxx-xxxx-..."
awsAuthRefreshAWS 認証情報を更新するスクリプト"aws sso login --profile myprofile"
awsCredentialExportAWS 認証情報 JSON を出力するスクリプト"/bin/generate_aws_grant.sh"
otelHeadersHelperOpenTelemetry ヘッダーを生成するスクリプト"/bin/generate_otel_headers.sh"

フックと高度な設定

キー説明例
hooksライフサイクルイベントのフック設定フックガイドを参照
disableAllHooksすべてのフックを無効化true
allowManagedHooksOnly(Managed のみ) ユーザー/プロジェクトのフックをブロックtrue
allowManagedPermissionRulesOnly(Managed のみ) ユーザー/プロジェクトの権限ルールをブロックtrue
fileSuggestionカスタム @ ファイルオートコンプリートスクリプト{"type": "command", "command": "~/.claude/file-suggestion.sh"}
statusLineカスタムステータスラインの表示{"type": "command", "command": "~/.claude/statusline.sh"}
envすべてのセッション用の環境変数{"FOO": "bar"}

環境変数

Claude Code は約 70 個の環境変数を読み込みます。大半はエッジケース用です。日常的に使うのは約 20 個程度です。

モデルとプロバイダー

変数目的
ANTHROPIC_API_KEY直接 API アクセス用の API キー
ANTHROPIC_MODELデフォルトモデルを上書き
ANTHROPIC_DEFAULT_SONNET_MODELSonnet エイリアスのモデル名
CLAUDE_CODE_SUBAGENT_MODELサブエージェント用モデル (メインモデルとは別)
CLAUDE_CODE_USE_BEDROCKAWS Bedrock 経由でルーティング
CLAUDE_CODE_USE_VERTEXGoogle Vertex 経由でルーティング

エイリアス変数 (ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL) は、組織がファインチューニングされたモデルを標準のエイリアス名に向けている場合に便利です。

パフォーマンスチューニング

変数目的
CLAUDE_CODE_MAX_OUTPUT_TOKENS最大出力トークン数 (デフォルト: 32K、最大: 64K)
MAX_THINKING_TOKENS拡張思考バジェット (デフォルト: 31,999、0 で無効化)
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE自動コンパクションをトリガーするコンテキスト容量の % (1-100)
BASH_DEFAULT_TIMEOUT_MSデフォルトの bash コマンドタイムアウト
BASH_MAX_TIMEOUT_MSClaude が設定できる最大 bash タイムアウト
BASH_MAX_OUTPUT_LENGTH切り詰め前の bash 出力の最大文字数

プライバシーとテレメトリ

変数目的
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC更新、テレメトリ、エラーレポートをまとめて無効化
DISABLE_TELEMETRYStatsig テレメトリをオプトアウト
DISABLE_ERROR_REPORTINGSentry エラーレポートをオプトアウト
CLAUDE_CODE_HIDE_ACCOUNT_INFOUI からメールとorg名を非表示
DISABLE_AUTOUPDATER自動バージョン更新を無効化

セッション制御

変数目的
CLAUDE_CODE_TASK_LIST_ID複数のセッション間でタスクリストを共有
CLAUDE_CODE_ENABLE_TASKSfalse に設定すると旧 TODO リストに戻る
CLAUDE_CODE_SHELLシェルの自動検出を上書き
CLAUDE_CONFIG_DIRカスタムの設定/データディレクトリの場所
MCP_TIMEOUTMCP サーバー起動のタイムアウト (ミリ秒)
MCP_TOOL_TIMEOUTMCP ツール実行のタイムアウト (ミリ秒)

2 つの方法があります。シェルプロファイルからエクスポートするか、settings.json の "env" オブジェクトに記述してシェルの rc ファイルを編集せずにセッションをまたいで維持するかです。

設定の競合を解決する

スコープの優先順位を知れば、典型的な設定の悩みのほとんどが解消されます。

ケース 1: スコープ間で権限ルールが一致しない

User 設定が Bash(curl *) を許可しています。Project 設定がそれを拒否しています。どちらが勝つか? Project は優先度 4、User は優先度 5 なので、ブロックが有効です。自分のマシンで curl が本当に必要な場合は、代わりに .claude/settings.local.json に許可ルールを追加してください。Local は優先度 3 で Project の優先度 4 を上回り、Local の許可がブロックされたルールを上書きします。

ケース 2: Managed ファイルがプロジェクトルールを無効にする

チームの settings.json が Bash(rm -rf *) を許可しています。IT が同じコマンドをブロックする Managed ファイルを配布しました。Managed が勝ちます。常に。User、Local、Project のいかなるファイルも Managed ルールを越えることはできません。この設計は意図的なもので、コンプライアンスがその理由です。

ケース 3: ローカルで試してみる

チームに提案する前に新しいフックを試したい場合、.claude/settings.local.json に記述してください。共有の .claude/settings.json より優先され、自分のマシンにのみ留まります。

ケース 4: 2 つのスコープのマージ

スコープは互いを完全に上書きするわけではありません。重なり合います。Bash(git status) を許可する User 設定と Bash(npm run lint) を許可する Project 設定は、両方のルールが同時にアクティブになります。マージは権限配列を結合します。同じキーが 2 つのスコープで異なる値を持つ場合、その単一のキーについては上位のスコープの値が採用されます。

ケース 5: シェルからエクスポートされた環境変数と settings.json に記述された環境変数

シェルから ANTHROPIC_MODEL をエクスポートし、settings.json の env オブジェクトにも記述した場合、Claude Code が使用するのはシェルのエクスポート値です。

設定がシステム全体とどう連携するか

CLAUDE.md ファイル は起動時に Claude が読み込む指示と必要な背景情報を保持します。明確なメンタルモデル: settings.json は Claude が何をしてよいかを示し、CLAUDE.md は Claude が何を知るべきかを示します。

MCP サーバー は Claude に新しいツールを追加します。設定はそれぞれのファイルに記述します (プロジェクトレベルでは .mcp.json、ユーザーレベルでは ~/.claude.json)。settings.json はそれらのサーバーを承認するか拒否するかを決定する場所です。

フック は settings.json の hooks キーの下に記述されます。それぞれがライフサイクルイベントの発火時にシェルコマンドまたは LLM プロンプトを実行します。

プラグイン も settings.json を通じて機能し、enabledPlugins とマーケットプレイスリストで管理されます。

サブエージェント はプレーンな Markdown ファイルです。User のものは ~/.claude/agents/ に、Project のものは .claude/agents/ に置きます。

バックアップとリカバリー

設定ファイルが変更されるたびに、Claude Code はタイムスタンプ付きのバックアップを書き込みます。ファイルごとに最新の 5 件が保持されます。不正な更新があっても git の reflog を掘り返す必要はありません。以前の動作していたバージョンが壊れたものの隣に存在しています。

はじめ方

Claude Code の設定が初めての方は、この短いリストを順番に実行してください。

  1. プロジェクトレベルでの権限ルール。.env やその他の秘密ファイルへの読み取りをブロックします。毎日使うビルドまたはテストコマンドを許可します
  2. 保存時に自動フォーマットする PostToolUse フック。この一つのエントリは他の何よりも承認疲れを解消します
  3. Co-Authored-By の行を調整または非表示にする必要がある場合は Attribution 設定
  4. 触れるすべてのリポジトリで有効にしたい設定のためのユーザーデフォルト
  5. プロジェクトのコンテキストとコーディング規約を含む CLAUDE.md ファイル

Continue in Setup

  • Claude Code の設定
    3 つのファイルがプロジェクトごとに Claude Code をセットアップします。コンテキスト用の CLAUDE.md、ツール用の MCP サーバー、ワークフロー用のスラッシュコマンド。一つの階層で、すべてのセッションに対応。
  • Claude Code サンドボックス
    Claude Code のサンドボックスはカーネルレベルでファイルシステムとネットワークの制限を強制します。macOS Seatbelt、Linux および WSL2 の bubblewrap、プロキシ許可リストのセットアップ方法を解説します。
  • Claude Code ターミナルセットアップガイド
    iTerm2、WezTerm、Ghostty、Kitty などのターミナルでテーマを合わせ、Shift+Enter を有効にし、通知を設定し、長い貼り付けの切り詰めを修正し、vim モードをオンにする方法。

More from Handbook

  • エージェントの基礎
    Claude Codeでスペシャリストエージェントを構築する5つの方法:タスクサブエージェント、.claude/agents YAML、カスタムスラッシュコマンド、CLAUDE.mdペルソナ、パースペクティブプロンプト。
  • エージェント・ハーネス・エンジニアリング
    ハーネスとは、AIエージェントを構成するモデル以外のすべての層のことです。5つの制御レバー、制約のパラドックス、そしてなぜハーネス設計がモデルよりもエージェントのパフォーマンスを左右するのかを学びましょう。
  • エージェントパターン
    オーケストレーター、ファンアウト、バリデーションチェーン、スペシャリストルーティング、プログレッシブリファインメント、ウォッチドッグ。Claude Code のサブエージェントを組み合わせる6つのオーケストレーション形状。
  • エージェントチームのベストプラクティス
    Claude Code エージェントチームの実証済みパターン。コンテキストが豊富なスポーンプロンプト、適切なサイズのタスク、ファイルオーナーシップ、デリゲートモード、v2.1.33〜v2.1.45 の修正内容。

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →

Claude Code サンドボックス

Claude Code のサンドボックスはカーネルレベルでファイルシステムとネットワークの制限を強制します。macOS Seatbelt、Linux および WSL2 の bubblewrap、プロキシ許可リストのセットアップ方法を解説します。

AI Research for Builders

A monthly digest of the latest AI research — agents, reasoning, efficiency, and models — with every claim traced to its source and translated into what it means if you build with AI.

On this page

5 段階の優先順位チェーン
スコープの優先順位 (高い順から低い順)
適切なスコープの選び方
OS 別の Managed 設定パス
設定リファレンス
一般設定
権限設定
サンドボックス設定
Attribution 設定
プラグイン設定
MCP サーバー設定
認証とプロバイダー設定
フックと高度な設定
環境変数
モデルとプロバイダー
パフォーマンスチューニング
プライバシーとテレメトリ
セッション制御
設定の競合を解決する
設定がシステム全体とどう連携するか
バックアップとリカバリー
はじめ方

設定をやめて、構築を始めよう。

AIオーケストレーション付きSaaSビルダーテンプレート。

企業向けに構築している実績を見る →