Skip to content

muhammadhaseebiqbal-dev/claude-code-leak-source-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Claude Code Source Snapshot

An exploratory mirror of a source snapshot reportedly exposed via published source maps on March 31, 2026

TypeScript Bun Files MCP Server

The raw imported snapshot is preserved in this repository's backup branch. The main branch contains added documentation, tooling, and repository metadata.


Table of Contents


The Story: How the Source Code Leaked

On March 31, 2026, the developer community was stunned when the entire uncompiled TypeScript source code for Anthropic's flagship CLI tool, Claude Code, was exposed to the public. The leak wasn't the result of a sophisticated hack or an insider threat, but a simple build configuration oversight.

Security researcher Chaofan Shou (@Fried_rice) discovered that the officially published npm registry package for Claude Code accidentally included a .map (source map) file. This file contained a direct reference to Anthropic's R2 storage bucket, allowing anyone to download a zip archive containing the full, unobfuscated TypeScript source code of the project.

"Claude code source code has been leaked via a map file in their npm registry!"

β€” @Fried_rice, March 31, 2026

The leaked code revealed a massive, highly sophisticated terminal application containing over 512,000 lines of code across roughly 1,900 files. It gave developers an unprecedented look into how one of the world's leading AI labs builds internal tooling, Agent Swarms, and integrations with the Model Context Protocol (MCP).


Full Breakdown of Code Findings

By analyzing the leaked repository, developers uncovered several fascinating architectural decisions and advanced systems powering Claude Code:

1. The Terminal is a React App

Perhaps the most surprising finding is that the entire CLI is built using React and Ink. Instead of traditional stdout printing, Claude Code functions identically to a modern React web app with hooks, contexts, and over 140 UI componentsβ€”all rendering directly into the terminal interface using chalk for styling.

2. Bun Runtime & Dead Code Elimination

Instead of Node.js, Claude Code relies on the Bun runtime. This allows it to run TSX files natively without a separate transpilation step. The codebase makes heavy use of Bun's bun:bundle feature for dead-code elimination, stripping out unreleased features via flags like PROACTIVE (autonomous agent mode), WORKFLOW_SCRIPTS, and VOICE_MODE.

3. Agent Swarms and Multi-Agent Architecture

The code includes an advanced QueryEngine.ts (a massive ~46K line file) that handles LLM tool-calling loops. More importantly, it features an AgentTool and a coordinator/ subsystem that allows Claude to spawn sub-agents to parallelize tasks. Agents can even communicate with each other using a SendMessageTool and form groups via a TeamCreateTool.

4. Comprehensive Tool & Command Ecosystem

Claude Code features around 40 advanced tools ranging from standard shell execution (BashTool) and file editing (FileEditTool), to powerful search modules (GrepTool powered by ripgrep). It also contains a robust command system with ~50 slash commands (like /commit, /review, /mcp), some of which return full React JSX components directly to the user's terminal to render diagnostics or UI screens.

5. IDE "Bridge" System

A bridge/ subsystem acts as a bidirectional communication layer, securely connecting the CLI tool with IDE extensions (like VS Code and JetBrains) using JWT authentication, allowing the terminal agent to drive the editor and read its state.


What Is Claude Code?

Claude Code is Anthropic's official CLI tool for interacting with Claude directly from the terminal. This leaked source code repository acts as a breakthrough artifact showing how modern LLM interfaces work: editing files, running commands, searching codebases, and managing git workflows using Model Context Protocol (MCP) and multi-agent systems.

This repository contains the complete source snapshot alongside newly added docs, MCP tooling, and repository metadata to help inspect it. Discover the power of agent swarms, terminal voice modes, and IDE bridges hidden deep in the React & Ink architecture!

Leaked Artifact 2026-03-31
Language TypeScript (strict)
Runtime Architecture Bun
Terminal UI Framework React + Ink
Code Scale ~1,900 files Β· 512,000+ lines of codebase

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 also ships an MCP server that lets any MCP-compatible client (Claude Code, Claude Desktop, VS Code Copilot, Cursor) explore the snapshot interactively.

Install from npm

The MCP server is published as claude-code-explorer-mcp on npm β€” no need to clone the repo:

# Claude Code
claude mcp add claude-code-explorer -- npx -y claude-code-explorer-mcp

One-liner setup (from source)

git clone https://github.com/muhammadhaseebiqbal-dev/claude-code-leak-source-code.git ~/claude-code-source-code \
  && cd ~/claude-code-source-code/mcp-server \
  && npm install && npm run build \
  && claude mcp add claude-code-explorer -- node ~/claude-code-source-code/mcp-server/dist/index.js
Step-by-step setup
# 1. Clone the repo
git clone https://github.com/muhammadhaseebiqbal-dev/claude-code-leak-source-code.git
cd claude-code-source-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-source-code/mcp-server/dist/index.js

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

VS Code / Cursor / Claude Desktop config

VS 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-source-code/mcp-server/dist/index.js"],
      "env": { "CLAUDE_CODE_SRC_ROOT": "/absolute/path/to/claude-code-source-code/src" }
    }
  }
}

Cursor β€” add to ~/.cursor/mcp.json (same format as Claude Desktop).

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

Parallel Prefetch β€” Startup optimization

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

// main.tsx
startMdmRawRead()
startKeychainPrefetch()
Lazy Loading β€” Deferred heavy modules

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

Agent Swarms β€” Multi-agent orchestration

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

Skill System β€” Reusable workflows

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

Plugin Architecture β€” Extensibility

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


GitPretty Setup

Show per-file emoji commit messages in GitHub's file UI
# 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

Contributing

Contributions to documentation, the MCP server, and exploration tooling are welcome. Changes to the archived snapshot under src/ are not the default contribution path. See CONTRIBUTING.md for guidelines.

Note: The src/ directory is the archived source snapshot and should generally remain unchanged.


Disclaimer

This repository archives a source snapshot reportedly exposed via Anthropic's npm distribution on 2026-03-31. It is provided for research, documentation, and exploratory tooling around the snapshot. The original Claude Code source remains the property of Anthropic, this is not an official release, and no rights to Anthropic's original code are granted by this repository. If you choose to use or redistribute any of the archived material, you are responsible for assessing the legal implications yourself. Contact nichxbt for any comments.

About

🚨 The leaked source code of Anthropic's Claude Code. Explore 512k+ lines of TypeScript revealing multi-agent swarms, MCP integrations, Bun runtime, and a React/Ink terminal UI.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors