The source code in this repository was obtained from publicly available online sources — specifically, a 57MB source map file (cli.js.map) shipped inside the @anthropic-ai/claude-code npm package (v2.1.88). No proprietary systems were breached.

All intellectual property rights belong to Anthropic. This repository is provided solely for educational and research purposes — to study the architecture and implementat

sachin1801 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
docs 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
scripts 9687ada023 Initial commit: Claude Code v2.1.88 source extracted from npm source maps 3 dagen geleden
shims 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
src 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
stubs 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
.gitignore 9687ada023 Initial commit: Claude Code v2.1.88 source extracted from npm source maps 3 dagen geleden
AGENTS.md 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
CLAUDE.md 9687ada023 Initial commit: Claude Code v2.1.88 source extracted from npm source maps 3 dagen geleden
README.md 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
build.ts 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
bun.lock 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
excalidraw.log 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
package.json 491dadc4b5 Remove LICENSE, add disclaimer to README — research/educational use only 3 dagen geleden
tsconfig.json 9687ada023 Initial commit: Claude Code v2.1.88 source extracted from npm source maps 3 dagen geleden

README.md

Claude Code — Source Study

Disclaimer: This repository is NOT officially published, endorsed, or maintained by Anthropic.

The source code in this repository was obtained from publicly available online sources — specifically, a 57MB source map file (cli.js.map) shipped inside the @anthropic-ai/claude-code npm package (v2.1.88). No proprietary systems were breached.

All intellectual property rights belong to Anthropic. This repository is provided solely for educational and research purposes — to study the architecture and implementation patterns of a production AI coding agent. Use it at your own risk. The maintainers of this repository claim no ownership over the code and assume no liability for its use.


This repository contains the reconstructed source of Anthropic's Claude Code — a Bun-based terminal coding assistant with a custom Ink UI, a large tool system, MCP integration, plugin loading, and cloud session flows.

Quick Start

Prerequisites: Bun v1.1+

git clone <your-repo-url>
cd <repo-dir>
bun install
bun run build
bun dist/cli.js

Current state:

  • bun install works
  • bun run build works and emits dist/cli.js
  • bun run typecheck is not clean yet
  • Static project documentation lives in docs/

Commands

bun dist/cli.js                    # Launch interactive REPL
bun dist/cli.js --help             # Show all options
bun dist/cli.js --version          # Show version
bun dist/cli.js -p "your prompt"   # Non-interactive mode (pipe-friendly)
bun dist/cli.js auth login         # Authenticate
python3 -m http.server 8080 --directory docs

What's Inside

  • ~1,900 source files, 512,000+ lines of TypeScript
  • Runtime: Bun
  • Terminal UI: React + custom forked Ink
  • CLI parser: Commander.js
  • Layout engine: Pure TypeScript port of Yoga (Meta's flexbox engine)

Architecture

src/
├── main.tsx                 # Entrypoint (Commander.js CLI parser)
├── commands.ts              # Command registry
├── tools.ts                 # Tool registry (~40 tools)
├── QueryEngine.ts           # LLM query engine (Anthropic API)
├── context.ts               # System/user context collection
├── ink/                     # Custom Ink fork (terminal React renderer)
├── commands/                # Slash command implementations
├── tools/                   # Agent tool implementations
├── components/              # React UI components
├── services/                # API, MCP, OAuth, telemetry
├── screens/                 # Full-screen UIs (REPL, Doctor)
├── native-ts/               # Pure TS ports of native modules
│   ├── yoga-layout/         # Flexbox layout engine
│   ├── color-diff/          # Syntax-highlighted diffs
│   └── file-index/          # Fuzzy file search
└── vim/                     # Vim mode implementation

What's Stubbed Out

Some internal Anthropic features weren't included in the recovered sources or are behind private packages. These are stubbed with no-ops:

  • Computer Use (@ant/computer-use-*) — screen control tools
  • Chrome Integration (@ant/claude-for-chrome-mcp) — browser automation
  • Sandbox Runtime (@anthropic-ai/sandbox-runtime) — sandboxed execution
  • TungstenTool, REPLTool — internal-only tools
  • Context Collapse — internal compaction feature

The core architecture, standard tool surfaces, MCP support, and the full terminal UI are present in source. The repository is now buildable, but it still needs type cleanup and feature hardening before it can be treated as a stable release.

Build Details

The build script (build.ts) uses Bun's bundler to:

  1. Bundle 4,500+ modules into a single dist/cli.js (~23 MB)
  2. Define MACRO.* build-time constants (version, feedback channel)
  3. Externalize optional native deps (sharp, react-devtools-core)

Feature flags from bun:bundle's feature() all return false — internal Anthropic features (voice mode, coordinator mode, etc.) are disabled.

Documentation

  • Static site: docs/index.html
  • Project map: AGENTS.md

Disclaimer

This repository is not affiliated with Anthropic in any way. It exists purely as a research and learning resource. All code is the intellectual property of Anthropic. If you are a representative of Anthropic and would like this repository removed, please open an issue and it will be taken down immediately.