File tools
Repository file reading, writing, editing, searching, and helpers.
62
Matched files
8
Top dirs
16,877
Lines in slice
311
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 |
|---|---|---|---|
| utils/permissions/filesystem.ts | 1778 | high | DANGEROUS_FILES, DANGEROUS_DIRECTORIES, normalizeCaseForComparison, getClaudeSkillScope |
| tools/FileReadTool/FileReadTool.ts | 1184 | high | registerFileReadListener, MaxFileReadTokenExceededError, Input, Output |
| utils/fileHistory.ts | 1116 | high | FileHistoryBackup, FileHistorySnapshot, FileHistoryState, DiffStats |
| hooks/fileSuggestions.ts | 812 | high | onIndexBuildComplete, clearFileSuggestionCaches, pathListSignature, getDirectoryNames |
| tools/FileEditTool/utils.ts | 776 | high | LEFT_SINGLE_CURLY_QUOTE, RIGHT_SINGLE_CURLY_QUOTE, LEFT_DOUBLE_CURLY_QUOTE, RIGHT_DOUBLE_CURLY_QUOTE |
| services/api/filesApi.ts | 749 | high | File, FilesApiConfig, DownloadResult, downloadFile |
| utils/git/gitFilesystem.ts | 700 | high | clearResolveGitDirCache, resolveGitDir, isSafeRefName, isValidGitSha |
| tools/FileEditTool/FileEditTool.ts | 626 | high | FileEditTool |
| utils/file.ts | 585 | high | File, pathExists, MAX_OUTPUT_SIZE, readFileSafe |
| components/memory/MemoryFileSelector.tsx | 438 | high | MemoryFileSelector |
| tools/FileWriteTool/FileWriteTool.ts | 435 | high | Output, FileWriteToolInput, FileWriteTool |
| tools/FileWriteTool/UI.tsx | 405 | high | countLines, userFacingName, isResultTruncated, getToolUseSummary |
| utils/readFileInRange.ts | 384 | high | ReadFileRangeResult, FileTooLargeError, readFileInRange |
| native-ts/file-index/index.ts | 371 | high | SearchResult, FileIndex, yieldToEventLoop, CHUNK_MS |
| utils/queryProfiler.ts | 302 | high | startQueryProfile, queryCheckpoint, endQueryProfile, logQueryProfileReport |
| components/diff/DiffFileList.tsx | 292 | high | DiffFileList |
| utils/memoryFileDetection.ts | 290 | high | detectSessionFileType, detectSessionPatternType, isAutoMemFile, MemoryScope |
| tools/FileEditTool/UI.tsx | 289 | high | userFacingName, getToolUseSummary, renderToolUseMessage, renderToolResultMessage |
| components/agents/agentFileUtils.ts | 273 | high | formatAgentAsMarkdown, getNewAgentFilePath, getActualAgentFilePath, getNewRelativeAgentFilePath |
| utils/sessionFileAccessHooks.ts | 251 | high | isMemoryFileAccess, registerSessionFileAccessHooks |
| components/permissions/FilePermissionDialog/useFilePermissionDialog.ts | 213 | high | ToolInput, UseFilePermissionDialogProps, UseFilePermissionDialogResult, useFilePermissionDialog |
| components/permissions/FilePermissionDialog/FilePermissionDialog.tsx | 204 | high | FilePermissionDialogProps, FilePermissionDialog |
| utils/authFileDescriptor.ts | 197 | high | CCR_OAUTH_TOKEN_PATH, CCR_API_KEY_PATH, CCR_SESSION_INGRESS_TOKEN_PATH, maybePersistTokenForSubprocesses |
| utils/startupProfiler.ts | 195 | high | profileCheckpoint, profileReport, isDetailedProfilingEnabled, getStartupPerfLogPath |
| utils/hooks/fileChangedWatcher.ts | 192 | high | setEnvHookNotifier, initializeFileChangedWatcher, updateWatchPaths, onCwdChangedForHooks |
| components/permissions/FilePermissionDialog/usePermissionHandler.ts | 186 | high | PermissionHandlerParams, PermissionHandlerOptions, PERMISSION_HANDLERS |
| tools/FileReadTool/UI.tsx | 185 | high | renderToolUseMessage, renderToolUseTag, renderToolResultMessage, renderToolUseErrorMessage |
| components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx | 182 | high | FileEditPermissionRequest |
| components/FileEditToolDiff.tsx | 181 | high | FileEditToolDiff |
| components/permissions/FilePermissionDialog/permissionOptions.tsx | 177 | high | isInClaudeFolder, isInGlobalClaudeFolder, PermissionOption, PermissionOptionWithLabel |
| components/FileEditToolUseRejectedMessage.tsx | 170 | high | FileEditToolUseRejectedMessage |
| components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx | 161 | high | FileWritePermissionRequest |
| utils/fileStateCache.ts | 143 | high | FileState, READ_FILE_STATE_CACHE_SIZE, FileStateCache, createFileStateCacheWithSizeLimit |
| components/FileEditToolUpdatedMessage.tsx | 124 | high | FileEditToolUpdatedMessage |
| components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx | 115 | high | FilesystemPermissionRequest |
| utils/fileRead.ts | 103 | high | LineEndingType, detectEncodingForResolvedPath, detectLineEndingsForString, readFileSyncWithMetadata |
| tools/FileReadTool/imageProcessor.ts | 95 | high | SharpInstance, SharpFunction, getImageProcessor, getImageCreator |
| tools/FileReadTool/limits.ts | 93 | high | DEFAULT_MAX_OUTPUT_TOKENS, FileReadingLimits, getDefaultFileReadingLimits |
| components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx | 89 | high | FileWriteToolDiff |
| tools/FileEditTool/types.ts | 86 | high | FileEditInput, EditInput, FileEdit, hunkSchema |
| utils/fileOperationAnalytics.ts | 72 | high | logFileOperation |
| services/oauth/getOauthProfile.ts | 54 | high | getOauthProfileFromApiKey, getOauthProfileFromOauthToken |
| tools/FileReadTool/prompt.ts | 50 | high | FILE_READ_TOOL_NAME, FILE_UNCHANGED_STUB, MAX_LINES_TO_READ, DESCRIPTION |
| components/FilePathLink.tsx | 43 | high | FilePathLink |
| components/permissions/FilePermissionDialog/ideDiffConfig.ts | 43 | high | FileEdit, IDEDiffConfig, IDEDiffChangeInput, IDEDiffSupport |
| tools/FileEditTool/prompt.ts | 29 | high | getEditToolDescription |
| hooks/useFileHistorySnapshotInit.ts | 26 | high | useFileHistorySnapshotInit |
| commands/files/files.ts | 20 | high | call |
| tools/FileWriteTool/prompt.ts | 19 | high | FILE_WRITE_TOOL_NAME, DESCRIPTION, getWriteToolDescription |
| commands/files/index.ts | 13 | high | — |
| tools/FileEditTool/constants.ts | 12 | high | FILE_EDIT_TOOL_NAME, CLAUDE_FOLDER_PERMISSION_PATTERN, GLOBAL_CLAUDE_FOLDER_PERMISSION_PATTERN, FILE_UNEXPECTEDLY_MODIFIED_ERROR |
| utils/filePersistence/filePersistence.ts | 288 | medium | runFilePersistence, executeFilePersistence, isFilePersistenceEnabled |
| utils/headlessProfiler.ts | 179 | medium | headlessProfilerStartTurn, headlessProfilerCheckpoint, logHeadlessProfilerTurn |
| constants/files.ts | 157 | medium | BINARY_EXTENSIONS, hasBinaryExtension, isBinaryContent |
| utils/execFileNoThrow.ts | 151 | medium | execFileNoThrow, execFileNoThrowWithCwd, execSyncWithDefaults_DEPRECATED |
| utils/generatedFiles.ts | 137 | medium | isGeneratedFile, filterGeneratedFiles |
| utils/filePersistence/outputsScanner.ts | 127 | medium | logDebug, getEnvironmentKind, findModifiedFiles |
| utils/fileReadCache.ts | 97 | medium | fileReadCache |
| utils/execFileNoThrowPortable.ts | 90 | medium | execSyncWithDefaults_DEPRECATED |
| utils/profilerBase.ts | 47 | medium | getPerformance, formatMs, formatTimelineLine |
| utils/lockfile.ts | 44 | medium | lock, lockSync, unlock, check |
| utils/tempfile.ts | 32 | medium | generateTempFilePath |