Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining c
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining c
On March 31, 2026, the full source code of Anthropic's Claude Code CLI was leaked via a
.mapfile exposed in their npm registry.
Chaofan Shou (@Fried_rice) discovered the leak and posted it publicly:
"Claude code source code has been leaked via a map file in their npm registry!"
The source map file in the published npm package contained a reference to the full, unobfuscated TypeScript source, which was downloadable as a zip archive from Anthropic's R2 storage bucket.
ANTHROPIC_API_KEY environment variable)# 1. Install Bun (if not already installed)
curl -fsSL https://bun.sh/install | bash
source ~/.bash_profile # or restart your terminal
# 2. Install dependencies
npm install --legacy-peer-deps
# 3. Run Claude Code
bun run start
# Or with arguments:
bun run start -- --help
bun run start -- --version
bun run start -- -p "Hello Claude"
bun run start
Run Claude Code CLI
bun run dev
Run with hot-reloading (--watch)
bun run build
Bundle for production
bun run typecheck
Run TypeScript type checking
ANTHROPIC_API_KEY
Your Anthropic API key (required to use Claude)
FEATURE_FLAGS
Comma-separated list of feature flags to enable (e.g., KAIROS,VOICE_MODE)
@ant/* packages, some tools). These have been replaced with stubs that export no-ops.bun:bundle feature flag system is shimmed via a Bun plugin at plugins/bunBundleDev.ts. All flags default to false unless enabled via FEATURE_FLAGS.MACRO.* build-time constants are defined in bunfig.toml and injected by Bun's --define system.Claude Code is Anthropic's official CLI tool that lets you interact with Claude directly from the terminal to perform software engineering tasks — editing files, running commands, searching codebases, managing git workflows, and more.
This repository contains the leaked src/ directory.
…
src/tools/)Every tool Claude Code can invoke is implemented as a self-contained module. Each tool defines its input schema, permission model, and execution logic.
Tool DescriptionBashTool
Shell command execution
FileReadTool
File reading (images, PDFs, notebooks)
FileWriteTool
File creation / overwrite
FileEditTool
Partial file modification (string replacement)
GlobTool
File pattern matching search
GrepTool
ripgrep-based content search
WebFetchTool
Fetch URL content
WebSearchTool
Web search
AgentTool
Sub-agent spawning
SkillTool
Skill execution
MCPTool
MCP server tool invocation
LSPTool
Language Server Protocol integration
NotebookEditTool
Jupyter notebook editing
TaskCreateTool / TaskUpdateTool
Task creation and management
SendMessageTool
Inter-agent messaging
TeamCreateTool / TeamDeleteTool
Team agent management
EnterPlanModeTool / ExitPlanModeTool
Plan mode toggle
EnterWorktreeTool / ExitWorktreeTool
Git worktree isolation
ToolSearchTool
Deferred tool discovery
CronCreateTool
Scheduled trigger creation
RemoteTriggerTool
Remote trigger
SleepTool
Proactive mode wait
SyntheticOutputTool
Structured output generation
src/commands/)User-facing slash commands invoked with / prefix.
/commit
Create a git commit
/review
Code review
/compact
Context compression
/mcp
MCP server management
/config
Settings management
/doctor
Environment diagnostics
/login / /logout
Authentication
/memory
Persistent memory management
/skills
Skill management
/tasks
Task management
/vim
Vim mode toggle
/diff
View changes
/cost
Check usage cost
/theme
Change theme
/context
Context visualization
/pr_comments
View PR comments
/resume
Restore previous session
/share
Share session
/desktop
Desktop app handoff
/mobile
Mobile app handoff
src/services/)api/
Anthropic API client, file API, bootstrap
mcp/
Model Context Protocol server connection and management
oauth/
OAuth 2.0 authentication flow
lsp/
Language Server Protocol manager
analytics/
GrowthBook-based feature flags and analytics
plugins/
Plugin loader
compact/
Conversation context compression
policyLimits/
Organization policy limits
remoteManagedSettings/
Remote managed settings
extractMemories/
Automatic memory extraction
tokenEstimation.ts
Token count estimation
teamMemorySync/
Team memory synchronization
src/bridge/)A bidirectional communication layer connecting IDE extensions (VS Code, JetBrains) with the Claude Code CLI.
bridgeMain.ts — Bridge main loopbridgeMessaging.ts — Message protocolbridgePermissionCallbacks.ts — Permission callbacksreplBridge.ts — REPL session bridgejwtUtils.ts — JWT-based authenticationsessionRunner.ts — Session execution managementsrc/hooks/toolPermission/)Checks permissions on every tool invocation. Either prompts the user for approval/denial or automatically resolves based on the configured permission mode (default, plan, bypassPermissions, auto, etc.).
Dead code elimination via Bun's bun:bundle feature flags:
import { feature } from 'bun:bundle'
// Inactive code is completely stripped at build time
const voiceCommand = feature('VOICE_MODE')
? require('./commands/voice/index.js').default
: null
Notable flags: PROACTIVE, KAIROS, BRIDGE_MODE, DAEMON, VOICE_MODE, AGENT_TRIGGERS, MONITOR_TOOL
QueryEngine.ts (~46K lines)The core engine for LLM API calls. Handles streaming responses, tool-call loops, thinking mode, retry logic, and token counting.
Tool.ts (~29K lines)Defines base types and interfaces for all tools — input schemas, permission models, and progress state types.
commands.ts (~25K lines)Manages registration and execution of all slash commands. Uses conditional imports to load different command sets per environment.
main.tsxCommander.js-based CLI parser + React/Ink renderer initialization. At startup, parallelizes MDM settings, keychain prefetch, and GrowthBook initialization for faster boot.
Startup time is optimized by prefetching MDM settings, keychain reads, and API preconnect in parallel — before heavy module evaluation begins.
// main.tsx — fired as side-effects before other imports
startMdmRawRead()
startKeychainPrefetch()
Heavy modules (OpenTelemetry ~400KB, gRPC ~700KB) are deferred via dynamic import() until actually needed.
Sub-agents are spawned via AgentTool, with coordinator/ handling multi-agent orchestration. TeamCreateTool enables team-level parallel work.
Reusable workflows defined in skills/ and executed through SkillTool. Users can add custom skills.
Built-in and third-party plugins are loaded through the plugins/ subsystem.
This repository archives source code that was leaked from Anthropic's npm registry on 2026-03-31. All original source code is the property of Anthropic.