After 28 chapters of in-depth analysis, you should have a comprehensive understanding of Claude Code’s architecture. But if you want to look at a specific feature’s implementation in the source code, where should you go?
This index handbook organizes Claude Code’s core source files by functional module, helping you quickly locate what you want to see.
Core Architecture Modules# Agent Loop Core# File Path Core Class/Function Description src/core/agent.tsAgent classAgent Loop main loop, query-response-handling flow src/core/loop.tsrunLoop()Message loop executor, processes user input and tool results src/core/query.tsprocessQuery()Single query processing, tool calls and response generation
File Path Core Class/Function Description src/tools/base.tsBaseTool abstract classBase class for all tools, defines common interface src/tools/registry.tsToolRegistryTool registry, manages available tool list src/tools/loader.tsloadTools()Dynamic tool module loading
File Path Core Class/Function Description src/tools/FileReadTool.tsFileReadToolFile reading, supports offset/limit pagination src/tools/FileEditTool.tsFileEditToolFile editing, enforces read before edit src/tools/BashTool.tsBashToolBash command execution, includes Git safety protocol src/tools/GrepTool.tsGrepToolCode search, based on ripgrep src/tools/AgentTool.tsAgentToolSpawn sub-agents, supports fork mode src/tools/SkillTool.tsSkillToolSkill system, budget constraint management
Context Management# Auto Compaction# File Path Core Class/Function Description src/services/compact/compact.tscompact()Manual compaction, summary generation src/services/compact/autoCompact.tsautoCompact()Auto compaction, threshold triggered src/services/compact/prompt.tsCompression prompt template Defines compression behavior and summary format
Microcompaction# File Path Core Class/Function Description src/services/compact/microcompact.tsmicrocompact()Microcompaction implementation, three-mechanism coordination src/services/compact/timeCleaner.tstimeCleaner()Timestamp cleaner src/services/compact/cacheCleaner.tscacheCleaner()Cache-aware cleaner
Token Budget# File Path Core Class/Function Description src/constants/toolLimits.tsDEFAULT_MAX_RESULT_SIZE_CHARSTool result size limit (50K) src/constants/toolLimits.tsMAX_TOOL_RESULTS_PER_MESSAGE_CHARSSingle message tool result limit (200K) src/utils/tokenEstimator.tsestimateTokens()Token estimator, conservative strategy
Prompt Engineering# System Prompts# File Path Core Class/Function Description src/constants/prompts.tsgetSystemPrompt()System prompt assembly src/constants/prompts.tsgetSimpleDoingTasksSection()Minimalist instruction group src/constants/prompts.tsgetGitSafetyProtocol()Git safety protocol
Dynamic Boundary# File Path Core Class/Function Description src/services/prompt/dynamicBoundary.tsSYSTEM_PROMPT_DYNAMIC_BOUNDARYDynamic boundary marker src/services/prompt/promptBuilder.tsbuildPrompt()Prompt builder
Cache System# Cache Break Detection# File Path Core Class/Function Description src/services/api/promptCacheBreakDetection.tsrecordPromptState()Record prompt state src/services/api/promptCacheBreakDetection.tscheckResponseForCacheBreak()Detect cache breaks src/services/api/promptCacheBreakDetection.tsperToolHashesPer-tool independent hashes
Cache Optimization# File Path Core Class/Function Description src/services/cache/dateMemoization.tsgetMemoizedDate()Date memoization, avoid midnight cache breaks src/services/cache/schemaCache.tsschemaCacheTool Schema cache src/services/cache/betaHeaderLatch.tsafkModeHeaderLatchedBeta Header latch
Permissions and Security# Permission System# File Path Core Class/Function Description src/utils/permissions/types.tsPermissionMode enumPermission mode type definitions src/utils/permissions/modeResolver.tsresolvePermissionMode()Permission mode resolution src/utils/permissions/denialTracking.tsDENIAL_LIMITSDenial tracking thresholds (3/20) src/utils/permissions/denialTracking.tsshouldFallbackToPrompting()Fallback determination
YOLO Classifier# File Path Core Class/Function Description src/services/classifier/yoloClassifier.tsYOLOClassifier classYOLO classifier main class src/services/classifier/stage1Fast.tsstage1Fast()Stage 1 fast filtering src/services/classifier/stage2Deep.tsstage2Deep()Stage 2 deep reasoning src/services/classifier/whitelist.tsisWhitelisted()Whitelist check
Agent System# Sub-Agents# File Path Core Class/Function Description src/agents/base.tsBaseAgent classAgent base class src/agents/subAgent.tsSubAgent classStandard sub-agent implementation src/agents/fork.tsforkAgent()Fork mode, inherits context
Coordinator Mode# File Path Core Class/Function Description src/agents/coordinator.tsCoordinatorAgent classCoordinator Agent src/agents/coordinatorPrompt.tsCoordinator prompt “Never delegate understanding” src/agents/worker.tsWorkerAgent classWorker Agent
Agent Lifecycle# File Path Core Class/Function Description src/agents/lifecycle.tsregisterAsyncAgent()Register background Agent src/agents/lifecycle.tscompleteAsyncAgent()Mark Agent complete src/agents/lifecycle.tsenqueueAgentNotification()Result notification injection
Memory System# Memdir Core# File Path Core Class/Function Description src/memory/memdir.tsMemdir classMemory directory management src/memory/memdir.tsMEMORY_FILENAMEMEMORY.md index file
File Path Core Class/Function Description src/memory/extractMemories.tsextractMemories()Automatic memory extraction src/memory/extractAgent.tsExtractAgentExtraction-specific Agent
Auto-Dream# File Path Core Class/Function Description src/memory/autoDream.tsautoDream()Automatic overnight consolidation src/memory/consolidator.tsConsolidatorAgentConsolidator Agent src/memory/lock.tsacquireConsolidateLock()PID lock mechanism
Session Memory# File Path Core Class/Function Description src/memory/sessionMemory.tsSessionMemory classSession summary management src/memory/sessionMemory.tssummarizeSession()Session summary generation
Hooks System# Hooks Core# File Path Core Class/Function Description src/hooks/registry.tsHookRegistryHook registry src/hooks/dispatcher.tsdispatchHook()Hook dispatcher src/hooks/types.tsHookType enumHook type definitions
Specific Hook Implementations# File Path Event Name Trigger Timing src/hooks/commandHooks.tsbefore:commandBefore command execution src/hooks/commandHooks.tsafter:commandAfter command execution src/hooks/agentHooks.tsbefore:agentBefore Agent call src/hooks/agentHooks.tsafter:agentAfter Agent call src/hooks/httpHooks.tsbefore:httpBefore HTTP request src/hooks/httpHooks.tsafter:httpAfter HTTP response
Skills System# Skills Core# File Path Core Class/Function Description src/skills/registry.tsSkillRegistrySkills registry src/skills/loader.tsloadSkill()Skills loader src/skills/types.tsSkill interfaceSkill type definitions
Skills Storage# File Path Core Class/Function Description src/skills/storage.tsgetSkillStoragePath()Get skill storage path src/skills/storage.tsloadSkillManifest()Load skill manifest
Feature Flags# Flag Definitions# File Path Core Class/Function Description src/featureFlags/flags.tsfeature() functionBuild-time Flag check src/featureFlags/flags.tsKAIROSKAIROS mode Flag src/featureFlags/flags.tsTRANSCRIPT_CLASSIFIERClassifier Flag
Remote Configuration# File Path Core Class/Function Description src/featureFlags/remote.tsgetRemoteFlag()Get remote Flag value src/featureFlags/growthbook.tsGrowthBookClientGrowthBook client
Configuration and Settings# Configuration Files# File Path Purpose Description CLAUDE.mdProject-level config Coding standards, architecture constraints .claude/settings.jsonUser settings Personal preferences, feature toggles .claude/settings.local.jsonLocal settings Machine-specific configuration
Settings Management# File Path Core Class/Function Description src/settings/loader.tsloadSettings()Settings loader src/settings/validator.tsvalidateSettings()Settings validator src/settings/types.tsSettings interfaceSettings type definitions
Utility Modules# Git Operations# File Path Core Class/Function Description src/utils/git/status.tsgetGitStatus()Get Git status src/utils/git/diff.tsgetGitDiff()Get Git diff src/utils/git/worktree.tscreateWorktree()Create git worktree
File Operations# File Path Core Class/Function Description src/utils/file/reader.tsreadFile()File reading, pagination support src/utils/file/writer.tswriteFile()File writing src/utils/file/watcher.tsFileWatcherFile change listener
Network Requests# File Path Core Class/Function Description src/utils/http/client.tsHttpClientHTTP client src/utils/http/retry.tsretryRequest()Request retry logic
Quick Lookup Index# Lookup by Function# You want to understand… Start here How Agent Loop works src/core/agent.ts, src/core/loop.tsHow tools are defined src/tools/base.ts, tool filesHow context is compressed src/services/compact/ directoryHow token budget is calculated src/constants/toolLimits.tsHow system prompts are assembled src/constants/prompts.tsHow cache is optimized src/services/cache/ directoryHow permissions are judged src/utils/permissions/ directoryHow YOLO classifier works src/services/classifier/ directoryHow sub-agents are spawned src/agents/subAgent.tsHow Fork mode is implemented src/agents/fork.tsHow memory is stored src/memory/memdir.tsHow auto extraction works src/memory/extractMemories.tsHow Auto-Dream is triggered src/memory/autoDream.tsHow Hooks are used src/hooks/ directoryHow skills are loaded src/skills/ directoryHow Feature Flags are defined src/featureFlags/flags.tsHow settings are read src/settings/loader.ts
Lookup by Problem# You have this problem… Check these files Why read before edit src/tools/FileEditTool.tsWhy Git operations have safety limits src/tools/BashTool.ts promptsHow to restore files after compaction src/services/compact/compact.tsWhy token estimation is conservative src/utils/tokenEstimator.tsWhy cache breaks src/services/api/promptCacheBreakDetection.tsWhy classifier denies src/services/classifier/yoloClassifier.tsWhy coordinator doesn’t code src/agents/coordinatorPrompt.tsWhy memory doesn’t work src/memory/memdir.ts, src/memory/extractMemories.tsWhy Hooks don’t trigger src/hooks/dispatcher.ts
Usage Suggestions# Recommended Order for Reading Source Code# First look at interface definitions : types.ts files to understand data structures and contractsThen look at main flow : Core class entry methods, grasp overall logicFinally look at details : Specific implementations, edge cases, error handlingDebugging Tips# Environment variables : CLAUDE_CODE_DEBUG=1 to enable debug loggingLog location : ~/.claude/logs/ for detailed logsAPI logs : CLAUDE_CODE_DUMP_AUTO_MODE=1 to export classifier input/outputContributing Code# Coding standards : Refer to project standards in CLAUDE.mdTest requirements : Core module changes require accompanying testsDocumentation sync : Code changes sync related documentation updatesThis index handbook covers Claude Code’s main source files. As versions iterate, file paths may change, but core architecture and design philosophy remain stable. Recommend bookmarking for quick reference when needed.