Architecture

Shell safety

Shell execution, dangerous command checks, sandboxing, and safety policy edges.

153
Matched files
12
Top dirs
49,157
Lines in slice
633
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

FileLinesImportanceExports
tools/BashTool/bashPermissions.ts2622highMAX_SUBCOMMANDS_FOR_SECURITY_CHECK, MAX_SUGGESTED_RULES_FOR_COMPOUND, getSimpleCommandPrefix, getFirstWordPrefix
tools/PowerShellTool/pathValidation.ts2050highisDangerousRemovalRawPath, dangerousRemovalDeny, checkPathConstraints
utils/shell/readOnlyCommandValidation.ts1894highFlagArgType, ExternalCommandConfig, GIT_READ_ONLY_COMMANDS, GH_READ_ONLY_COMMANDS
tools/PowerShellTool/readOnlyValidation.ts1824highargLeaksValue, CMDLET_ALLOWLIST, resolveToCanonical, isCwdChangingCmdlet
utils/powershell/parser.ts1805highCommandElementChild, ParsedCommandElement, ParsedPowerShellCommand, RawCommandElement
utils/permissions/filesystem.ts1778highDANGEROUS_FILES, DANGEROUS_DIRECTORIES, normalizeCaseForComparison, getClaudeSkillScope
tools/PowerShellTool/powershellPermissions.ts1649highpowershellPermissionRule, powershellToolCheckExactMatchPermission, powershellToolCheckPermission, powershellToolHasPermission
utils/permissions/permissionSetup.ts1533highisDangerousBashPermission, isDangerousPowerShellPermission, isDangerousTaskPermission, DangerousPermissionInfo
utils/permissions/yoloClassifier.ts1496highAutoModeRules, getDefaultExternalAutoModeRules, buildDefaultExternalSystemPrompt, getAutoModeClassifierErrorDumpPath
utils/permissions/permissions.ts1487highpermissionRuleSourceDisplayString, getAllowRules, createPermissionRequestMessage, getDenyRules
components/permissions/rules/PermissionRuleList.tsx1179highPermissionRuleList
tools/PowerShellTool/powershellSecurity.ts1091highpowershellCommandIsSafe
tools/PowerShellTool/PowerShellTool.tsx1001highdetectBlockedSleepPattern, PowerShellToolInput, Out, PowerShellTool
utils/sandbox/sandbox-adapter.ts986highresolvePathPatternForSandbox, resolveSandboxFilesystemPath, shouldAllowManagedSandboxDomainsOnly, convertToSandboxRuntimeConfig
utils/swarm/permissionSync.ts929highSwarmPermissionRequestSchema, SwarmPermissionRequest, PermissionResolution, getPermissionDir
components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx768highbuildPermissionUpdates, autoNameSessionFromPlan, ExitPlanModePermissionRequest, buildPlanApprovalOptions
components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx645highAskUserQuestionPermissionRequest
utils/bash/ShellSnapshot.ts583highcreateRipgrepShellIntegration, createFindGrepShellIntegration, createAndSaveSnapshot
hooks/toolPermission/handlers/interactiveHandler.ts537highhandleInteractivePermission
tasks/LocalShellTask/LocalShellTask.tsx523highBACKGROUND_BASH_SUMMARY_PREFIX, looksLikePrompt, LocalShellTask, spawnShellTask
utils/permissions/pathValidation.ts486highFileOperationType, PathCheckResult, ResolvedPathCheckResult, formatDirectoryList
components/permissions/BashPermissionRequest/BashPermissionRequest.tsx482highBashPermissionRequest
utils/Shell.ts475highShellConfig, findSuitableShell, getShellConfig, getPsProvider
utils/ShellCommand.ts466highExecResult, ShellCommand, wrapSpawn, createAbortedCommand
components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx465highQuestionView
components/permissions/PermissionDecisionDebugInfo.tsx460highPermissionDecisionDebugInfo
types/permissions.ts442highEXTERNAL_PERMISSION_MODES, ExternalPermissionMode, InternalPermissionMode, PermissionMode
components/permissions/ComputerUseApproval/ComputerUseApproval.tsx441highComputerUseApproval
tools/PowerShellTool/modeValidation.ts405highisSymlinkCreatingCommand, checkPermissionMode
components/tasks/ShellDetailDialog.tsx404highShellDetailDialog
utils/permissions/PermissionUpdate.ts390highextractRules, hasRules, applyPermissionUpdate, applyPermissionUpdates
hooks/toolPermission/PermissionContext.ts389highcreatePermissionContext, createPermissionQueueOps, createResolveOnce
components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx369highSkillPermissionRequest
utils/shell/prefix.ts368highCommandPrefixResult, CommandSubcommandPrefixResult, PrefixExtractorConfig, createCommandPrefixExtractor
components/permissions/rules/AddWorkspaceDirectory.tsx340highAddWorkspaceDirectory
components/permissions/PermissionPrompt.tsx336highFeedbackType, PermissionPromptOption, ToolAnalyticsContext, PermissionPromptProps
components/permissions/FallbackPermissionRequest.tsx333highFallbackPermissionRequest
hooks/useSwarmPermissionPoller.ts331highPermissionResponseCallback, registerPermissionCallback, unregisterPermissionCallback, hasPermissionCallback
components/permissions/AskUserQuestionPermissionRequest/PreviewQuestionView.tsx328highPreviewQuestionView
utils/powershell/staticPrefix.ts317highgetCommandPrefixStatic, getCompoundCommandPrefixesStatic
utils/bash/shellQuote.ts305highShellParseResult, ShellQuoteResult, tryParseShellCommand, tryQuoteShellArgs
utils/permissions/permissionsLoader.ts297highshouldAllowManagedPermissionRulesOnly, shouldShowAlwaysAllowOptions, loadAllPermissionRulesFromDisk, getPermissionRulesForSource
components/sandbox/SandboxSettings.tsx296highSandboxSettings
components/permissions/PermissionExplanation.tsx272highusePermissionExplainerUI, PermissionExplainerContent
utils/settings/permissionValidation.ts263highvalidatePermissionRule, PermissionRuleSchema
components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx258highWebFetchPermissionRequest
utils/permissions/permissionExplainer.ts251highRiskLevel, PermissionExplanation, isPermissionExplainerEnabled, generatePermissionExplanation
services/mcp/channelPermissions.ts241highisChannelPermissionRelayEnabled, ChannelPermissionResponse, ChannelPermissionCallbacks, PERMISSION_REPLY_RE
hooks/toolPermission/permissionLogging.ts239highisCodeEditingTool, buildCodeEditToolAttributes, logPermissionDecision
components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx235highNotebookEditToolDiff
components/permissions/PowerShellPermissionRequest/PowerShellPermissionRequest.tsx235highPowerShellPermissionRequest
utils/permissions/shadowedRuleDetection.ts235highShadowType, UnreachableRule, DetectUnreachableRulesOptions, isSharedSettingSource
components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx230highSedEditPermissionRequest
components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx229highPreviewBox
utils/permissions/shellRuleMatching.ts229highShellPermissionRule, permissionRuleExtractPrefix, hasWildcards, matchWildcardPattern
components/permissions/PermissionRequest.tsx217highPermissionRequestProps, ToolUseConfirm, PermissionRequest
components/permissions/FilePermissionDialog/useFilePermissionDialog.ts213highToolInput, UseFilePermissionDialogProps, UseFilePermissionDialogResult, useFilePermissionDialog
tools/PowerShellTool/clmTypes.ts212highCLM_ALLOWED_TYPES, normalizeTypeName, isClmAllowedType
components/permissions/hooks.ts210highUnaryEvent, usePermissionRequestLogging
components/permissions/rules/RecentDenialsTab.tsx207highRecentDenialsTab
components/permissions/FilePermissionDialog/FilePermissionDialog.tsx204highFilePermissionDialogProps, FilePermissionDialog
utils/permissions/permissionRuleParser.ts199highnormalizeLegacyToolName, getLegacyToolNames, escapeRuleContent, unescapeRuleContent
components/sandbox/SandboxOverridesTab.tsx193highSandboxOverridesTab
components/permissions/FilePermissionDialog/usePermissionHandler.ts186highPermissionHandlerParams, PermissionHandlerOptions, PERMISSION_HANDLERS
utils/powershell/dangerousCmdlets.ts186highFILEPATH_EXECUTION_CMDLETS, DANGEROUS_SCRIPT_BLOCK_CMDLETS, MODULE_LOADING_CMDLETS, NETWORK_CMDLETS
components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx182highFileEditPermissionRequest
components/permissions/AskUserQuestionPermissionRequest/use-multiple-choice-state.ts180highAnswerValue, QuestionState, MultipleChoiceState, useMultipleChoiceState
components/permissions/rules/AddPermissionRules.tsx180highoptionForPermissionSaveDestination, AddPermissionRules
components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx178highQuestionNavigationBar
components/permissions/FilePermissionDialog/permissionOptions.tsx177highisInClaudeFolder, isInGlobalClaudeFolder, PermissionOption, PermissionOptionWithLabel
tools/PowerShellTool/gitSafety.ts177highisGitInternalPathPS, isDotGitPathPS
utils/shellConfig.ts168highCLAUDE_ALIAS_REGEX, getShellConfigPaths, filterClaudeAliases, readFileLines
components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx166highNotebookEditPermissionRequest
components/permissions/shellPermissionHelpers.tsx164highgenerateShellSuggestionsLabel
components/permissions/SandboxPermissionRequest.tsx163highSandboxPermissionRequestProps, SandboxPermissionRequest
components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx161highFileWritePermissionRequest
hooks/toolPermission/handlers/swarmWorkerHandler.ts160highhandleSwarmWorkerPermission
entrypoints/sandboxTypes.ts157highSandboxNetworkConfigSchema, SandboxFilesystemConfigSchema, SandboxSettingsSchema, SandboxSettings
utils/permissions/bypassPermissionsKillswitch.ts156highcheckAndDisableBypassPermissionsIfNeeded, resetBypassPermissionsCheck, useKickOffCheckAndDisableBypassPermissionsIfNeeded, checkAndDisableAutoModeIfNeeded
tools/BashTool/shouldUseSandbox.ts154highshouldUseSandbox
components/permissions/rules/WorkspaceTab.tsx150highWorkspaceTab
components/shell/ShellProgressMessage.tsx150highShellProgressMessage
components/permissions/useShellPermissionFeedback.ts149highuseShellPermissionFeedback
components/permissions/BashPermissionRequest/bashToolUseOptions.tsx147highBashToolUseOption, bashToolUseOptions
tools/PowerShellTool/prompt.ts146highgetDefaultTimeoutMs, getMaxTimeoutMs, getPrompt
components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx144highSubmitQuestionsView
tools/PowerShellTool/commandSemantics.ts143highCommandSemantic, interpretCommandResult
utils/permissions/PermissionMode.ts142highpermissionModeSchema, externalPermissionModeSchema, isExternalPermissionMode, toExternalPermissionMode
components/permissions/rules/PermissionRuleInput.tsx138highPermissionRuleInputProps, PermissionRuleInput
tools/PowerShellTool/UI.tsx131highrenderToolUseMessage, renderToolUseProgressMessage, renderToolUseQueuedMessage, renderToolResultMessage
utils/permissions/PermissionPromptToolResultSchema.ts128highinputSchema, Input, outputSchema, Output
components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx122highEnterPlanModePermissionRequest
components/permissions/PermissionRuleExplanation.tsx121highPermissionRuleExplanationProps, PermissionRuleExplanation
components/sandbox/SandboxDependenciesTab.tsx120highSandboxDependenciesTab
utils/suggestions/shellHistoryCompletion.ts120highShellHistoryMatch, clearShellHistoryCache, prependToShellHistoryCache, getShellHistoryCompletion
components/shell/OutputLine.tsx118hightryFormatJson, tryJsonFormatContent, linkifyUrlsInText, OutputLine
components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx115highFilesystemPermissionRequest
components/permissions/rules/RemoveWorkspaceDirectory.tsx110highRemoveWorkspaceDirectory
tools/PowerShellTool/destructiveCommandWarning.ts110highgetDestructiveCommandWarning
utils/shell/powershellDetection.ts108highfindPowerShell, getCachedPowerShellPath, PowerShellEdition, getPowerShellEdition
components/permissions/WorkerPendingPermission.tsx105highWorkerPendingPermission
utils/permissions/getNextPermissionMode.ts102highgetNextPermissionMode, cyclePermissionMode
components/SandboxViolationExpandedView.tsx99highSandboxViolationExpandedView
utils/permissions/classifierDecision.ts99highisAutoModeAllowlistedTool
components/permissions/PowerShellPermissionRequest/powershellToolUseOptions.tsx91highPowerShellToolUseOption, powershellToolUseOptions
components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx89highFileWriteToolDiff
components/BypassPermissionsModeDialog.tsx87highBypassPermissionsModeDialog
components/tasks/ShellProgress.tsx87highTaskStatusText, ShellProgress
commands/sandbox-toggle/sandbox-toggle.tsx83highcall
utils/permissions/dangerousPatterns.ts81highCROSS_PLATFORM_CODE_EXEC, DANGEROUS_BASH_PATTERNS
remote/remotePermissionBridge.ts79highcreateSyntheticAssistantMessage, createToolStub
utils/permissions/PermissionUpdateSchema.ts79highpermissionUpdateDestinationSchema, permissionUpdateSchema
tasks/LocalShellTask/killShellTasks.ts77highkillTask, killShellTasksForAgent
components/permissions/rules/PermissionRuleDescription.tsx76highPermissionRuleDescription
components/shell/ShellTimeDisplay.tsx74highShellTimeDisplay
tools/testing/TestingPermissionTool.tsx74highTestingPermissionTool
components/permissions/PermissionDialog.tsx72highPermissionDialog
components/permissions/PermissionRequestTitle.tsx66highPermissionRequestTitle
hooks/toolPermission/handlers/coordinatorHandler.ts66highhandleCoordinatorPermission
components/PromptInput/SandboxPromptFooterHint.tsx64highSandboxPromptFooterHint
utils/permissions/bashClassifier.ts62highPROMPT_PREFIX, ClassifierResult, ClassifierBehavior, extractPromptDescription
utils/swarm/leaderPermissionBridge.ts55highSetToolUseConfirmQueueFn, SetToolPermissionContextFn, registerLeaderToolUseConfirmQueue, getLeaderToolUseConfirmQueue
commands/sandbox-toggle/index.ts51high
components/permissions/WorkerBadge.tsx49highWorkerBadgeProps, WorkerBadge
components/sandbox/SandboxDoctorSection.tsx46highSandboxDoctorSection
utils/permissions/denialTracking.ts46highDenialTrackingState, DENIAL_LIMITS, createDenialTrackingState, recordDenial
components/sandbox/SandboxConfigTab.tsx45highSandboxConfigTab
bridge/bridgePermissionCallbacks.ts44highisBridgePermissionResponse
components/permissions/FilePermissionDialog/ideDiffConfig.ts43highFileEdit, IDEDiffConfig, IDEDiffChangeInput, IDEDiffSupport
tasks/LocalShellTask/guards.ts42highBashTaskKind, LocalShellTaskState, isLocalShellTask
migrations/migrateBypassPermissionsAcceptedToSettings.ts41highmigrateBypassPermissionsAcceptedToSettings
utils/permissions/PermissionRule.ts41highpermissionBehaviorSchema, permissionRuleValueSchema
utils/permissions/autoModeState.ts40highsetAutoModeActive, isAutoModeActive, setAutoModeFlagCli, getAutoModeFlagCli
utils/permissions/classifierShared.ts40highextractToolUseBlock, parseClassifierResponse
components/shell/ExpandShellOutputContext.tsx36highExpandShellOutputProvider, useExpandShellOutput
utils/permissions/PermissionResult.ts36highgetRuleBehaviorDescription
tools/PowerShellTool/commonParameters.ts31highCOMMON_SWITCHES, COMMON_VALUE_PARAMS, COMMON_PARAMETERS
components/permissions/utils.ts26highlogUnaryPermissionEvent
utils/shell/shellToolUtils.ts23highSHELL_TOOL_NAMES, isPowerShellToolEnabled
commands/permissions/index.ts12high
commands/permissions/permissions.tsx10highcall
tools/PowerShellTool/toolName.ts3highPOWERSHELL_TOOL_NAME
utils/bash/shellCompletion.ts260mediumShellCompletionType, getShellCompletions
utils/shell/bashProvider.ts256mediumcreateBashShellProvider
utils/shell/specPrefix.ts242mediumDEPTH_RULES, buildPrefix
utils/promptShellExecution.ts184mediumexecuteShellCommandsInPrompt
utils/bash/shellQuoting.ts129mediumquoteShellCommand, hasStdinRedirect, shouldAddStdinRedirect, rewriteWindowsNullRedirect
utils/shell/powershellProvider.ts124mediumbuildPowerShellArgs, createPowerShellProvider
utils/shell/shellProvider.ts34mediumSHELL_TYPES, ShellType, DEFAULT_HOOK_SHELL, ShellProvider
utils/bash/shellPrefix.ts29mediumformatShellPrefixCommand
utils/shell/outputLimits.ts15mediumBASH_MAX_OUTPUT_UPPER_LIMIT, BASH_MAX_OUTPUT_DEFAULT, getMaxOutputLength
utils/shell/resolveDefaultShell.ts15mediumresolveDefaultShell
utils/sandbox/sandbox-ui-utils.ts13mediumremoveSandboxViolationTags