CommandHub
A standalone, local-first dashboard to see, understand, and quickly edit your entire Claude Code
harness — skills, commands, workflows (saved + generated run scripts), subagents, hooks, MCP servers,
context (CLAUDE.md/rules), per-project memory, plugins, settings files (per-tab ⚙/✓ buttons), and
built-in harness tools — across your personal config and every known project, with an approximate
per-file token size, a click-to-edit notepad, add/delete/enable-disable actions, project forget, and
live updates.
It reads (and, on explicit user action, writes) only local Claude Code config files. No cloud, no
account, no telemetry, no autonomous behavior. The server binds to 127.0.0.1; its only outbound
traffic is an at-most-daily refresh of the built-in catalog from the public Claude Code docs at
startup (--no-docs-refresh turns it off — see Safety).
Install
CommandHub isn't on a public package registry yet, so the simplest way to install it is to let
Claude Code do it for you. Clone the repo, open it with Claude Code, and ask:
git clone https://github.com/aidenhongg/claude-command-center.git
cd claude-command-center
claude
Then tell Claude:
Install CommandHub.
Claude reads the repo, installs dependencies, builds the app, and links the commandhub command onto
your PATH — after which every launch channel below works. Prefer to do it by hand? That's just
npm install && npm run build && npm i -g . (see Develop).
Launch
Once installed, open the dashboard from whichever surface you live in:
| Channel | How |
|---|
| Terminal | commandhub |
| Claude Code | /plugin marketplace add aidenhongg/claude-command-center → /plugin install commandhub@commandhub, then /CCC. |
| VS Code | Install the extension in packages/vscode, then run CommandHub: Open Dashboard. |
| Claude Desktop | Build packages/desktop-ext (npm run pack:mcpb) → install the .mcpb → use the open_dashboard tool. |
Each channel starts a local server on an ephemeral port and opens your browser to
http://127.0.0.1:<port>/?t=<session-token>. The token gates the local API (anti-CSRF). The dashboard
opens on your current project's view when the working directory is a Claude Code project, else on the
Global view; switch views from the sidebar (Global / Personal) or the project dropdown. All four
channels funnel through the same single-instance launcher, so a second launch (/CCC, the VS Code
command, …) deterministically re-opens the one running dashboard instead of stacking servers.
Flags
| Flag | Meaning |
|---|
--project <path> | Also scan this folder as a project and open its view (default current: cwd if it has .claude/CLAUDE.md/.mcp.json). |
--port <n> | Listen on a fixed port (default: ephemeral). |
--no-open | Don't auto-open the browser. |
--no-watch | Disable live updates (the file watcher is on by default). |
--no-docs-refresh | Never refresh the built-in catalog from the docs (stay strictly offline). |
--log-file | Write newline-delimited JSON diagnostics to ~/.commandhub/logs/. |
--help, --version | Usage / version. |
Develop
npm install
npm run dev # Vite (5173) + server (7878, --dev) with HMR; open http://localhost:5173
npm run build # build:web (Vite → dist/web) + build:server (tsc → dist)
npm start # run the built app
npm run typecheck # tsc --noEmit (server + web)
npm run lint # eslint + prettier --check
npm test # vitest
To put the commandhub command on your PATH from a local clone, run npm i -g . after a build (or
npm link). The Claude Code, VS Code, and Claude Desktop channels all resolve commandhub through
that global install.
Safety