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 PathCore Class/FunctionDescription
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

Tool System

File PathCore Class/FunctionDescription
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

Specific Tool Implementations

File PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
src/services/compact/compact.tscompact()Manual compaction, summary generation
src/services/compact/autoCompact.tsautoCompact()Auto compaction, threshold triggered
src/services/compact/prompt.tsCompression prompt templateDefines compression behavior and summary format

Microcompaction

File PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
src/constants/prompts.tsgetSystemPrompt()System prompt assembly
src/constants/prompts.tsgetSimpleDoingTasksSection()Minimalist instruction group
src/constants/prompts.tsgetGitSafetyProtocol()Git safety protocol

Dynamic Boundary

File PathCore Class/FunctionDescription
src/services/prompt/dynamicBoundary.tsSYSTEM_PROMPT_DYNAMIC_BOUNDARYDynamic boundary marker
src/services/prompt/promptBuilder.tsbuildPrompt()Prompt builder

Cache System

Cache Break Detection

File PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
src/agents/coordinator.tsCoordinatorAgent classCoordinator Agent
src/agents/coordinatorPrompt.tsCoordinator prompt“Never delegate understanding”
src/agents/worker.tsWorkerAgent classWorker Agent

Agent Lifecycle

File PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
src/memory/memdir.tsMemdir classMemory directory management
src/memory/memdir.tsMEMORY_FILENAMEMEMORY.md index file

Auto Extraction

File PathCore Class/FunctionDescription
src/memory/extractMemories.tsextractMemories()Automatic memory extraction
src/memory/extractAgent.tsExtractAgentExtraction-specific Agent

Auto-Dream

File PathCore Class/FunctionDescription
src/memory/autoDream.tsautoDream()Automatic overnight consolidation
src/memory/consolidator.tsConsolidatorAgentConsolidator Agent
src/memory/lock.tsacquireConsolidateLock()PID lock mechanism

Session Memory

File PathCore Class/FunctionDescription
src/memory/sessionMemory.tsSessionMemory classSession summary management
src/memory/sessionMemory.tssummarizeSession()Session summary generation

Hooks System

Hooks Core

File PathCore Class/FunctionDescription
src/hooks/registry.tsHookRegistryHook registry
src/hooks/dispatcher.tsdispatchHook()Hook dispatcher
src/hooks/types.tsHookType enumHook type definitions

Specific Hook Implementations

File PathEvent NameTrigger 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 PathCore Class/FunctionDescription
src/skills/registry.tsSkillRegistrySkills registry
src/skills/loader.tsloadSkill()Skills loader
src/skills/types.tsSkill interfaceSkill type definitions

Skills Storage

File PathCore Class/FunctionDescription
src/skills/storage.tsgetSkillStoragePath()Get skill storage path
src/skills/storage.tsloadSkillManifest()Load skill manifest

Feature Flags

Flag Definitions

File PathCore Class/FunctionDescription
src/featureFlags/flags.tsfeature() functionBuild-time Flag check
src/featureFlags/flags.tsKAIROSKAIROS mode Flag
src/featureFlags/flags.tsTRANSCRIPT_CLASSIFIERClassifier Flag

Remote Configuration

File PathCore Class/FunctionDescription
src/featureFlags/remote.tsgetRemoteFlag()Get remote Flag value
src/featureFlags/growthbook.tsGrowthBookClientGrowthBook client

Configuration and Settings

Configuration Files

File PathPurposeDescription
CLAUDE.mdProject-level configCoding standards, architecture constraints
.claude/settings.jsonUser settingsPersonal preferences, feature toggles
.claude/settings.local.jsonLocal settingsMachine-specific configuration

Settings Management

File PathCore Class/FunctionDescription
src/settings/loader.tsloadSettings()Settings loader
src/settings/validator.tsvalidateSettings()Settings validator
src/settings/types.tsSettings interfaceSettings type definitions

Utility Modules

Git Operations

File PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 PathCore Class/FunctionDescription
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 workssrc/core/agent.ts, src/core/loop.ts
How tools are definedsrc/tools/base.ts, tool files
How context is compressedsrc/services/compact/ directory
How token budget is calculatedsrc/constants/toolLimits.ts
How system prompts are assembledsrc/constants/prompts.ts
How cache is optimizedsrc/services/cache/ directory
How permissions are judgedsrc/utils/permissions/ directory
How YOLO classifier workssrc/services/classifier/ directory
How sub-agents are spawnedsrc/agents/subAgent.ts
How Fork mode is implementedsrc/agents/fork.ts
How memory is storedsrc/memory/memdir.ts
How auto extraction workssrc/memory/extractMemories.ts
How Auto-Dream is triggeredsrc/memory/autoDream.ts
How Hooks are usedsrc/hooks/ directory
How skills are loadedsrc/skills/ directory
How Feature Flags are definedsrc/featureFlags/flags.ts
How settings are readsrc/settings/loader.ts

Lookup by Problem

You have this problem…Check these files
Why read before editsrc/tools/FileEditTool.ts
Why Git operations have safety limitssrc/tools/BashTool.ts prompts
How to restore files after compactionsrc/services/compact/compact.ts
Why token estimation is conservativesrc/utils/tokenEstimator.ts
Why cache breakssrc/services/api/promptCacheBreakDetection.ts
Why classifier deniessrc/services/classifier/yoloClassifier.ts
Why coordinator doesn’t codesrc/agents/coordinatorPrompt.ts
Why memory doesn’t worksrc/memory/memdir.ts, src/memory/extractMemories.ts
Why Hooks don’t triggersrc/hooks/dispatcher.ts

Usage Suggestions

  1. First look at interface definitions: types.ts files to understand data structures and contracts
  2. Then look at main flow: Core class entry methods, grasp overall logic
  3. Finally look at details: Specific implementations, edge cases, error handling

Debugging Tips

  • Environment variables: CLAUDE_CODE_DEBUG=1 to enable debug logging
  • Log location: ~/.claude/logs/ for detailed logs
  • API logs: CLAUDE_CODE_DUMP_AUTO_MODE=1 to export classifier input/output

Contributing Code

  • Coding standards: Refer to project standards in CLAUDE.md
  • Test requirements: Core module changes require accompanying tests
  • Documentation sync: Code changes sync related documentation updates

This 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.