CLI tool
NanmiCoder/cc-haha avatar
NanmiCoder/cc-haha

cc-haha: A Desktop Workspace for Claude Code That Packs in Everything but Clarity

cc-haha is a cross-platform desktop workspace for Claude Code and AI coding workflows, with multi-agent sessions, branch worktree support, diff review, permissions, model switching, Computer Use, skill marketplace, and remote team-friendly messaging integrations.

15,422 stars8,623 forksTypeScriptMIT

At a glance

What is it?
cc-haha is a cross-platform desktop app that wraps Claude Code in a GUI with multi-agent sessions, worktrees, diff review, and model switching. It is ambitious, but the README raises questions about focus and maintenance.
Who is it for?
Adopt cc-haha if you are a Claude Code user on macOS, Windows, or Linux who wants a GUI for session management, diff review, and model switching without leaving the desktop. Skip it if you prefer the terminal or need a stable, narrowly scoped tool.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.

From daily snapshots

Star history

  • NanmiCoder/cc-haha15,422 ★ · +1,682
Star history
Repository2026-07-292026-11-13
NanmiCoder/cc-haha13.7k15.4k

1,682 Stars in the last 107 days, measured from the daily GitHub snapshot. Compare with other projects

Editorial analysis

What cc-haha Actually Solves

cc-haha addresses a specific pain: Claude Code normally runs in a terminal, which is fine for a single session but gets messy when you juggle multiple projects, review diffs, or approve permissions. The README describes cc-haha as a desktop workspace for macOS, Windows, and Linux that brings multi-session workspaces, global search, branch and worktree launch, diff review, and GUI permission approval into one app. The target user is someone who spends their day inside Claude Code and wants a visual layer on top: seeing tool calls as they happen, reviewing changes file by file in a syntax-highlighted diff, and switching models without editing config files. It is not a new AI model; it is a desktop workbench built around Claude Code, which matters for how you evaluate it.

How It Works: A GUI Over Claude Code

The README does not expose the internal architecture, but the feature list makes the mechanism clear. The app launches sessions against a project, keeps permissions visible, and shows tool calls and stage-by-stage progress in the UI. It supports launching from a branch or worktree, which means you can start a session on a specific git branch without switching your working directory manually. The built-in browser preview lets you verify an edited page in place, and the model picker lists your providers, presets, and local endpoints in one place. There is also a visual MCP and SubAgent manager, an Agent Teams workbench, and dynamic Workflow orchestration. The data flow is straightforward: you configure a provider and API key in Settings, then the app talks to the model through your chosen endpoint, with the Claude Code session running underneath. The README does not specify whether it wraps the Claude Code CLI directly or reimplements its protocol, so treat that as an open question.

Getting It Running: Install and First Launch

Installation is conventional: download the desktop installer for macOS, Windows, or Linux from the Releases page. On first launch, you configure your model provider, API key, and default model in Settings. The README warns about platform quirks: public macOS releases require signing and notarization, and unsigned temporary builds may need manual approval. Windows installers may trigger SmartScreen, and you must click 'More info' then 'Run anyway' to proceed. There is no command-line install or package manager step, which is a departure from the typical open-source CLI tool. The setup is GUI-driven, so you do not need to edit JSON config files to get started. The README links a detailed desktop installation guide at docs/start/install.md; check that file for platform-specific steps.

The Feature Bloat Problem

cc-haha's README lists an enormous surface: multi-session workspaces, global search, diff review, browser preview, GUI permission approval, any model, image generation, visual MCP and SubAgent managers, Agent Teams, Workflow orchestration, model trace, Computer Use, skill marketplace, colour themes, desktop pets, H5 remote access, IM integration, and scheduled tasks. That is a lot for a spare-time project. The README says the project is maintained in the author's spare time, which is a red flag for a tool with this much surface area. Each feature is a potential source of bugs, and the documentation is thin. The desktop pets and H5 remote access feel like scope creep, not core value. If you need a reliable tool for daily coding, the breadth might work against it: more features mean more places where it can break, and a single maintainer cannot keep every part polished.

Limitations and Failure Modes

The most obvious limitation is platform friction. Unsigned macOS builds need manual approval, and Windows SmartScreen warnings are expected. That is not a failure of the app itself, but it adds friction for non-technical users. The README also shows a dependency on external API providers: model calls go through your own provider or a sponsored gateway such as Modelflare, AruHub or Moe API. If your provider has an outage or rate limit, cc-haha cannot help. The skill marketplace is another risk: the README says source and safety status are shown up front, but installing third-party skills means trusting code that runs in your environment. For teams, the IM integration and H5 remote access sound useful; the phone app pairs by scanning a code, connects directly on the same Wi-Fi and through Cloudflare when away, and docs/desktop/remote.md has the details. If you need offline operation, note that it needs a model endpoint; the README says local models from LM Studio and Ollama can be connected.

Alternatives: Terminal Native and Web-Based

The obvious alternative is using Claude Code directly in a terminal. That gives you the same underlying agent with no GUI, no worktree launcher, and no visual diff, but it is simpler and has fewer moving parts. If you are comfortable with tmux or multiple terminal tabs, you get multi-session support without installing anything. Another alternative is a web-based tool like GitHub Copilot Workspace, which offers AI coding with a browser interface and built-in diff review. The difference in approach is that cc-haha keeps the Claude Code CLI as the core and adds a desktop shell, whereas web-based tools integrate the model into their own editor and do not rely on a separate CLI. If you value the Claude Code ecosystem and its skills, cc-haha is a closer fit; if you want a self-contained AI IDE, look elsewhere.

Maintenance and License

GitHub does not identify a standard licence for the project (NOASSERTION); the repository carries LICENSE, LICENSING.md, NOTICE and THIRD_PARTY_LICENSES.md, so read those before reuse. The README does not include a formal maintenance policy, but the recent release history shows activity: v0.7.6 on 2026-10-31, v0.7.5 on 2026-10-20, and v0.7.4 on 2026-10-16. That suggests active development, but the 'spare time' note signals that release cadence can slow. Upgrade cost is not documented; the README does not point to a migration guide. Given the feature list, upgrading between minor versions could introduce changes in settings or session formats, so you should read the release notes before upgrading. The project is not archived, and the default branch is main, which is a good sign, but the documentation is thin for a project this size.

Editorial conclusion

Adopt cc-haha if you are a Claude Code user on macOS, Windows, or Linux who wants a GUI for session management, diff review, and model switching without leaving the desktop. Skip it if you prefer the terminal or need a stable, narrowly scoped tool. Before adopting, verify that the features you rely on, such as Computer Use or skill marketplace, work on your platform and with your model provider. Check the repository's LICENSE and LICENSING.md files, since GitHub does not identify a standard licence, and note that it is maintained in spare time with recent releases, so check the latest release notes for breaking changes. Do not adopt it for enterprise-critical workflows without testing it on your own projects first.

Frequently asked questions

Does cc-haha run on anything besides macOS?

Yes. Desktop installers for macOS, Windows, and Linux are downloaded from the repository's Releases page, and the project is written in TypeScript. Computer Use uses a native engine on macOS and reuses agent-desktop on Windows and Linux; supported background semantic operations do not move the real mouse, while physical input still takes the foreground.

How do I connect a model that is not Claude to cc-haha?

First launch sends you to Settings for a provider, an API key, and a default model, and the repo's .env.example shows the variable contract behind that: ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, ANTHROPIC_MODEL, plus the Sonnet, Haiku, and Opus defaults. OpenAI's gpt-4o and DeepSeek's deepseek-chat both arrive through a LiteLLM proxy you start on port 4000, while MiniMax and OpenRouter connect to Anthropic-compatible endpoints directly.

Can I install the cc-haha command line tool from npm?

No. package.json sets private to true with the version pinned at 999.0.0-local and packageManager [email protected], and the bin entry points at ./bin/claude-haha, so it is a checkout-local binary. The documented install path is the desktop installer from the Releases page.

Can I reach a cc-haha session from my phone or chat app?

The feature set includes a phone app, H5 remote access, IM integration, and scheduled tasks. The Android and iPhone apps pair with the desktop by scanning a code, connect directly on the same Wi-Fi and through Cloudflare when away, and need desktop v0.7.6 or newer.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nanmicoder-cc-haha.svg)](https://hysenlabs.com/projects/nanmicoder-cc-haha)

Star history chart for your README

markdown
[![Star history](https://hysenlabs.com/chart/nanmicoder-cc-haha.svg)](https://hysenlabs.com/projects/nanmicoder-cc-haha)

Was this useful?