by tanbiralam
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 complex code, and handling git workflows - all through natural language commands. All original source code is the property of Anthropic.
# Add to your Claude Code skills
git clone https://github.com/tanbiralam/claude-codeLast scanned: 4/27/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-04-27T06:28:08.055Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}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"
| Script | Description |
|--------|-------------|
| bun run start | Run Claude Code CLI |
| bun run dev | Run with hot-reloading (--watch) |
| bun run build | Bundle for production |
| | Run TypeScript type checking |
No comments yet. Be the first to share your thoughts!
bun run typecheck| Variable | Description |
|----------|-------------|
| 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/
├── 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
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 |
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 |
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 |
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.
| 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](https://d