explaingit

nanmicoder/cc-haha

10,788TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A desktop GUI for Claude Code that adds tabbed chat sessions, visual code diffs, permission controls, and support for multiple AI providers so developers can avoid working entirely in a terminal.

Mindmap

mindmap
  root((repo))
    What It Does
      GUI for Claude Code
      Tabbed chat sessions
      Visual code diffs
      Permission controls
    AI Support
      Anthropic Claude
      OpenAI DeepSeek
      Local model APIs
    Special Features
      Remote access token
      Messaging app integration
      Computer Use mode
    Tech Stack
      Tauri 2
      React and Vite
      Bun runtime
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace the Claude Code terminal with a graphical app that shows diffs and lets you approve or reject AI edits before they are applied.

USE CASE 2

Run multiple Claude Code sessions as tabs to work on different projects or tasks simultaneously in one window.

USE CASE 3

Connect a third-party or locally-hosted model as a cost-saving alternative to the default Anthropic API.

USE CASE 4

Access your Claude Code desktop session remotely from a phone or another device using the one-time token feature.

Tech stack

TypeScriptTauri 2ReactViteBun

Getting it running

Difficulty · moderate Time to first run · 30min

Tauri apps require platform-specific system dependencies: WebView2 on Windows and webkit2gtk on Linux in addition to Node.js and Bun.

License not mentioned in the explanation.

In plain English

Claude Code Haha is a desktop application that wraps Claude Code (Anthropic's AI coding assistant command-line tool) in a graphical interface for macOS and Windows. The project originated from a leaked copy of the Claude Code source code and has since evolved into a feature-rich workbench aimed at developers who prefer not to work entirely in a terminal. The app collects several workflows into one window. You can manage multiple chat sessions as tabs, switch between different projects, view code changes on the right side of the screen while chatting, and inspect AI-generated edits as a diff before accepting them. There is a permission review panel where you can approve or reject tool calls and potentially dangerous commands that the AI wants to run. Beyond the basics, the app supports connecting to multiple AI providers, not just Anthropic. You can configure third-party models such as those from OpenAI, DeepSeek, or locally-hosted models through a compatible API. There is also a Computer Use mode where the AI can take screenshots, move the mouse, and type on your keyboard to control desktop applications directly. For remote access, the app can generate a one-time token that lets you connect to your current desktop session from a phone or another device through a browser. It also supports receiving commands and approving requests through messaging apps including Telegram, and Chinese platforms like Feishu, WeChat, and DingTalk. The tech stack uses Tauri 2 for the desktop shell, React and Vite for the UI, and Bun as the local runtime. The CLI portion can also be launched from the command line for users who want to modify or debug the underlying code.

Copy-paste prompts

Prompt 1
I'm setting up nanmicoder/cc-haha and want to use DeepSeek instead of Anthropic. How do I configure a custom API provider with a base URL and model name in the app settings?
Prompt 2
Help me understand the permission review panel in nanmicoder/cc-haha. How should I decide which tool calls to approve or reject when the AI wants to run a shell command or delete a file?
Prompt 3
I want to use nanmicoder/cc-haha with a locally-hosted model via an OpenAI-compatible API endpoint. What base URL, API key placeholder, and model name do I enter in the provider settings?
Prompt 4
Show me how to generate a remote-access token in nanmicoder/cc-haha so I can connect to my desktop session from my phone's browser and approve a pending task while I'm away from my desk.
Prompt 5
I want to enable Computer Use mode in nanmicoder/cc-haha to have the AI fill in a web form. What safety controls should I set before enabling it, and how do I watch what it's doing in real time?
Open on GitHub → Explain another repo

← nanmicoder on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.