SpyBara
Go Premium

settings-example.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 391 additions and 0 deletions.

2026
Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Fri 25 23:58

設定ファイルの例

開発者、チーム、組織向けの現実的な settings.json ファイル:1 つをコピーして、必要なキーを保持し、値を変更してください。

このページには 3 つの例 settings.json ファイルがあります。設定を保存する場所ごとに 1 つずつです:

  • 開発者の ~/.claude/settings.json
  • チームの .claude/settings.json(リポジトリにコミットされたもの)
  • 組織の managed-settings.json

それぞれが読者にとって妥当なファイルなので、形状を確認して必要な部分をコピーできます。どれも推奨されるベースラインではありません。すべての値は 設定リファレンス のキーのエントリから取得されており、そこには型、デフォルト値、および設定できる場所が記載されています。

各例には 2 つのタブがあります。コピー可能な設定ファイル は保存するファイルです。各キーの機能 は同じファイルですが、各キーの上にコメントがあります。Claude Code は設定ファイルのコメントを受け入れないため、最初のタブからコピーしてください。

独自の設定

1 人の開発者の個人設定です。モデルと努力レベルを選択し、ターミナルを調整し、読み取り専用コマンドと 1 つのファイル読み取りを事前承認します。リストされていないすべてのものはデフォルトを保持します。このようなファイルは ~/.claude/settings.json に保存され、開くすべてのプロジェクトに適用されます。

これを ~/.claude/settings.json として保存してください。コメントのない有効な JSON なので、そのまま貼り付けて、不要なキーを削除できます。

{
"model": "claude-sonnet-5",
"effortLevel": "xhigh",
"editorMode": "vim",
"theme": "light-daltonized",
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
"padding": 2
},
"spinnerTipsEnabled": false,
"preferredNotifChannel": "terminal_bell",
"permissions": {
"allow": [
"Bash(git diff *)",
"Read(~/.zshrc)"
]
},
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 20
}

チームの共有設定

1 つのチームの共有設定は、リポジトリにコミットされるため、それをクローンした全員が同じ権限、hooks、テレメトリ、プラグインマーケットプレイスを取得します。リポジトリのトップレベルに .claude/settings.json のようなファイルを保存してください。コミットする前に知っておくべきことは以下の通りです。

  • クラウドセッションもこれを読みます。 Claude Code ウェブ上のクラウドセッションはリポジトリのクローンから開始されるため、コミットされたファイルはそこにも適用されます。
  • 許可ルールは信頼を待ちます。 許可ルールと extraKnownMarketplaces エントリは、各ユーザーがこのフォルダ自体を信頼した後に有効になります。親フォルダだけではなく、このフォルダ自体を信頼する必要があります。拒否ルールと確認ルールは、信頼されているセッションでもそうでないセッションでも、すべてのセッションで適用されます。
  • hook はリポジトリ内のスクリプトです。 このファイルの hook は .claude/hooks/block-rm.sh を実行します。hook がどのように解決されるかでは、これを書く方法について説明しています。
  • ルールはコマンドとパスを記述されたとおりにマッチします。 Bash(git push *) は git -C . push にはマッチしません。Read(./.env) 単独では、ファイルツールと cat .env のようにファイルを名前で指定するコマンドを停止しますが、grep -r をディレクトリ上で実行することは停止しません。このファイルの sandbox ブロックはそのギャップを埋めます。sandbox はあなたの Read 拒否パスをすべてのサンドボックス化されたコマンドが読み取れないものに追加するためです。

これをリポジトリのトップレベルに .claude/settings.json として保存してコミットしてください。コメントのない有効な JSON なので、そのまま貼り付けて、不要なキーを削除できます。

{
"permissions": {
"allow": [
"Bash(npm run *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
}
]
}
]
},
"extraKnownMarketplaces": {
"acme-tools": {
"source": {
"source": "github",
"repo": "acme-corp/claude-plugins"
}
}
},
"enabledPlugins": {
"code-formatter@acme-tools": true
},
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": [
"/tmp/build"
]
},
"network": {
"allowedDomains": [
"registry.npmjs.org",
"*.example.com"
]
}
},
"plansDirectory": "./plans"
}

組織の管理設定

managed-settings.json ファイルは、管理キーの形状を示し、各キーに対して 1 つの妥当な値を含みます。これは推奨ポリシーではありません。自分の要件に合致するキーを選択し、独自の値を設定してください。この例では、以下のキーを設定しています。

  • forceLoginMethod と forceLoginOrgUUID はログイン方法と組織を固定します
  • availableModels と enforceAvailableModels はセッションが使用できるモデルを制限します
  • permissions.deny は 2 つのファイル読み取りと curl コマンドをブロックし(Claude が記述する方法)、disableBypassPermissionsMode は権限モードのバイパスを削除します
  • allowManagedPermissionRulesOnly と allowManagedMcpServersOnly は、管理権限と MCP 許可リストのみを適用対象にします
  • allowedMcpServers は MCP サーバーを URL で固定します
  • strictKnownMarketplaces は 1 つのプラグインマーケットプレイスを許可します
  • sandbox はコマンドを固定ネットワーク許可リストでサンドボックス化し、サンドボックス外での再試行を許可しません
  • requiredMinimumVersion は最小 Claude Code バージョンを設定します
  • cleanupPeriodDays はセッショントランスクリプトおよび他のローカルデータの保持期間を 7 日に短縮します
  • companyAnnouncements は起動時にメッセージを表示します

管理者は、このようなファイルを managed-settings.json として、または MDM もしくは サーバー管理設定 を通じて同じ JSON をデプロイします。デプロイされた 1 つのファイルは、それが到達するすべてのマシンまたはアカウントに適用されます。グループに異なる値を付与するには、そのグループに異なるファイルまたはプロファイルをデプロイしてください。サーバー管理設定はまだグループごとのポリシーをサポートしていない ためです。

これを managed-settings.json としてデプロイするか、MDM または claude.ai コンソールを通じて同じ JSON をデプロイしてください。コメントのない有効な JSON です。例の組織 UUID、サーバー URL、およびマーケットプレイスを自分のものに置き換え、不要なキーを削除してください。

{
"forceLoginMethod": "claudeai",
"forceLoginOrgUUID": [
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"availableModels": [
"opus",
"sonnet"
],
"enforceAvailableModels": true,
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true,
"allowedMcpServers": [
{
"serverUrl": "https://api.githubcopilot.com/*"
}
],
"allowManagedMcpServersOnly": true,
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "acme-corp/approved-plugins"
}
],
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false,
"network": {
"allowedDomains": [
"registry.npmjs.org",
"github.com"
],
"allowManagedDomainsOnly": true
}
},
"requiredMinimumVersion": "2.1.150",
"cleanupPeriodDays": 7,
"companyAnnouncements": [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}