4.5 KiB
Get Started in 3 Minutes
Claude Code Haha has two ways to run. Install the Desktop app for everyday development. Run the CLI from source only when you need a terminal workflow, scripting, or local development.
| Option | Best for | What you need |
|---|---|---|
| Desktop (recommended) | Managing projects, sessions, worktrees, code diffs, and permission reviews | The installer for your platform; Bun is not required |
| CLI | Terminal users, --print automation, and contributors |
Git, Bun, and access to a model provider |
Option 1: Install the Desktop App
1. Download the current stable release
Open GitHub Releases Latest, then select the installer for your operating system and CPU:
- macOS on Apple Silicon (M-series):
mac-arm64.dmg - macOS on Intel:
mac-x64.dmg - Windows:
win-x64.exeorwin-arm64.exe - Linux: the matching
.AppImageor.deb
See the Desktop installation guide for platform-specific installation prompts.
2. Configure a model provider
Launch the app and open Settings → Providers.
The shortest path is to select an official option and follow its on-screen connection or sign-in flow:
- Claude Official
- ChatGPT Official: sign in with a ChatGPT account through OAuth
- Grok Official: sign in with an xAI account through OAuth
These official options do not require you to paste an API key. You can also select Add Provider, choose a built-in preset or Custom, and enter the API key, base URL, API format, and model mapping.
Before saving a custom provider, select Test Connection. When the test succeeds, make the provider the default. The app can translate OpenAI Chat Completions and OpenAI Responses requests through its built-in local proxy, so LiteLLM is not required by default.
See Third-party models and custom providers for configuration details.
3. Create your first task
Select + in the sidebar:
- Choose a local project directory.
- If it is a Git repository, choose the branch to use.
- Decide whether to use the current working tree or create an isolated worktree.
The current working tree shares any uncommitted changes already in that directory. An isolated worktree is better for parallel tasks or changes that should not affect your current checkout.
4. Confirm the model and permissions
Before sending the first message, confirm the Provider, model, and effort. For a first run, keep Default permission mode: the app will ask before sensitive tools or commands run.
Use automatic approval or bypass modes only when you understand their impact. See Desktop quick start for the permission modes.
5. Send the first message
Start with a small, verifiable request:
Inspect this project in read-only mode. Explain how to start it and what its main directories do. Do not modify files.
If you see a streaming response, tool calls, and permission requests, the Desktop app, provider, and project directory are connected.
Option 2: Run the CLI from Source
1. Clone the repository and install Bun
Install Git and Bun, then run:
git clone https://github.com/NanmiCoder/cc-haha.git
cd cc-haha
bun install
2. Configure a model provider
cp .env.example .env
Edit .env with at least one valid authentication method, base URL, and model. See Environment variables for the variable definitions and authentication-header differences.
Never commit a real API key to Git or expose it in an issue, screenshot, or diagnostic attachment.
3. Start and verify
On macOS, Linux, or Git Bash:
./bin/claude-haha
./bin/claude-haha -p "Summarize the current project structure"
On Windows PowerShell or Command Prompt:
bun --env-file=.env ./src/entrypoints/cli.tsx
See the CLI reference for command options, headless mode, recovery mode, and global usage.
Next Steps
- Desktop quick start: sessions, permissions, attachments, and workspace actions
- Third-party models and custom providers: providers, API formats, and model mapping
- FAQ: installation, OAuth, H5, worktree, and Computer Use troubleshooting
- Global usage: start the CLI from any directory