Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
Claude Code Explorer MCP logo

Claude Code Explorer MCP

codeaashu/claude-code
2,999 starsNOASSERTIONUpdated 2026-04-22Community

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Explore the Claude Code CLI source — browse tools, commands, search code, and more.

README.md

<div align="center">

Claude Code — Leaked Source

The full source code of Anthropic's Claude Code CLI, leaked on March 31, 2026

![TypeScript](#tech-stack) ![Bun](#tech-stack) ![React + Ink](#tech-stack) ![Files](#directory-structure) ![MCP Server](#-explore-with-mcp-server) ![npm](https://www.npmjs.com/package/warrioraashuu-codemaster) ![Twitter Follow](https://twitter.com/intent/follow?screen_name=warrioraashuu)

The original unmodified leaked source is preserved in the backup branch.

</div>

--- <!-- <div align="center"> <table> <tr>

Spend less time reading code, more time building.

<td width="120" align="center"> <img src="https://repoxray.devdisplay.org/logo.png" width="80" height="80" alt="RepoXray Logo"/> </td> <td> <h2 align="center">Understand Any Codebase<br>X-Ray Any Repo, in Seconds.<br> <a href="https://repoxray.devdisplay.org/"><strong>repoxray.devdisplay.org</strong></a></h2> </td> </tr> </table> </div>

--- -->

Table of Contents

---

How It Leaked

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!"@Fried_rice, March 31, 2026

---

What Is Claude Code?

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 |

---

� Documentation

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

---

�🔍 Explore with MCP Server

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.

Install from npm

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-codemaster

One-liner setup (from source)

git 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

<details> <summary><strong>Step-by-step setup</strong></summary>

# 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.js

Replace /absolute/path/to/claude-code with your actual clone path.

</details>

<details> <summary><strong>VS Code / Cursor / Claude Desktop config</strong></summary>

VS Code — add to .vscode/mcp.json: ``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: ``json { "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).

</details>

Available tools & prompts

| 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 path / Remove

# 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-explorer

---

Directory Structure

src/
├── 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

---

Architecture

1. Tool System

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 |

2. Command System

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 |

3. Service Layer

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 |

4. Bridge System

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)

5. Permission System

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.

6. Feature Flags

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
  : null

Notable flags: PROACTIVE · KAIROS · BRIDGE_MODE · DAEMON · VOICE_MODE · AGENT_TRIGGERS · MONITOR_TOOL

---

Key Files

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

---

Tech Stack

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

---

Design Patterns

<details> <summary><strong>Parallel Prefetch</strong> — Startup optimization</summary>

MDM settings, keychain reads, and API preconnect fire in parallel as side-effects before heavy module evaluation:

// main.tsx
startMdmRawRead()
startKeychainPrefetch()

</details>

<details> <summary><strong>Lazy Loading</strong> — Deferred heavy modules</summary>

OpenTelemetry (~400KB) and gRPC (~700KB) are loaded via dynamic import() only when needed.

</details>

<details> <summary><strong>Agent Swarms</strong> — Multi-agent orchestration</summary>

Sub-agents spawn via AgentTool, with coordinator/ handling orchestration. TeamCreateTool enables team-level parallel work.

</details>

<details> <summary><strong>Skill System</strong> — Reusable workflows</summary>

Defined in skills/ and executed through SkillTool. Users can add custom skills.

</details>

<details> <summary><strong>Plugin Architecture</strong> — Extensibility</summary>

Built-in and third-party plugins loaded through the plugins/ subsystem.

</details>

---

GitPretty Setup

<details> <summary>Show per-file emoji commit messages in GitHub's file UI</summary>

# Apply emoji commits
bash ./gitpretty-apply.sh .

# Optional: install hooks for future commits
bash ./gitpretty-apply.sh . --hooks

# Push as usual
git push origin main

</details>

---

Contributing

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

---

Disclaimer

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.

---

<a href="https://www.star-history.com/?repos=codeaashu%2Fclaude-code&type=date&legend=bottom-right"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=codeaashu/claude-code&type=date&theme=dark&legend=bottom-right" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=codeaashu/claude-code&type=date&legend=bottom-right" /> <img alt="Star History Chart" src="https://api.star-history.com/image?repos=codeaashu/claude-code&type=date&legend=bottom-right" /> </picture> </a>

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.