中文 | English
A locally runnable version repaired from the leaked Claude Code source, with support for any Anthropic-compatible API endpoint such as MiniMax and OpenRouter.
The original leaked source does not run as-is. This repository fixes multiple blocking issues in the startup path so the full Ink TUI can work locally.
- Full Ink TUI experience (matching the official Claude Code interface)
--printheadless mode for scripts and CI- MCP server, plugin, and Skills support
- Custom API endpoint and model support
- Fallback Recovery CLI mode
![]() Overall architecture |
![]() Request lifecycle |
![]() Tool system |
![]() Multi-agent architecture |
![]() Terminal UI |
![]() Permissions and security |
![]() Services layer |
![]() State and data flow |
This project requires Bun. If Bun is not installed on the target machine yet, use one of the following methods first:
# macOS / Linux (official install script)
curl -fsSL https://bun.sh/install | bashIf a minimal Linux image reports unzip is required to install bun, install unzip first:
# Ubuntu / Debian
apt update && apt install -y unzip# macOS (Homebrew)
brew install bun# Windows (PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"After installation, reopen the terminal and verify:
bun --versionbun installCopy the example file and fill in your API key:
cp .env.example .envEdit .env:
# API authentication (choose one)
ANTHROPIC_API_KEY=sk-xxx # Standard API key via x-api-key header
ANTHROPIC_AUTH_TOKEN=sk-xxx # Bearer token via Authorization header
# API endpoint (optional, defaults to Anthropic)
ANTHROPIC_BASE_URL=https://api.minimaxi.com/anthropic
# Model configuration
ANTHROPIC_MODEL=MiniMax-M2.7-highspeed
ANTHROPIC_DEFAULT_SONNET_MODEL=MiniMax-M2.7-highspeed
ANTHROPIC_DEFAULT_HAIKU_MODEL=MiniMax-M2.7-highspeed
ANTHROPIC_DEFAULT_OPUS_MODEL=MiniMax-M2.7-highspeed
# Timeout in milliseconds
API_TIMEOUT_MS=3000000
# Disable telemetry and non-essential network traffic
DISABLE_TELEMETRY=1
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1# Interactive TUI mode (full interface)
./bin/claude-haha
# Headless mode (single prompt)
./bin/claude-haha -p "your prompt here"
# Pipe input
echo "explain this code" | ./bin/claude-haha -p
# Show all options
./bin/claude-haha --helpPrerequisite: Git for Windows must be installed (provides Git Bash, which the project's internal shell execution depends on).
The startup script bin/claude-haha is a bash script and cannot run directly in cmd or PowerShell. Use one of the following methods:
Option 1: PowerShell / cmd — call Bun directly (recommended)
# Interactive TUI mode
bun --env-file=.env ./src/entrypoints/cli.tsx
# Headless mode
bun --env-file=.env ./src/entrypoints/cli.tsx -p "your prompt here"
# Fallback Recovery CLI
bun --env-file=.env ./src/localRecoveryCli.tsOption 2: Run inside Git Bash
# Same usage as macOS / Linux
./bin/claude-hahaNote: Some features (voice input, Computer Use, sandbox isolation, etc.) are not available on Windows. This does not affect the core TUI interaction.
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY |
One of two | API key sent via the x-api-key header |
ANTHROPIC_AUTH_TOKEN |
One of two | Auth token sent via the Authorization: Bearer header |
ANTHROPIC_BASE_URL |
No | Custom API endpoint, defaults to Anthropic |
ANTHROPIC_MODEL |
No | Default model |
ANTHROPIC_DEFAULT_SONNET_MODEL |
No | Sonnet-tier model mapping |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
No | Haiku-tier model mapping |
ANTHROPIC_DEFAULT_OPUS_MODEL |
No | Opus-tier model mapping |
API_TIMEOUT_MS |
No | API request timeout, default 600000 (10min) |
DISABLE_TELEMETRY |
No | Set to 1 to disable telemetry |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
No | Set to 1 to disable non-essential network traffic |
If the full TUI has issues, use the simplified readline-based interaction mode:
CLAUDE_CODE_FORCE_RECOVERY_CLI=1 ./bin/claude-hahaThe leaked source could not run directly. This repository mainly fixes the following issues:
| Issue | Root cause | Fix |
|---|---|---|
| TUI does not start | The entry script routed no-argument startup to the recovery CLI | Restored the full cli.tsx entry |
| Startup hangs | The verify skill imports a missing .md file, causing Bun's text loader to hang indefinitely |
Added stub .md files |
--print hangs |
filePersistence/types.ts was missing |
Added type stub files |
--print hangs |
ultraplan/prompt.txt was missing |
Added resource stub files |
| Enter key does nothing | The modifiers-napi native package was missing, isModifierPressed() threw, handleEnter was interrupted, and onSubmit never ran |
Added try/catch fault tolerance |
| Setup was skipped | preload.ts automatically set LOCAL_RECOVERY=1, skipping all initialization |
Removed the default setting |
bin/claude-haha # Entry script
preload.ts # Bun preload (sets MACRO globals)
.env.example # Environment variable template
src/
├── entrypoints/cli.tsx # Main CLI entry
├── main.tsx # Main TUI logic (Commander.js + React/Ink)
├── localRecoveryCli.ts # Fallback Recovery CLI
├── setup.ts # Startup initialization
├── screens/REPL.tsx # Interactive REPL screen
├── ink/ # Ink terminal rendering engine
├── components/ # UI components
├── tools/ # Agent tools (Bash, Edit, Grep, etc.)
├── commands/ # Slash commands (/commit, /review, etc.)
├── skills/ # Skill system
├── services/ # Service layer (API, MCP, OAuth, etc.)
├── hooks/ # React hooks
└── utils/ # Utility functions
| Category | Technology |
|---|---|
| Runtime | Bun |
| Language | TypeScript |
| Terminal UI | React + Ink |
| CLI parsing | Commander.js |
| API | Anthropic SDK |
| Protocols | MCP, LSP |
This repository is based on the Claude Code source leaked from the Anthropic npm registry on 2026-03-31. All original source code copyrights belong to Anthropic. It is provided for learning and research purposes only.








