npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

claude-code-hub

v1.9.0

Published

Unified hub for Claude Code tools — Marketplace + Kanban in one PWA

Readme

Claude Code Hub

npm version license npm downloads

One window for your Claude Code tools: Kanban, Marketplace, Cost, and Memory Diagnoser, in a single chromeless PWA that you drive from the keyboard.

Website: nikiforovall.blog/claude-code-hub

Watch the tour on YouTube: light, dark.

The tools

Kanban

See tasks, sessions, and live agent activity as a board. Open a Claude Code session in the embedded terminal.

Marketplace

Browse and manage Claude Code marketplace plugins.

Cost

See what your Claude Code usage costs, per session and per project.

Memory Diagnoser

Explore the memory files that Claude Code loads for a project.

Quick start

npm i -g claude-code-hub
claude-code-hub --open

The hub starts on http://localhost:3540 and opens the browser. To get a window with no browser UI, install the page as an app from the browser menu. To update, run npm i -g claude-code-hub@latest.

To try the hub without installing it, run npx claude-code-hub --open. Each npx version runs from a different cache folder, so use a global install to keep the hub.

From source

git clone --recurse-submodules https://github.com/NikiforovAll/claude-code-hub.git
cd claude-code-hub
npm install && npm install --prefix marketplace && npm install --prefix cck && npm install --prefix cost && npm install --prefix memory
npm start        # http://localhost:3540

Agent observability (one-time setup)

For the full Kanban view (agent log, live subagent tracking, waiting-for-user indicators, and context window use), install the hooks:

npx claude-code-kanban --install

Without the hooks you still get the task board and sessions, but no live agent activity. The hooks and status line are installed per Claude config dir, so run the command again for each dir you use. See the Kanban docs for details.

Hub token

The hub page and its API need a token. Any local account can reach a loopback port, and the API carries the terminal token.

  • The token is in ~/.claude-hub/token. The hub creates it on the first run and keeps it across restarts.
  • The startup banner prints the URL with the token, http://localhost:3540/?token=…, and --open uses that URL. The hub sets a cookie and then removes the token from the address bar, so later visits and the installed app need no token.
  • Without the token, the page shows a locked screen.
  • To change the token, delete the file and restart the hub.

Config dirs

The hub can run the tools against more than one Claude config dir (CLAUDE_CONFIG_DIR), for example a work dir and a personal dir.

  • Press Ctrl+Alt+W to open the config-dir palette. Pick a dir to switch to it, or type a path to add a new one. Ctrl+D removes the selected dir.
  • Each dir gets its own set of the four tools. When you switch, the hub keeps the old set running, so switching back is instant. --pool-size sets how many sets stay alive (default 3). When the pool is full, the hub stops the least recently used set, but not a set whose Kanban has open terminals.
  • The list and the active dir are saved in ~/.claude-hub/config.json.

Choose the tools

By default the hub runs all four tools. To turn a tool off or change the tab order, add an apps list to ~/.claude-hub/config.json:

{
  "apps": [
    { "id": "kanban" },
    { "id": "cost" },
    { "id": "marketplace", "enabled": false }
  ]
}
  • The ids are kanban, marketplace, cost and memory.
  • The tools you list come first, in list order. The tools you do not list follow in the default order.
  • A tool with "enabled": false does not start and gets no tab. Links from other tools to it do nothing.
  • "port": 4543 sets the tool's port. See Ports for the order and the busy-port fallback.
  • With Kanban off, the embedded terminal is off, and the project palette has no project list. You can still type a path.
  • Restart the hub after you edit the file.

Run a second hub

Give the second hub its own folder for the config file and token with --hub-dir <path> or CLAUDE_HUB_DIR. See Run a second hub.

Embedded terminal

Under the hub, Kanban has an embedded terminal, on by default, so you can start or resume Claude Code sessions from the board. While a terminal is attached, the hub asks before it closes the window, because Ctrl+W meant for the terminal would close it.

To turn the terminal off, start the hub with --disable-terminal, or add this to ~/.claude-hub/config.json:

{
  "terminal": { "enabled": false }
}

Keyboard shortcuts

The hub has no visible UI of its own. Use these shortcuts:

| Shortcut | Action | | --- | --- | | Ctrl+Alt+→ | Next tool | | Ctrl+Alt+← | Previous tool | | Alt+1 | Kanban | | Alt+2 | Marketplace | | Alt+3 | Cost | | Alt+4 | Memory Diagnoser | | Ctrl+Alt+P | Project palette: set the project for all tools | | Ctrl+Alt+W | Config-dir palette: switch, add, or remove a config dir | | Ctrl+Alt+A | App launcher: switch to a tool, or restart it with Ctrl+R |

Alt+1 to Alt+4 follow the tab order, so they change when you choose the tools.

On macOS, every hub key is Control+Option with a key, the tool numbers too: ⌃⌥1 to ⌃⌥4. Option with a digit types a character there, so the hub leaves it to the tools.

In a palette, use ↑/↓ or Tab to move, Enter to select, and Esc to close.

The shortcuts also work when focus is inside a tool. Kanban keeps Ctrl+Alt+N (new session), Ctrl+Alt+R (resume session), and Ctrl+Alt+S (previous session) for itself. From Kanban you can also jump to another tool for the selected session:

| Shortcut | Action | | --- | --- | | M | Open Marketplace for the session's project | | $ | Open Cost for the session | | Ctrl+M | Open Memory Diagnoser for the session's project |

CLI flags

--port <n>              Hub port (default: 3540)
--kanban-port <n>       Kanban port (default: 3541)
--marketplace-port <n>  Marketplace port (default: 3542)
--cost-port <n>         Cost port (default: 3543)
--memory-port <n>       Memory Diagnoser port (default: 3544)
--pool-size <n>         Config-dir sets kept running after a switch (default: 3)
--disable-terminal      Turn off the embedded terminal in Kanban
--host <addr>           Bind address (default: 127.0.0.1)
--allowed-hosts <list>  Extra host names to accept, comma-separated
--open                  Open the browser on start
--detached              Keep running when stdin closes (the macOS tray uses it)
--tray                  Windows, macOS: run the hub from a tray icon
--autostart             Windows, macOS: same as --tray, and start the tray at logon
--no-autostart          Windows, macOS: stop starting the tray at logon
--tray-status           Windows, macOS: show whether autostart is on and the tray and hub are running
--app-id <id>           Windows, macOS, with --tray or --autostart: the installed app that Open Hub starts

If a port is busy, the hub uses a free port and reports it.

Tray icon (Windows, macOS)

claude-code-hub --autostart

The hub runs in the background with an icon in the notification area. Click the icon to open the hub. Right-click it to stop, start or restart the hub, open its log, turn Start with Windows on or off, or quit. The dot on the icon shows the state: green is running, amber is starting, red is stopped. If the hub stops unexpectedly, the tray shows a notice and turns red; start the hub again from the menu.

On macOS (experimental), the icon is in the menu bar.

To turn off autostart, untick Start with Windows or run claude-code-hub --no-autostart. To check the state, run claude-code-hub --tray-status. See Run the hub from the tray.

Included tools

| Tool | Docs | Repo | Submodule | Default port | | --- | --- | --- | --- | --- | | Kanban | Docs | claude-code-kanban | cck/ | 3541 | | Marketplace | Docs | claude-code-marketplace | marketplace/ | 3542 | | Cost | Docs | claude-code-cost | cost/ | 3543 | | Memory Diagnoser | Docs | claude-code-memory | memory/ | 3544 |

License

MIT