CLACOROO, the control room for Claude Code
A desktop control panel that puts a graphical interface on top of every configuration file Claude Code reads. What follows are the engineering decisions that made it work, not a feature list.
CLACOROO is a desktop application built with Electron that manages Claude Code plugins, marketplaces, skills, agents, MCP servers, hooks, quotas and API keys through a visual interface, with no CLI commands to memorise. It runs on macOS, Windows and Linux, ships under the AGPL v3 licence and is developed by MAXYMIZE.
Visit the CLACOROO website Full gallery, documentation and downloads for macOS, Windows and Linux.
The problem it solves
Claude Code keeps its configuration in a constellation of JSON files inside the user home directory. Enabled and disabled plugins, registered marketplaces, skills, agents, MCP servers, hooks: each lives in a different file with a different shape, edited either through commands you have to remember or by hand.
That works while the moving parts are few. Once an installation grows, understanding what is active, how much of the context window it consumes and what broke becomes archaeology performed one file at a time.
CLACOROO solves this in the least invasive way available: it does not replace the configuration, it makes it visible. Every screen maps to files that stay exactly where they are and keep working even if the app is uninstalled.
The decisions that mattered
These are the choices that determined whether the project would work. We describe them because this is the kind of reasoning we bring to any custom build, not just this one.
The filesystem stays the source of truth
The tempting design is to hold internal state and synchronise it. We chose the opposite: no database, no copy. CLACOROO reads the real files when it needs them and writes back to those same files. The consequence is that anyone who prefers hand-editing can carry on, and uninstalling the app leaves nothing behind.
Conservative writes: never delete what you do not understand
A configuration file may hold keys introduced by newer versions of the tool, or by other programs entirely. Rewriting it wholesale would destroy them. Every save touches only the fields the interface actually manages and leaves everything else untouched. It is a rule that costs extra code on every single write path.
Credentials are read, never written
OAuth account credentials are the one thing the app must not be able to break. We drew a hard boundary: account and authentication sections are read-only, showing status and expiry with no write path at all. The worst possible failure for a management tool is invalidating access to the thing it manages.
A real terminal, not a fake shell
The embedded terminal does not simulate command output: it opens a real pseudo-terminal through node-pty and renders it with xterm. It costs more at build time, because that is a native module to recompile for every operating system, but it is the only way for interactive commands, colours and control sequences to behave exactly as they do in a system terminal.
Knowing what the configuration costs before you start
The dashboard estimates how much of the available context window the active configuration consumes: skills indexed from frontmatter, system prompt, agents, memory files, MCP servers. It is the number no interface was showing, and it changes how people work, because it surfaces a cost you would otherwise discover only when you run out of room.
What it is built with
Every choice has a practical reason behind it. An app that has to read the user filesystem and spawn real processes was never going to be a web page.
Application
- Electron 36
- Node.js
- JavaScript
- Separate main and renderer processes
Embedded terminal
- node-pty
- xterm.js
- fit addon
- web-links addon
Distribution
- electron-builder
- Signed macOS DMG
- Homebrew Cask
- Windows and Linux builds
Quality
- patch-package
- Automated locale audit
- Smoke tests
- AGPL v3 licence
What this means for your project
If you are deciding who to trust with similar work, these are the problems we already know how to handle.
- Desktop applications that integrate with tools already installed on the user machine, without asking anyone to change habits or abandon what they use today.
- Interfaces built on top of existing systems that remain fully usable without the interface: a requirement that sounds obvious and that almost no product actually honours.
- Cross-platform distribution with signing and packaging for macOS, Windows and Linux, including publication to package managers such as Homebrew.
- Internal tooling for development teams, where success is measured in hours saved each week rather than in features shipped.
Frequently asked questions
What is CLACOROO?
CLACOROO is a desktop app that gives Claude Code configuration a graphical interface: plugins, marketplaces, skills, agents, MCP servers, hooks, usage statistics and quotas. It runs on macOS, Windows and Linux and is developed by MAXYMIZE. The name comes from CLAude COde COntrol ROOm.
Is CLACOROO free?
Yes. It ships under the AGPL v3 licence, so it is free software: you can use it, study it and modify it. The project is supported by voluntary donations through GitHub Sponsors, Buy Me a Coffee and PayPal.
Does it modify my configuration files destructively?
No. Every save touches only the fields the interface manages and leaves everything else intact, including keys the app does not recognise. Authentication credentials are read-only and are never rewritten. If you prefer editing files by hand, you can keep doing exactly that.
Can you build a similar tool for my team?
Yes, this is precisely the work we do: cross-platform desktop apps, internal control panels, interfaces layered over existing systems. The starting point is identifying which manual process costs you the most time each week. From there we scope the work and quote it.
Need a tool built around how your team actually works?
Tell us which manual process is costing you the most time. In the first call we work out together whether building it makes sense and what it would take.