I sell Claude Code orchestration templates — bundles of agents, skills, and hooks that turn Claude Code into a multi-agent dev team. A few weeks ago, I started building a desktop app called CC Desktop: a GUI wrapper for Claude Code, so people who aren't comfortable with the terminal could use it too.
I just killed the project. Here's the full story.
The idea
Claude Code is powerful, but it runs in the terminal. That's fine for developers. But I kept thinking about people who aren't developers — designers, PMs, small business owners — who could benefit from Claude Code but won't touch a terminal.
The idea was simple: build a desktop app (Tauri + React) that wraps claude -p in a nice chat interface. No terminal required. Pick a project folder, type a message, get work done.
What I built
Over about 3 weeks, CC Desktop got to a working state:
- Tauri v2 + React 19 + TypeScript — cross-platform desktop app
- Chat UI with markdown rendering, syntax highlighting, code copy
- Project management — open folders, create new projects, recent projects list
- Auto-discovery — scans
.claude/agents/and.claude/skills/in any project and shows them in a sidebar - Slash command palette — type
/and see available skills from the project - Permission dialog — approve or deny tool calls from Claude
- Auto-approve toggle — let Claude work freely without interrupting
- Onboarding wizard — 4-step setup for first-time users
- i18n — Korean and English language support
- Light/dark theme
It worked. You could open a folder, send a message, and Claude would respond. Skills from templates showed up automatically.
What went wrong
1. Performance was terrible
CC Desktop spawns claude -p as a child process. This is the fundamental architecture problem.
If you're already running Claude Code in a terminal (which developers do), now you have two Claude Code processes fighting for resources. The numbers from GitHub issues confirm this isn't just my machine:
- 4 concurrent
claudeprocesses = 45% CPU, ~300MB RAM each - MCP server port conflicts when multiple instances run
- Each subprocess wastes ~50K tokens per turn re-injecting global config
- OOM kills reported by multiple users
The official Claude Code Desktop avoids this by integrating the engine natively — no subprocess. I couldn't do that. The CLI is the only public interface.
2. Anthropic shipped the same thing — but better
While I was building CC Desktop, Anthropic released two products that made it unnecessary:
Claude Code Desktop — an official GUI with visual diffs, parallel sessions, live app preview, PR monitoring, and GitHub integration. Free with Pro/Max subscription. Native engine integration, no subprocess overhead.
Claude Cowork (January 2026) — described as "Claude Code without the code." Chat-based file operations for non-technical users. Exactly the audience I was targeting.
Both are free. Both are better resourced. Both solve the problem more fundamentally than wrapping a CLI.
3. The market was already crowded
I knew about Opcode (20K+ GitHub stars, same Tauri + React stack, free and open source). What I didn't fully appreciate was how many others existed — Codexia, CodePilot, Claude Code WebUI, Yume, CC Switch. All free, all open source, all targeting the same audience.
I was building yet another Claude Code GUI in a market that already had too many.
What I'd do differently
Research the competitive landscape before writing code. I checked Opcode and thought "I can differentiate with template integration." I didn't check what Anthropic was building. I didn't count how many open-source alternatives existed. I started coding too fast.
Question the architecture earlier. The subprocess approach (claude -p) has documented resource problems. I could have found the GitHub issues in 10 minutes of searching. Instead I discovered the performance problem after weeks of building UI features.
Be honest about the moat. A GUI wrapper over a CLI is not a defensible product. Anyone can build it. The CLI owner (Anthropic) will always build a better one because they control the engine.
What's still there
The code is on GitHub. It's a working Tauri + React app with chat, project management, agent/skill discovery, i18n, and onboarding. If someone finds it useful as a reference or starting point, great.
One thing CC Desktop did that the official tools don't: **auto-discover agents and skills from .claude/ and show them in a sidebar**. The official Claude Code Desktop doesn't support agent teams or multi-agent orchestration — that's still CLI-only. If that changes, the last reason for CC Desktop to exist disappears entirely.
If you're thinking about building a GUI wrapper for an AI CLI tool: check what the CLI maker is building first. If they're shipping their own GUI, your wrapper has a short shelf life.