Permissions
Approval flows, permission modes, allow/deny decisions, and callbacks.
95
Matched files
10
Top dirs
29,909
Lines in slice
417
Exports found
Heuristic
Classification style
Beginner explanation
This architecture page groups files that seem to solve the same type of problem. It is a good way to understand the repo as a system rather than as a list of folders.
Beginner mental model
Read the first few high-importance files here, then follow their related-file links.
Expert explanation
This slice is assembled with path heuristics, which makes it strong for navigation and code reading but not a replacement for runtime tracing. Use it to discover likely boundaries, then validate by reading imports, exports, and orchestrator files.
Related files
| File | Lines | Importance | Exports |
|---|---|---|---|
| tools/BashTool/bashPermissions.ts | 2622 | high | MAX_SUBCOMMANDS_FOR_SECURITY_CHECK, MAX_SUGGESTED_RULES_FOR_COMPOUND, getSimpleCommandPrefix, getFirstWordPrefix |
| utils/permissions/filesystem.ts | 1778 | high | DANGEROUS_FILES, DANGEROUS_DIRECTORIES, normalizeCaseForComparison, getClaudeSkillScope |
| tools/PowerShellTool/powershellPermissions.ts | 1649 | high | powershellPermissionRule, powershellToolCheckExactMatchPermission, powershellToolCheckPermission, powershellToolHasPermission |
| utils/permissions/permissionSetup.ts | 1533 | high | isDangerousBashPermission, isDangerousPowerShellPermission, isDangerousTaskPermission, DangerousPermissionInfo |
| utils/permissions/yoloClassifier.ts | 1496 | high | AutoModeRules, getDefaultExternalAutoModeRules, buildDefaultExternalSystemPrompt, getAutoModeClassifierErrorDumpPath |
| utils/permissions/permissions.ts | 1487 | high | permissionRuleSourceDisplayString, getAllowRules, createPermissionRequestMessage, getDenyRules |
| components/permissions/rules/PermissionRuleList.tsx | 1179 | high | PermissionRuleList |
| utils/swarm/permissionSync.ts | 929 | high | SwarmPermissionRequestSchema, SwarmPermissionRequest, PermissionResolution, getPermissionDir |
| components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx | 768 | high | buildPermissionUpdates, autoNameSessionFromPlan, ExitPlanModePermissionRequest, buildPlanApprovalOptions |
| components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx | 645 | high | AskUserQuestionPermissionRequest |
| hooks/toolPermission/handlers/interactiveHandler.ts | 537 | high | handleInteractivePermission |
| utils/permissions/pathValidation.ts | 486 | high | FileOperationType, PathCheckResult, ResolvedPathCheckResult, formatDirectoryList |
| components/permissions/BashPermissionRequest/BashPermissionRequest.tsx | 482 | high | BashPermissionRequest |
| components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx | 465 | high | QuestionView |
| components/permissions/PermissionDecisionDebugInfo.tsx | 460 | high | PermissionDecisionDebugInfo |
| types/permissions.ts | 442 | high | EXTERNAL_PERMISSION_MODES, ExternalPermissionMode, InternalPermissionMode, PermissionMode |
| components/permissions/ComputerUseApproval/ComputerUseApproval.tsx | 441 | high | ComputerUseApproval |
| utils/permissions/PermissionUpdate.ts | 390 | high | extractRules, hasRules, applyPermissionUpdate, applyPermissionUpdates |
| hooks/toolPermission/PermissionContext.ts | 389 | high | createPermissionContext, createPermissionQueueOps, createResolveOnce |
| components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx | 369 | high | SkillPermissionRequest |
| components/permissions/rules/AddWorkspaceDirectory.tsx | 340 | high | AddWorkspaceDirectory |
| components/permissions/PermissionPrompt.tsx | 336 | high | FeedbackType, PermissionPromptOption, ToolAnalyticsContext, PermissionPromptProps |
| components/permissions/FallbackPermissionRequest.tsx | 333 | high | FallbackPermissionRequest |
| hooks/useSwarmPermissionPoller.ts | 331 | high | PermissionResponseCallback, registerPermissionCallback, unregisterPermissionCallback, hasPermissionCallback |
| components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx | 328 | high | PreviewQuestionView |
| utils/permissions/permissionsLoader.ts | 297 | high | shouldAllowManagedPermissionRulesOnly, shouldShowAlwaysAllowOptions, loadAllPermissionRulesFromDisk, getPermissionRulesForSource |
| components/permissions/PermissionExplanation.tsx | 272 | high | usePermissionExplainerUI, PermissionExplainerContent |
| utils/settings/permissionValidation.ts | 263 | high | validatePermissionRule, PermissionRuleSchema |
| components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx | 258 | high | WebFetchPermissionRequest |
| utils/permissions/permissionExplainer.ts | 251 | high | RiskLevel, PermissionExplanation, isPermissionExplainerEnabled, generatePermissionExplanation |
| services/mcp/channelPermissions.ts | 241 | high | isChannelPermissionRelayEnabled, ChannelPermissionResponse, ChannelPermissionCallbacks, PERMISSION_REPLY_RE |
| hooks/toolPermission/permissionLogging.ts | 239 | high | isCodeEditingTool, buildCodeEditToolAttributes, logPermissionDecision |
| components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx | 235 | high | NotebookEditToolDiff |
| components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx | 235 | high | PowerShellPermissionRequest |
| utils/permissions/shadowedRuleDetection.ts | 235 | high | ShadowType, UnreachableRule, DetectUnreachableRulesOptions, isSharedSettingSource |
| components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx | 230 | high | SedEditPermissionRequest |
| components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx | 229 | high | PreviewBox |
| utils/permissions/shellRuleMatching.ts | 229 | high | ShellPermissionRule, permissionRuleExtractPrefix, hasWildcards, matchWildcardPattern |
| components/permissions/PermissionRequest.tsx | 217 | high | PermissionRequestProps, ToolUseConfirm, PermissionRequest |
| components/permissions/FilePermissionDialog/useFilePermissionDialog.ts | 213 | high | ToolInput, UseFilePermissionDialogProps, UseFilePermissionDialogResult, useFilePermissionDialog |
| components/permissions/hooks.ts | 210 | high | UnaryEvent, usePermissionRequestLogging |
| components/permissions/rules/RecentDenialsTab.tsx | 207 | high | RecentDenialsTab |
| components/permissions/FilePermissionDialog/FilePermissionDialog.tsx | 204 | high | FilePermissionDialogProps, FilePermissionDialog |
| utils/permissions/permissionRuleParser.ts | 199 | high | normalizeLegacyToolName, getLegacyToolNames, escapeRuleContent, unescapeRuleContent |
| components/permissions/FilePermissionDialog/usePermissionHandler.ts | 186 | high | PermissionHandlerParams, PermissionHandlerOptions, PERMISSION_HANDLERS |
| components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx | 182 | high | FileEditPermissionRequest |
| components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts | 180 | high | AnswerValue, QuestionState, MultipleChoiceState, useMultipleChoiceState |
| components/permissions/rules/AddPermissionRules.tsx | 180 | high | optionForPermissionSaveDestination, AddPermissionRules |
| components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx | 178 | high | QuestionNavigationBar |
| components/permissions/FilePermissionDialog/permissionOptions.tsx | 177 | high | isInClaudeFolder, isInGlobalClaudeFolder, PermissionOption, PermissionOptionWithLabel |
| components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx | 166 | high | NotebookEditPermissionRequest |
| components/permissions/shellPermissionHelpers.tsx | 164 | high | generateShellSuggestionsLabel |
| components/permissions/SandboxPermissionRequest.tsx | 163 | high | SandboxPermissionRequestProps, SandboxPermissionRequest |
| components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx | 161 | high | FileWritePermissionRequest |
| hooks/toolPermission/handlers/swarmWorkerHandler.ts | 160 | high | handleSwarmWorkerPermission |
| utils/permissions/bypassPermissionsKillswitch.ts | 156 | high | checkAndDisableBypassPermissionsIfNeeded, resetBypassPermissionsCheck, useKickOffCheckAndDisableBypassPermissionsIfNeeded, checkAndDisableAutoModeIfNeeded |
| components/permissions/rules/WorkspaceTab.tsx | 150 | high | WorkspaceTab |
| components/permissions/useShellPermissionFeedback.ts | 149 | high | useShellPermissionFeedback |
| components/permissions/BashPermissionRequest/bashToolUseOptions.tsx | 147 | high | BashToolUseOption, bashToolUseOptions |
| components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx | 144 | high | SubmitQuestionsView |
| utils/permissions/PermissionMode.ts | 142 | high | permissionModeSchema, externalPermissionModeSchema, isExternalPermissionMode, toExternalPermissionMode |
| components/permissions/rules/PermissionRuleInput.tsx | 138 | high | PermissionRuleInputProps, PermissionRuleInput |
| utils/permissions/PermissionPromptToolResultSchema.ts | 128 | high | inputSchema, Input, outputSchema, Output |
| components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx | 122 | high | EnterPlanModePermissionRequest |
| components/permissions/PermissionRuleExplanation.tsx | 121 | high | PermissionRuleExplanationProps, PermissionRuleExplanation |
| components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx | 115 | high | FilesystemPermissionRequest |
| components/permissions/rules/RemoveWorkspaceDirectory.tsx | 110 | high | RemoveWorkspaceDirectory |
| components/permissions/WorkerPendingPermission.tsx | 105 | high | WorkerPendingPermission |
| utils/permissions/getNextPermissionMode.ts | 102 | high | getNextPermissionMode, cyclePermissionMode |
| utils/permissions/classifierDecision.ts | 99 | high | isAutoModeAllowlistedTool |
| components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx | 91 | high | PowerShellToolUseOption, powershellToolUseOptions |
| components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx | 89 | high | FileWriteToolDiff |
| components/BypassPermissionsModeDialog.tsx | 87 | high | BypassPermissionsModeDialog |
| utils/permissions/dangerousPatterns.ts | 81 | high | CROSS_PLATFORM_CODE_EXEC, DANGEROUS_BASH_PATTERNS |
| remote/remotePermissionBridge.ts | 79 | high | createSyntheticAssistantMessage, createToolStub |
| utils/permissions/PermissionUpdateSchema.ts | 79 | high | permissionUpdateDestinationSchema, permissionUpdateSchema |
| components/permissions/rules/PermissionRuleDescription.tsx | 76 | high | PermissionRuleDescription |
| tools/testing/TestingPermissionTool.tsx | 74 | high | TestingPermissionTool |
| components/permissions/PermissionDialog.tsx | 72 | high | PermissionDialog |
| components/permissions/PermissionRequestTitle.tsx | 66 | high | PermissionRequestTitle |
| hooks/toolPermission/handlers/coordinatorHandler.ts | 66 | high | handleCoordinatorPermission |
| utils/permissions/bashClassifier.ts | 62 | high | PROMPT_PREFIX, ClassifierResult, ClassifierBehavior, extractPromptDescription |
| utils/swarm/leaderPermissionBridge.ts | 55 | high | SetToolUseConfirmQueueFn, SetToolPermissionContextFn, registerLeaderToolUseConfirmQueue, getLeaderToolUseConfirmQueue |
| components/permissions/WorkerBadge.tsx | 49 | high | WorkerBadgeProps, WorkerBadge |
| utils/permissions/denialTracking.ts | 46 | high | DenialTrackingState, DENIAL_LIMITS, createDenialTrackingState, recordDenial |
| bridge/bridgePermissionCallbacks.ts | 44 | high | isBridgePermissionResponse |
| components/permissions/FilePermissionDialog/ideDiffConfig.ts | 43 | high | FileEdit, IDEDiffConfig, IDEDiffChangeInput, IDEDiffSupport |
| migrations/migrateBypassPermissionsAcceptedToSettings.ts | 41 | high | migrateBypassPermissionsAcceptedToSettings |
| utils/permissions/PermissionRule.ts | 41 | high | permissionBehaviorSchema, permissionRuleValueSchema |
| utils/permissions/autoModeState.ts | 40 | high | setAutoModeActive, isAutoModeActive, setAutoModeFlagCli, getAutoModeFlagCli |
| utils/permissions/classifierShared.ts | 40 | high | extractToolUseBlock, parseClassifierResponse |
| utils/permissions/PermissionResult.ts | 36 | high | getRuleBehaviorDescription |
| components/permissions/utils.ts | 26 | high | logUnaryPermissionEvent |
| commands/permissions/index.ts | 12 | high | — |
| commands/permissions/permissions.tsx | 10 | high | call |