Skip to content

Gorav22/Claude-code-leaked

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 

Repository files navigation

Claude Code β€” Leaked Source (2026-03-31)

On March 31, 2026, the full source code of Anthropic's Claude Code CLI was leaked via a .map file exposed in their npm registry.


How It Leaked

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

β€” @Fried_rice, March 31, 2026

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.


Overview

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.

  • Leaked on: 2026-03-31
  • Language: TypeScript
  • Runtime: Bun
  • Terminal UI: React + Ink (React for CLI)
  • Scale: ~1,900 files, 512,000+ lines of code

Directory Structure

src/
β”œβ”€β”€ main.tsx                 # Entrypoint (Commander.js-based CLI parser)
β”œβ”€β”€ commands.ts              # Command registry
β”œβ”€β”€ tools.ts                 # Tool registry
β”œβ”€β”€ Tool.ts                  # Tool type definitions
β”œβ”€β”€ QueryEngine.ts           # LLM query engine (core Anthropic API caller)
β”œβ”€β”€ context.ts               # System/user context collection
β”œβ”€β”€ cost-tracker.ts          # Token cost tracking
β”‚
β”œβ”€β”€ commands/                # Slash command implementations (~50)
β”œβ”€β”€ tools/                   # Agent tool implementations (~40)
β”œβ”€β”€ components/              # Ink UI components (~140)
β”œβ”€β”€ hooks/                   # React hooks
β”œβ”€β”€ services/                # External service integrations
β”œβ”€β”€ screens/                 # Full-screen UIs (Doctor, REPL, Resume)
β”œβ”€β”€ types/                   # TypeScript type definitions
β”œβ”€β”€ utils/                   # Utility functions
β”‚
β”œβ”€β”€ bridge/                  # IDE integration bridge (VS Code, JetBrains)
β”œβ”€β”€ coordinator/             # Multi-agent coordinator
β”œβ”€β”€ plugins/                 # Plugin system
β”œβ”€β”€ skills/                  # Skill system
β”œβ”€β”€ keybindings/             # Keybinding configuration
β”œβ”€β”€ vim/                     # Vim mode
β”œβ”€β”€ voice/                   # Voice input
β”œβ”€β”€ remote/                  # Remote sessions
β”œβ”€β”€ server/                  # Server mode
β”œβ”€β”€ memdir/                  # Memory directory (persistent memory)
β”œβ”€β”€ tasks/                   # Task management
β”œβ”€β”€ state/                   # State management
β”œβ”€β”€ migrations/              # Config migrations
β”œβ”€β”€ schemas/                 # Config schemas (Zod)
β”œβ”€β”€ entrypoints/             # Initialization logic
β”œβ”€β”€ ink/                     # Ink renderer wrapper
β”œβ”€β”€ buddy/                   # Companion sprite (Easter egg)
β”œβ”€β”€ native-ts/               # Native TypeScript utils
β”œβ”€β”€ outputStyles/            # Output styling
β”œβ”€β”€ query/                   # Query pipeline
└── upstreamproxy/           # Proxy configuration

Core Architecture

1. Tool System (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 Description
BashTool 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

2. Command System (src/commands/)

User-facing slash commands invoked with / prefix.

Command Description
/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

3. Service Layer (src/services/)

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

4. Bridge System (src/bridge/)

A bidirectional communication layer connecting IDE extensions (VS Code, JetBrains) with the Claude Code CLI.

  • bridgeMain.ts β€” Bridge main loop
  • bridgeMessaging.ts β€” Message protocol
  • bridgePermissionCallbacks.ts β€” Permission callbacks
  • replBridge.ts β€” REPL session bridge
  • jwtUtils.ts β€” JWT-based authentication
  • sessionRunner.ts β€” Session execution management

5. Permission System (src/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.).

6. Feature Flags

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


Key Files in Detail

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

Commander.js-based CLI parser + React/Ink renderer initialization. At startup, parallelizes MDM settings, keychain prefetch, and GrowthBook initialization for faster boot.


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

Notable Design Patterns

Parallel Prefetch

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

Lazy Loading

Heavy modules (OpenTelemetry ~400KB, gRPC ~700KB) are deferred via dynamic import() until actually needed.

Agent Swarms

Sub-agents are spawned via AgentTool, with coordinator/ handling multi-agent 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

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


Disclaimer

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.

About

πŸš€ Open source Claude Code CLI source code. Advanced AI Agent for developers. Includes TypeScript codebase for LLM tool-calling, agentic workflows, and terminal UI. Remember this is just the skeleton not the brain itself. Found by Chaofan Shou.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages