by stefanprodan
Live top-style monitor for Claude Code sessions
# Add to your Claude Code skills
git clone https://github.com/stefanprodan/cctopLast scanned: 6/28/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-28T07:52:48.315Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}cctop is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by stefanprodan. Live top-style monitor for Claude Code sessions. It has 123 GitHub stars.
Yes. cctop passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/stefanprodan/cctop" and add it to your Claude Code skills directory (see the Installation section above).
cctop is primarily written in TypeScript. It is open-source under stefanprodan on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh cctop against similar tools.
No comments yet. Be the first to share your thoughts!
Interactive top-style monitor for Claude Code sessions. Know at a glance what Claude is working on, how much context it has left, and which sessions are waiting for input.
--once it prints a single frame.
The sort mode, refresh interval, and notifications toggle are remembered
across restarts.n and cctop
rings the terminal bell and raises a desktop notification (OSC 9, supported
by iTerm2, Ghostty, kitty, WezTerm, Windows Terminal) whenever a busy
session finishes its turn and waits for your input — so you can look away
while agents run. Works with tmux monitor-bell window flags too.x → SIGTERM, with confirm), or
free ports held by a session's leftover dev server
(f in the detail view).h) — a dashboard over past sessions: a per-day
token-usage chart, recent sessions, and breakdowns by model, tool/MCP, and
project.~/.claude and the process table,
spawns no processes; the only files it writes are its own preferences and
usage cache under ~/.claude/cctop/.On macOS or Linux, install the standalone binary with Homebrew:
brew install stefanprodan/tap/cctop
Or install it as a script with Bun:
bun install -g github:stefanprodan/cctop#v0.5.0
To display the subscription's rate-limit usage, add the following to your Claude Code status-line script:
input=$(cat)
# persist the account-wide 5h/7d rate limits
printf '%s' "$input" | cctop --capture-usage || true
With --capture-usage the rate limits stats are persisted to
~/.claude/cctop/usage.json from which the cctop TUI reads.
See docs/usage-limits.md for more details.
With Homebrew:
brew upgrade stefanprodan/tap/cctop
Or upgrade the script to the latest release with Bun:
bun rm -g cctop; bun install -g github:stefanprodan/cctop#v0.5.0
With Homebrew:
brew uninstall stefanprodan/tap/cctop
Or with Bun:
bun uninstall -g cctop
If you enabled usage limits, also remove the cctop --capture-usage line from
your Claude Code status-line script.
On an interactive terminal cctop runs as a live TUI (like top); when piped,
redirected, or run with --once it prints a single frame and exits.
While the TUI is running:
| Key | Action |
|---|---|
↑/k ↓/j |
move the selection |
PgUp/PgDn |
jump 10 rows |
g / G |
jump to top / bottom |
enter |
open the detail view for the selected session |
h |
open the session history dashboard (↹ tabs, r rescan) |
esc |
leave the detail view / close an overlay |
/ |
filter sessions (type, enter to apply) |
s |
cycle the sort column (default, cpu, mem, ctx, pid) |
n |
toggle notifications (bell + desktop when a session needs input) |
x |
quit the selected session (SIGTERM, with confirm) |
f |
reclaim the detail view's orphan ports (SIGTERM, with confirm) |
? |
toggle the help overlay |
q / Ctrl-C |
quit cctop |
cctop [filter] [options]
filter only show sessions whose project, host, branch,
model, or session id contains this
-w, --watch[=seconds] set the refresh interval (default: 1s, min 0.25s)
--once render once and exit (default when piped)
--json print full session details as JSON
-v, --version show version
-h, --help show this help
Examples:
cctop flux # start filtered to sessions matching "flux"
cctop --watch=0.5 # refresh twice a second
cctop --once # single frame, then exit
cctop --json # machine-readable snapshot
cctop is open source and contributions are welcome — open an issue or send a
pull request on GitHub. See
docs/CONTRIBUTING.md to get set up.