Skip to main content

claude-config-dashboard

CI PyPI Python License: MIT

A local web dashboard for everything installed in your ~/.claude — plugins, agents, skills, commands, hooks, MCP servers, and rules — with usage analytics pulled from your session history, and a project-only view that diffs your current project's .claude against your home config. Ships as a standalone CLI (PyPI) and as a Claude Code plugin.

Unlike config managers, this is a deliberately read-only, zero-dependency analyzer (Python stdlib, no Node/React/build step): it tells you what your config costs. The Context Tax shows the number of tokens measured from your own session transcripts that every session starts with — not a chars ÷ 4 estimate, so it already includes the system prompt and MCP tool schemas. Alongside it, a home banner surfaces the gap /context can't: how many of your installed agents, skills, and MCP servers you've actually used (e.g. "77 installed, 4 used"). For anything unused for 30+ days, it can generate a plain shell script that archives it (mv, never rm) for you to review and run yourself. The dashboard never touches your filesystem on its own. Prefer a straight answer over a browse? --report and --statusline give you the same measured data as plain text — see below.

Claude Config Dashboard demo: tab tour, Context Tax token estimate, and cleanup script download

Install & run

No install, always latest (uv):

uvx claude-config-dashboard

pip:

pip install claude-config-dashboard
claude-config-dashboard

Claude Code plugin (adds /claude-config-dashboard:show and /claude-config-dashboard:tax):

/plugin marketplace add AshtonYoon/claude-config-dashboard
/plugin install claude-config-dashboard
/reload-plugins

then run /claude-config-dashboard:show for the web dashboard, or /claude-config-dashboard:tax for the plain-text verdict below — no browser needed.

All three install paths open the dashboard at http://localhost:9876. Pass --port to use a different one, or --no-open to skip launching a browser.

CLI: a verdict without the browser

For a quick answer instead of the full dashboard:

claude-config-dashboard --report          # plain-text verdict, no server
claude-config-dashboard --report --clean  # ...plus an archive script for idle items
Claude Config Report
measured from your last 9 sessions (since 2026-05-26)

  Every session starts with      46,708 tokens   (range 34,345-109,104)
    Claude Code baseline         29,699   system prompt + MCP schemas, not cuttable
    Your config                  17,009   <- this is what you control

  Installed vs. actually used (last 30 days)
    Agents  0/77 used      77 idle
    Skills  0/12 used      12 idle
    MCP     0/3 used      3 idle

  Verdict: ~65% of your config (~11,076 tok) is dead weight.
  -> claude-config-dashboard --report --clean   to generate an archive script
     (mv-only, never deletes -- review before running)

(Real output from this maintainer's ~/.claude — the 0/77 isn't a bug: only built-in agent types were invoked in that window, none of the 77 custom-defined ones.)

Same underlying data as the Context Tax and Cleanup tabs, as a single stdout block. In Claude Code, run /claude-config-dashboard:tax to get the same thing without leaving the session.

In a real terminal, --report colors the token totals and a gradient bar (your config vs. Claude Code's fixed baseline), with the idle counts and verdict colored by severity — auto-detected, so it's plain text when piped, redirected, or NO_COLOR is set, and can be forced either way with --color / --no-color. No new dependency: it's plain 24-bit ANSI codes, stdlib only.

statusline: always-on

claude-config-dashboard --statusline reads Claude Code's statusLine JSON payload from stdin and prints one line: this session's measured start-of-context cost, plus how many installed items sit idle (cached in the system tempdir — never inside ~/.claude — refreshed at most every 5 minutes, so it stays fast). Add it to ~/.claude/settings.json:

{
  "statusLine": { "type": "command", "command": "claude-config-dashboard --statusline" }
}

Features

Tab Contents
Plugins Installed plugins with version, GitHub link, install date
Agents Agents grouped by category — click name to open file
Skills Custom and plugin-provided skills
Commands Slash commands with descriptions — click to open file
Hooks Hook scripts by trigger type — click to open script
MCP Servers Configured MCP servers from settings.json and ~/.claude.json
Rules Rule files by category — click to open file
Context Tax Measured tokens every session starts with (from your real session history), a static per-item breakdown of your own config, plus a downloadable cleanup script (archive-only, review before running) for unused items
Cleanup Agents, skills, and MCP servers unused for 30+ days
Project-only config MCP servers, skills, commands, hooks, and rules that exist only in the current project's .claude

Clicking any file name opens it in the OS default app (editor, Finder, etc.). Usage counts and "last used" come from parsing your local session transcripts — nothing leaves your machine.

Security

The dashboard binds to localhost only. Opening a file (/open) or stopping the server (/stop) requires a per-run token embedded in the page and only accepts paths the dashboard itself is already showing you — a malicious web page open in another tab cannot trigger either endpoint. See CHANGELOG.md (v1.6.1) for the fix history.

Update

/plugin update claude-config-dashboard
/reload-plugins

If /plugin update shows a "browse plugins" prompt instead of updating directly, the local marketplace cache is stale. Run this once to refresh it:

cd ~/.claude/plugins/marketplaces/claude-config-dashboard && git pull

Then retry /plugin update claude-config-dashboard.

pip/uvx installs pick up new releases automatically the next time you run them (uvx always fetches latest; pip install -U claude-config-dashboard to upgrade an existing install).

Development

git clone https://github.com/AshtonYoon/claude-config-dashboard
cd claude-config-dashboard
uv venv .venv && uv pip install -p .venv pytest pytest-cov ruff

.venv/bin/pytest --cov            # 67 tests, coverage gate at 80%
.venv/bin/ruff check .
.venv/bin/ruff format .

The app lives in claude_config_dashboard/ (collectors → usage → enrich → render → server); dashboard.py at the repo root is a thin backward-compatible launcher for the plugin command. Design notes: docs/DESIGN.md.

Requirements

  • Python ≥ 3.9, standard library only at runtime (no dependencies to install)
  • macOS or Linux (uses open/xdg-open to launch default apps)

Metadata

Release files for claude-config-dashboard 1.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for claude-config-dashboard 1.11.0
File Size Uploaded Provenance
claude_config_dashboard-1.11.0.tar.gz 3.4 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for claude-config-dashboard 1.11.0
File Interpreter ABI Platform
claude_config_dashboard-1.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / claude_config_dashboard-1.11.0.tar.gz

Download URL claude_config_dashboard-1.11.0.tar.gz
Size 3.4 MB
Tags Source
SHA-256 checksum
How to use checksums
79e8099ef2109b32d6af2baad00cc6884d91b2df86dd2f0e6ead8a6c784b29ca
BLAKE2b-256 checksum
How to use checksums
49e68a4cdde7354a4482dade7482b02b1fec4c492ebb2ef66a5e1454c6c73443
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Release files / claude_config_dashboard-1.11.0-py3-none-any.whl

Download URL claude_config_dashboard-1.11.0-py3-none-any.whl
Size 41.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dea27882798a719fbb99152006a5a018ff8407684e2f28962acd8267b354cf2c
BLAKE2b-256 checksum
How to use checksums
114fac29a719c23ef5acc1d7fd492717b6cceb246bae0da0578a3f2544f0a54f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Security for claude-config-dashboard 1.11.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for claude_config_dashboard-1.11.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page