# Claude Code Haha

Claude Code Haha

[![GitHub Stars](https://img.shields.io/github/stars/NanmiCoder/cc-haha?style=social)](https://github.com/NanmiCoder/cc-haha/stargazers) [![GitHub Forks](https://img.shields.io/github/forks/NanmiCoder/cc-haha?style=social)](https://github.com/NanmiCoder/cc-haha/network/members) [![GitHub Issues](https://img.shields.io/github/issues/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/issues) [![GitHub Pull Requests](https://img.shields.io/github/issues-pr/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/pulls) [![License](https://img.shields.io/github/license/NanmiCoder/cc-haha)](https://github.com/NanmiCoder/cc-haha/blob/main/LICENSE) [![中文](https://img.shields.io/badge/🇨🇳_中文-Available-green)](README.md) [![English](https://img.shields.io/badge/🇺🇸_English-当前-blue)](README.en.md) [![Docs](https://img.shields.io/badge/📖_Documentation-Visit-D97757)](https://claudecode-haha.relakkesyang.org)
A **locally runnable version** repaired from the leaked Claude Code source, with support for any Anthropic-compatible API endpoint (MiniMax, OpenRouter, etc.). Beyond the full TUI, we've also completed Computer Use (macOS / Windows), built a GUI **desktop app**, and enabled **full remote control** via Telegram / Feishu.

Features · Desktop · Architecture · Quick Start · Env Vars · FAQ · Global Usage · More Docs

--- ## Features - Full Ink TUI experience (matching the official Claude Code interface) - `--print` headless mode for scripts and CI - MCP server, plugin, and Skills support - Custom API endpoint and model support ([Third-Party Models Guide](docs/en/guide/third-party-models.md)) - **Memory System** (cross-session persistent memory) — [Usage Guide](docs/memory/01-usage-guide.md) - **Multi-Agent System** (agent orchestration, parallel tasks, Teams collaboration) — [Usage Guide](docs/agent/01-usage-guide.md) | [Implementation](docs/agent/02-implementation.md) - **Skills System** (extensible capability plugins, custom workflows) — [Usage Guide](docs/skills/01-usage-guide.md) | [Implementation](docs/skills/02-implementation.md) - **Channel System** (remote Agent control via Telegram/Feishu/Discord IM platforms) — [Architecture](docs/en/channel/01-channel-system.md) - **Computer Use desktop control** — [Guide](docs/en/features/computer-use.md) | [Architecture](docs/en/features/computer-use-architecture.md) - **Desktop App** (Tauri 2 + React GUI client, multi-tab multi-session) — [Docs](docs/desktop/) - Fallback Recovery CLI mode (`CLAUDE_CODE_FORCE_RECOVERY_CLI=1 ./bin/claude-haha`) --- ## Architecture Overview
Overall architecture
Overall architecture
Request lifecycle
Request lifecycle
Tool system
Tool system
Multi-agent architecture
Multi-agent architecture
Terminal UI
Terminal UI
Permissions and security
Permissions and security
Services layer
Services layer
State and data flow
State and data flow
--- ## Desktop Preview

Download Desktop   Install Guide

Main UI
Main Interface
Code Editing
Code Editing & Diff View
Permission Control
Permission Control & AI Questions
Provider Settings
Multi-Provider Management
Scheduled Tasks
Scheduled Tasks
IM Adapters
IM Adapters (Telegram / Feishu)
--- ## Quick Start ### 1. Install Bun ```bash # macOS / Linux curl -fsSL https://bun.sh/install | bash # macOS (Homebrew) brew install bun # Windows (PowerShell) powershell -c "irm bun.sh/install.ps1 | iex" ``` > On minimal Linux images, if you see `unzip is required`, run `apt update && apt install -y unzip` first. ### 2. Install Dependencies and Configure ```bash bun install cp .env.example .env # Edit .env with your API key — see docs/en/guide/env-vars.md for details ``` ### 3. Start #### macOS / Linux ```bash ./bin/claude-haha # Interactive TUI mode ./bin/claude-haha -p "your prompt here" # Headless mode ./bin/claude-haha --help # Show all options ``` #### Windows > **Prerequisite**: [Git for Windows](https://git-scm.com/download/win) must be installed. ```powershell # PowerShell / cmd — call Bun directly bun --env-file=.env ./src/entrypoints/cli.tsx # Or run inside Git Bash ./bin/claude-haha ``` ### 4. Global Usage (Optional) Add `bin/` to your PATH to run from any directory. See [Global Usage Guide](docs/en/guide/global-usage.md): ```bash export PATH="$HOME/path/to/claude-code-haha/bin:$PATH" ``` ### 5. Desktop Development If you are developing or testing the `desktop/` frontend, start both the API server and the desktop frontend. #### 5.1 Start the API server ```bash cd /Users/nanmi/workspace/myself_code/claude-code-haha SERVER_PORT=3456 bun run src/server/index.ts ``` Optional health check: ```bash curl http://127.0.0.1:3456/health ``` #### 5.2 Start the desktop frontend ```bash cd /Users/nanmi/workspace/myself_code/claude-code-haha/desktop bun run dev --host 127.0.0.1 --port 2024 ``` Then open: ```text http://127.0.0.1:2024 ``` #### 5.3 Notes - If port `3456` is already occupied by an old server process, run `lsof -nP -iTCP:3456 -sTCP:LISTEN`, find the PID, then `kill `. - For chat testing, create a fresh session and re-select a real working directory. - If an old session points to a deleted directory, the server will return `Working directory does not exist`. That is separate from whether the API server is running. --- ## Tech Stack | Category | Technology | |------|------| | Runtime | [Bun](https://bun.sh) | | Language | TypeScript | | Terminal UI | React + [Ink](https://github.com/vadimdemedes/ink) | | CLI parsing | Commander.js | | API | Anthropic SDK | | Protocols | MCP, LSP | --- ## More Documentation | Document | Description | |------|------| | [Environment Variables](docs/en/guide/env-vars.md) | Full env var reference and configuration methods | | [Third-Party Models](docs/en/guide/third-party-models.md) | Using OpenAI / DeepSeek / Ollama and other non-Anthropic models | | [Memory System](docs/memory/01-usage-guide.md) | Cross-session persistent memory usage and implementation | | [Multi-Agent System](docs/agent/01-usage-guide.md) | Agent orchestration, parallel tasks and Teams collaboration | | [Skills System](docs/skills/01-usage-guide.md) | Extensible capability plugins, custom workflows and conditional activation | | [Channel System](docs/en/channel/01-channel-system.md) | Remote Agent control via Telegram/Feishu/Discord IM platforms | | [Computer Use](docs/en/features/computer-use.md) | Desktop control (screenshots, mouse, keyboard) — [Architecture](docs/en/features/computer-use-architecture.md) | | [Desktop App](docs/desktop/) | Tauri 2 + React GUI client — [Quick Start](docs/desktop/01-quick-start.md) \| [Architecture](docs/desktop/02-architecture.md) \| [Installation](docs/desktop/04-installation.md) | | [Global Usage](docs/en/guide/global-usage.md) | Run claude-haha from any directory | | [FAQ](docs/en/guide/faq.md) | Common error troubleshooting | | [Source Fixes](docs/en/reference/fixes.md) | Fixes compared with the original leaked source | | [Project Structure](docs/en/reference/project-structure.md) | Code directory structure | --- ## Sponsorship & Partnership This project is maintained in the author's spare time. Corporate or individual sponsorships are welcome to support ongoing development. Custom features, integrations, and business partnerships are also open for discussion. 📧 **Contact**: relakkes@gmail.com --- ## ☕ Buy Me a Coffee If this project helps you, consider buying me a coffee — every bit of support keeps this project going ❤️
WeChat Pay
WeChat Pay
Alipay
Alipay
Buy Me a Coffee
Buy Me a Coffee
--- ## Disclaimer 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](https://www.anthropic.com). It is provided for learning and research purposes only.