Source code extracted from @anthropic-ai/claude-code@2.1.88 npm package via source maps.
The 57MB source map (cli.js.map) shipped inside the npm package and pointed to a Cloudflare R2 bucket containing the full TypeScript source. No reverse engineering was performed — Anthropic published it themselves.
Requirements: Node.js 18+
git clone https://github.com/antonoly/claude-code.git
cd claude-code
node cli.jsOn first launch, you'll be prompted to log in with your Anthropic account. If you have a Claude Max/Pro subscription, it works immediately — no API key needed.
export ANTHROPIC_API_KEY=sk-ant-...
node cli.jsexport CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1
node cli.jsexport CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5
node cli.jsexport ANTHROPIC_BASE_URL=https://your-proxy.example.com
export ANTHROPIC_API_KEY=your-key
node cli.jsRun Claude Code's UI with a local open-source model. The included ollama-proxy.mjs translates between the Anthropic API format and Ollama, routing model calls locally while auth goes to Anthropic normally.
Requirements: Node.js 18+, Ollama, a Claude subscription (for auth only)
# Step 1: Pull a model with 128K+ context
ollama pull qwen3-coder:30b
# Step 2: Start the proxy (included in this repo)
node ollama-proxy.mjs
# Step 3: Run Claude Code (in another terminal)
ANTHROPIC_BASE_URL=http://localhost:9090 node cli.jsThe proxy terminal shows color-coded routing:
- 🟢
[OLLAMA]— model calls going to your local Qwen3-Coder - 🟡
[ANTHROPIC]— auth/config calls going to Anthropic
How it works: Claude Code's bundled cli.js uses the Anthropic SDK which reads ANTHROPIC_BASE_URL. The proxy intercepts /v1/messages (model API) and translates them to Ollama's format, while passing everything else (auth, bootstrap, feature flags) through to api.anthropic.com.
To change the model, edit line 7 in ollama-proxy.mjs. Works with any Ollama model that has 128K+ context — qwen3-coder, qwen3.5, deepseek-r1:32b, llama4, etc.
| Stat | Value |
|---|---|
| Lines of TypeScript | 512K |
| Source files | 1,923 |
| Built-in tools | 43 |
| Package version | 2.1.88 |
buddy/— Full Tamagotchi pet system: 18 species, rarity tiers (1% legendary, 0.01% shiny legendary), 5 stats, gacha PRNG seeded per-user, ASCII art spritesutils/undercover.ts— Auto-activates on public repos. Injects system prompt: "Do not blow your cover." No force-OFF switchoutputStyles/— Anti-distillation defenses: strips tool lists, model info, and thinking content to prevent competitors from scraping behaviorcoordinator/— KAIROS/Auto-Dream: autonomous multi-step planning with self-reflection loopscontext/— 4-layer context compression: pruning → summarization → truncation → eviction
├── cli.js # Bundled CLI entry point (12MB)
├── package.json # Original npm package metadata
├── vendor/ # Native binaries (ripgrep, audio-capture)
├── buddy/ # BUDDY pet system
├── tools/ # 43 built-in tools
├── commands/ # Slash commands
├── components/ # React/Ink terminal UI
├── context/ # Context window management
├── coordinator/ # Multi-agent orchestration
├── hooks/ # Pre/post tool execution hooks
├── plugins/ # Plugin/skill marketplace
├── services/ # API clients, auth, billing
├── skills/ # Built-in skills
├── utils/ # Undercover mode, anti-distillation, models
│ ├── undercover.ts # "Do not blow your cover"
│ └── model/ # Model definitions, codename stripping
├── voice/ # Voice mode
└── vim/ # Vim keybindings
Independent architecture analysis with source code evidence:
verified-skill.com/insights/claude-code
This repository contains source code that was publicly exposed via npm source maps on March 31, 2026. All code was directly readable from the published npm package @anthropic-ai/claude-code@2.1.88. No reverse engineering, decompilation, or circumvention of technical protection measures was performed.