| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The full source code of Anthropic's Claude Code CLI, leaked on March 31, 2026
The original unmodified leaked source is preserved in the backup branch.
Chaofan Shou (@Fried_rice) discovered that the published npm package for Claude Code included a .map file referencing the full, unobfuscated TypeScript source — downloadable as a zip from Anthropic's R2 storage bucket.
"Claude code source code has been leaked via a map file in their npm registry!"
Claude Code is Anthropic's official CLI tool for interacting with Claude directly from the terminal — editing files, running commands, searching codebases, managing git workflows, and more. This repository contains the leaked src/ directory.
| Leaked | 2026-03-31 |
| Language | TypeScript (strict) |
| Runtime | Bun |
| Terminal UI | React + Ink |
| Scale | ~1,900 files · 512,000+ lines of code |
For in-depth guides, see the docs/ directory:
| Guide | Description |
|---|---|
| Architecture | Core pipeline, startup sequence, state management, rendering, data flow |
| Tools Reference | Complete catalog of all ~40 agent tools with categories and permission model |
| Commands Reference | All ~85 slash commands organized by category |
| Subsystems Guide | Deep dives into Bridge, MCP, Permissions, Plugins, Skills, Tasks, Memory, Voice |
| Exploration Guide | How to navigate the codebase — study paths, grep patterns, key files |
Also see: CONTRIBUTING.md · MCP Server README
This repo ships an MCP server that lets any MCP-compatible client (Claude Code, Claude Desktop, VS Code Copilot, Cursor) explore the full source interactively.
The MCP server is published as warrioraashuu-codemaster on npm — no need to clone the repo:
# Claude Code
claude mcp add warrioraashuu-codemaster -- npx -y warrioraashuu-codemastergit clone https://github.com/codeaashu/claude-code.git ~/claude-code \
&& cd ~/claude-code/mcp-server \
&& npm install && npm run build \
&& claude mcp add claude-code-explorer -- node ~/claude-code/mcp-server/dist/index.js# 1. Clone the repo
git clone https://github.com/codeaashu/claude-code.git
cd claude-code/mcp-server
# 2. Install & build
npm install && npm run build
# 3. Register with Claude Code
claude mcp add claude-code-explorer -- node /absolute/path/to/claude-code/mcp-server/dist/index.jsReplace /absolute/path/to/claude-code with your actual clone path.
VS Code / Cursor / Claude Desktop configVS Code — add to .vscode/mcp.json:
{
"servers": {
"claude-code-explorer": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/mcp-server/dist/index.js"],
"env": { "CLAUDE_CODE_SRC_ROOT": "${workspaceFolder}/src" }
}
}
}Claude Desktop — add to your config file:
{
"mcpServers": {
"claude-code-explorer": {
"command": "node",
"args": ["/absolute/path/to/claude-code/mcp-server/dist/index.js"],
"env": { "CLAUDE_CODE_SRC_ROOT": "/absolute/path/to/claude-code/src" }
}
}
}Cursor — add to ~/.cursor/mcp.json (same format as Claude Desktop).
| Tool | Description |
|---|---|
| list_tools | List all ~40 agent tools with source files |
| list_commands | List all ~50 slash commands with source files |
| get_tool_source | Read full source of any tool (e.g. BashTool, FileEditTool) |
| get_command_source | Read source of any slash command (e.g. review, mcp) |
| read_source_file | Read any file from src/ by path |
| search_source | Grep across the entire source tree |
| list_directory | Browse src/ directories |
| get_architecture | High-level architecture overview |
| Prompt | Description |
|---|---|
| explain_tool | Deep-dive into how a specific tool works |
| explain_command | Understand a slash command's implementation |
| architecture_overview | Guided tour of the full architecture |
| how_does_it_work | Explain any subsystem (permissions, MCP, bridge, etc.) |
| compare_tools | Side-by-side comparison of two tools |
Try asking: "How does the BashTool work?" · "Search for where permissions are checked" · "Show me the /review command source"
# Custom source location
claude mcp add claude-code-explorer -e CLAUDE_CODE_SRC_ROOT=/path/to/src -- node /path/to/mcp-server/dist/index.js
# Remove
claude mcp remove claude-code-explorersrc/ ├── main.tsx # Entrypoint — Commander.js CLI parser + React/Ink renderer ├── QueryEngine.ts # Core LLM API caller (~46K lines) ├── Tool.ts # Tool type definitions (~29K lines) ├── commands.ts # Command registry (~25K lines) ├── tools.ts # Tool registry ├── context.ts # System/user context collection ├── cost-tracker.ts # Token cost tracking │ ├── tools/ # Agent tool implementations (~40) ├── commands/ # Slash command implementations (~50) ├── components/ # Ink UI components (~140) ├── services/ # External service integrations ├── hooks/ # React hooks (incl. permission checks) ├── types/ # TypeScript type definitions ├── utils/ # Utility functions ├── screens/ # Full-screen UIs (Doctor, REPL, Resume) │ ├── bridge/ # IDE integration (VS Code, JetBrains) ├── coordinator/ # Multi-agent orchestration ├── plugins/ # Plugin system ├── skills/ # Skill system ├── server/ # Server mode ├── remote/ # Remote sessions ├── memdir/ # Persistent memory directory ├── tasks/ # Task management ├── state/ # State management │ ├── voice/ # Voice input ├── vim/ # Vim mode ├── keybindings/ # Keybinding configuration ├── schemas/ # Config schemas (Zod) ├── migrations/ # Config migrations ├── entrypoints/ # Initialization logic ├── query/ # Query pipeline ├── ink/ # Ink renderer wrapper ├── buddy/ # Companion sprite (Easter egg 🐣) ├── native-ts/ # Native TypeScript utils ├── outputStyles/ # Output styling └── upstreamproxy/ # Proxy configuration
src/tools/ — Every tool Claude can invoke is a self-contained module with its own input schema, permission model, and execution logic.
| Tool | Description |
|---|---|
| File I/O | |
| FileReadTool | Read files (images, PDFs, notebooks) |
| FileWriteTool | Create / overwrite files |
| FileEditTool | Partial modification (string replacement) |
| NotebookEditTool | Jupyter notebook editing |
| Search | |
| GlobTool | File pattern matching |
| GrepTool | ripgrep-based content search |
| WebSearchTool | Web search |
| WebFetchTool | Fetch URL content |
| Execution | |
| BashTool | Shell command execution |
| SkillTool | Skill execution |
| MCPTool | MCP server tool invocation |
| LSPTool | Language Server Protocol integration |
| Agents & Teams | |
| AgentTool | Sub-agent spawning |
| SendMessageTool | Inter-agent messaging |
| TeamCreateTool / TeamDeleteTool | Team management |
| TaskCreateTool / TaskUpdateTool | Task management |
| Mode & State | |
| EnterPlanModeTool / ExitPlanModeTool | Plan mode toggle |
| EnterWorktreeTool / ExitWorktreeTool | Git worktree isolation |
| ToolSearchTool | Deferred tool discovery |
| SleepTool | Proactive mode wait |
| CronCreateTool | Scheduled triggers |
| RemoteTriggerTool | Remote trigger |
| SyntheticOutputTool | Structured output generation |
src/commands/ — User-facing slash commands invoked with / in the REPL.
| Command | Description | Command | Description | |
|---|---|---|---|---|
| /commit | Git commit | /memory | Persistent memory | |
| /review | Code review | /skills | Skill management | |
| /compact | Context compression | /tasks | Task management | |
| /mcp | MCP server management | /vim | Vim mode toggle | |
| /config | Settings | /diff | View changes | |
| /doctor | Environment diagnostics | /cost | Check usage cost | |
| /login / /logout | Auth | /theme | Change theme | |
| /context | Context visualization | /share | Share session | |
| /pr_comments | PR comments | /resume | Restore session | |
| /desktop | Desktop handoff | /mobile | Mobile handoff |
src/services/ — External integrations and core infrastructure.
| Service | Description |
|---|---|
| api/ | Anthropic API client, file API, bootstrap |
| mcp/ | Model Context Protocol connection & management |
| oauth/ | OAuth 2.0 authentication |
| lsp/ | Language Server Protocol manager |
| analytics/ | GrowthBook feature flags & analytics |
| plugins/ | Plugin loader |
| compact/ | Conversation context compression |
| extractMemories/ | Automatic memory extraction |
| teamMemorySync/ | Team memory synchronization |
| tokenEstimation.ts | Token count estimation |
| policyLimits/ | Organization policy limits |
| remoteManagedSettings/ | Remote managed settings |
src/bridge/ — Bidirectional communication layer connecting IDE extensions (VS Code, JetBrains) with the CLI.
Key files: bridgeMain.ts (main loop) · bridgeMessaging.ts (protocol) · bridgePermissionCallbacks.ts (permission callbacks) · replBridge.ts (REPL session) · jwtUtils.ts (JWT auth) · sessionRunner.ts (session execution)
src/hooks/toolPermission/ — Checks permissions on every tool invocation.
Prompts the user for approval/denial or auto-resolves based on the configured permission mode: default, plan, bypassPermissions, auto, etc.
Dead code elimination at build time via Bun's bun:bundle:
import { feature } from 'bun:bundle'
const voiceCommand = feature('VOICE_MODE')
? require('./commands/voice/index.js').default
: nullNotable flags: PROACTIVE · KAIROS · BRIDGE_MODE · DAEMON · VOICE_MODE · AGENT_TRIGGERS · MONITOR_TOOL
| File | Lines | Purpose |
|---|---|---|
| QueryEngine.ts | ~46K | Core LLM API engine — streaming, tool loops, thinking mode, retries, token counting |
| Tool.ts | ~29K | Base types/interfaces for all tools — input schemas, permissions, progress state |
| commands.ts | ~25K | Command registration & execution with conditional per-environment imports |
| main.tsx | — | CLI parser + React/Ink renderer; parallelizes MDM, keychain, and GrowthBook on startup |
| Category | Technology |
|---|---|
| Runtime | Bun |
| Language | TypeScript (strict) |
| Terminal UI | React + Ink |
| CLI Parsing | Commander.js (extra-typings) |
| Schema Validation | Zod v4 |
| Code Search | ripgrep (via GrepTool) |
| Protocols | MCP SDK · LSP |
| API | Anthropic SDK |
| Telemetry | OpenTelemetry + gRPC |
| Feature Flags | GrowthBook |
| Auth | OAuth 2.0 · JWT · macOS Keychain |
MDM settings, keychain reads, and API preconnect fire in parallel as side-effects before heavy module evaluation:
// main.tsx
startMdmRawRead()
startKeychainPrefetch()OpenTelemetry (~400KB) and gRPC (~700KB) are loaded via dynamic import() only when needed.
Agent Swarms — Multi-agent orchestrationSub-agents spawn via AgentTool, with coordinator/ handling orchestration. TeamCreateTool enables team-level parallel work.
Skill System — Reusable workflowsDefined in skills/ and executed through SkillTool. Users can add custom skills.
Plugin Architecture — ExtensibilityBuilt-in and third-party plugins loaded through the plugins/ subsystem.
# Apply emoji commits
bash ./gitpretty-apply.sh .
# Optional: install hooks for future commits
bash ./gitpretty-apply.sh . --hooks
# Push as usual
git push origin mainContributions to documentation, the MCP server, and exploration tooling are welcome. See CONTRIBUTING.md for guidelines.
Note: The src/ directory is the original leaked source and should not be modified.
This repository archives source code leaked from Anthropic's npm registry on 2026-03-31. All original source code is the property of Anthropic. This is not an official release and is not licensed for redistribution. Contact aashuu ✦ for any comments.
| Back | FazBrowse Home | New Git URL |