{
 "snapshot": "2026-11-06",
 "population": {
  "project_settings_files_on_github": 91976,
  "sampled_unique_files": 14178,
  "balanced_sample_files": 9174,
  "size_slices": 95,
  "max_files_per_slice_in_balanced_sample": 100,
  "repos_read_after_filter": 5864,
  "settings_files_read": 6099
 },
 "method": "GitHub code search filename:settings.json path:.claude, 95 file-size slices; a 30-minute pass (7 slices) plus two short passes taking one page from every other slice; the balanced sample keeps at most 100 files per slice. Repos kept: >=5 stars, pushed since 2026-10-07, not fork, not archived. Every .claude/settings.json in kept repos and the scripts their hooks name, read as JSON or text. Nothing was run. Key names and categories only, no values. Names left out.",
 "groups": {
  "A": "used before you trust the folder (parent folder trusted, claude -p, SDK)",
  "B": "waits for the trust dialog",
  "C": "MCP servers and plugins",
  "D": "restrictions"
 },
 "repos_with_at_least_one": {
  "A| any command hook": [
   3151,
   53.7
  ],
  "A| SessionStart or Setup hook": [
   1190,
   20.3
  ],
  "A| UserPromptSubmit hook": [
   411,
   7.0
  ],
  "A| PreToolUse hook": [
   1673,
   28.5
  ],
  "A| PostToolUse hook": [
   1603,
   27.3
  ],
  "A| Stop hook": [
   783,
   13.4
  ],
  "A| hook script goes online": [
   275,
   4.7
  ],
  "A| hook script writes files": [
   1208,
   20.6
  ],
  "A| session-start hook goes online (inline or script)": [
   135,
   2.3
  ],
  "A| env block": [
   496,
   8.5
  ],
  "A| env: API endpoint or base URL": [
   16,
   0.3
  ],
  "A| env: proxy": [
   1,
   0.0
  ],
  "A| env: TLS or certificate": [
   0,
   0.0
  ],
  "A| env: key, token or secret name": [
   47,
   0.8
  ],
  "A| env: literal secret-looking value committed": [
   3,
   0.1
  ],
  "A| env: telemetry or traffic switch": [
   83,
   1.4
  ],
  "A| helper command (apiKeyHelper, awsAuthRefresh...)": [
   5,
   0.1
  ],
  "A| statusLine command": [
   183,
   3.1
  ],
  "B| permissions.allow rules": [
   2765,
   47.2
  ],
  "B| allow: any Bash command": [
   143,
   2.4
  ],
  "B| allow: Bash for an interpreter or runner": [
   1163,
   19.8
  ],
  "B| allow: Bash for rm, curl, sudo, ssh, git push...": [
   668,
   11.4
  ],
  "B| allow: Write or Edit anywhere": [
   289,
   4.9
  ],
  "B| allow: WebFetch any site": [
   187,
   3.2
  ],
  "B| allow: MCP tools": [
   561,
   9.6
  ],
  "B| additionalDirectories": [
   178,
   3.0
  ],
  "B| defaultMode bypassPermissions": [
   53,
   0.9
  ],
  "B| defaultMode acceptEdits": [
   65,
   1.1
  ],
  "B| defaultMode auto or dontAsk": [
   71,
   1.2
  ],
  "C| enableAllProjectMcpServers": [
   140,
   2.4
  ],
  "C| enabledMcpjsonServers": [
   155,
   2.6
  ],
  "C| enables plugins or adds marketplaces": [
   1112,
   19.0
  ],
  "D| deny rules": [
   1189,
   20.3
  ],
  "D| ask rules": [
   333,
   5.7
  ],
  "D| disableBypassPermissionsMode": [
   11,
   0.2
  ],
  "D| sandbox enabled": [
   58,
   1.0
  ]
 },
 "files_all": {
  "A| any command hook": [
   3270,
   53.6
  ],
  "A| SessionStart or Setup hook": [
   1226,
   20.1
  ],
  "A| UserPromptSubmit hook": [
   437,
   7.2
  ],
  "A| PreToolUse hook": [
   1750,
   28.7
  ],
  "A| PostToolUse hook": [
   1643,
   26.9
  ],
  "A| Stop hook": [
   825,
   13.5
  ],
  "A| hook script goes online": [
   278,
   4.6
  ],
  "A| hook script writes files": [
   1231,
   20.2
  ],
  "A| session-start hook goes online (inline or script)": [
   136,
   2.2
  ],
  "A| env block": [
   506,
   8.3
  ],
  "A| env: API endpoint or base URL": [
   16,
   0.3
  ],
  "A| env: proxy": [
   1,
   0.0
  ],
  "A| env: TLS or certificate": [
   0,
   0.0
  ],
  "A| env: key, token or secret name": [
   48,
   0.8
  ],
  "A| env: literal secret-looking value committed": [
   3,
   0.0
  ],
  "A| env: telemetry or traffic switch": [
   83,
   1.4
  ],
  "A| helper command (apiKeyHelper, awsAuthRefresh...)": [
   5,
   0.1
  ],
  "A| statusLine command": [
   190,
   3.1
  ],
  "B| permissions.allow rules": [
   2852,
   46.8
  ],
  "B| allow: any Bash command": [
   150,
   2.5
  ],
  "B| allow: Bash for an interpreter or runner": [
   1194,
   19.6
  ],
  "B| allow: Bash for rm, curl, sudo, ssh, git push...": [
   675,
   11.1
  ],
  "B| allow: Write or Edit anywhere": [
   300,
   4.9
  ],
  "B| allow: WebFetch any site": [
   197,
   3.2
  ],
  "B| allow: MCP tools": [
   579,
   9.5
  ],
  "B| additionalDirectories": [
   179,
   2.9
  ],
  "B| defaultMode bypassPermissions": [
   53,
   0.9
  ],
  "B| defaultMode acceptEdits": [
   66,
   1.1
  ],
  "B| defaultMode auto or dontAsk": [
   71,
   1.2
  ],
  "C| enableAllProjectMcpServers": [
   145,
   2.4
  ],
  "C| enabledMcpjsonServers": [
   160,
   2.6
  ],
  "C| enables plugins or adds marketplaces": [
   1147,
   18.8
  ],
  "D| deny rules": [
   1242,
   20.4
  ],
  "D| ask rules": [
   350,
   5.7
  ],
  "D| disableBypassPermissionsMode": [
   12,
   0.2
  ],
  "D| sandbox enabled": [
   58,
   1.0
  ]
 },
 "hook_events_files": {
  "PreToolUse": 1750,
  "SessionStart": 1226,
  "PostToolUse": 1643,
  "SessionEnd": 169,
  "UserPromptSubmit": 437,
  "SubagentStart": 92,
  "Stop": 825,
  "WorktreeCreate": 49,
  "WorktreeRemove": 37,
  "TaskCreated": 10,
  "SubagentStop": 141,
  "StopFailure": 29,
  "TaskCompleted": 31,
  "Notification": 96,
  "PostToolBatch": 11,
  "PermissionDenied": 14,
  "PreCommit": 1,
  "PreCompact": 161,
  "PostToolUseFailure": 77,
  "TeammateIdle": 17,
  "PostCompact": 37,
  "InstructionsLoaded": 18,
  "ConfigChange": 11,
  "UserPromptExpansion": 11,
  "PermissionRequest": 41,
  "MessageDisplay": 5,
  "CwdChanged": 12,
  "Setup": 4,
  "FileChanged": 14,
  "Elicitation": 3,
  "ElicitationResult": 3,
  "PostModelSwitch": 3,
  "PreModelSwitch": 1,
  "DirectoryAdded": 1
 },
 "default_modes": {
  "manual": 2,
  "acceptEdits": 66,
  "bypassPermissions": 53,
  "dontAsk": 4,
  "plan": 19,
  "auto": 67,
  "default": 34,
  "require-approval": 1
 },
 "env_endpoints_repos": {
  "ANTHROPIC_BASE_URL_any": 8,
  "ANTHROPIC_BASE_URL_remote": 5,
  "OTEL_endpoint_remote": 4,
  "turns_on_claude_code_telemetry": 8
 }
}