Skip to main content

claude-top

top for your Claude Code sessions: what each one is doing, what it's waiting on, and how fast you're using your plan.

test PyPI Python License: MIT

claude-top demo

It's a live view of every background session showing when it was last active, what it's waiting on, its model, effort and context size, and the helpers it started. The header shows your 5-hour and weekly plan usage, how fast you're using it, and when you'd run out.

Install

uv tool install claude-agents-top   # or: pipx install claude-agents-top
uv tool install git+https://github.com/jachai/claude-top   # the latest from main

The package is claude-agents-top on PyPI because claude-top there is an unrelated project. Both install a claude-top command, so don't install both. This one is a single file with no dependencies: Python 3.9+ on macOS or Linux (on Windows only --once works). You can also copy claude_top.py anywhere on your PATH.

Show plan usage (optional)

Claude Code hands your plan limits to its status-line command, so claude-top needs to be that command to see them:

claude-top init          # sets the status line in ~/.claude/settings.json (backs it up first)
claude-top init --wrap   # already have a status line? keep it: record the limits, then run yours

Your status line then shows a line like 5h 38% 0.6x · week 54% 1.3x → out Fri 13:37 (with --wrap, your own line, unchanged). --dry-run shows the change, --undo puts things back. If you'd rather edit your own script, add echo "$input" | claude-top record to it.

Use

claude-top              # full screen, refreshes every 2s
claude-top -s waiting   # only sessions waiting for you (Claude Code calls it "blocked"; -s blocked works too)
claude-top -g billing   # text filter
claude-top --once       # print once and exit
claude-top --expand     # start with every section open

Sessions sit in sections, like Claude Code's own agents view: needs input and working are open, while review, done, stopped and idle 1d+ (anything with no activity for a day, whatever its state; --idle-hours changes it) are each folded into one line with how many sessions it holds and their names. So what is still going on is all you see. Enter or a click on a section's line opens or closes it, → ← do the same from the keyboard, and e opens every section or puts them back. A state or text filter shows plain rows, no sections. Clicking needs the mouse; --no-mouse leaves it to your terminal for selecting text.

Key Action
↑ ↓ / j k move
enter open the session (claude attach <id>), or open / close a section
→ ← / click open / close a section (a click on a session selects it)
e open every section, or put them back
c copy the attach command
o sort: last active, created, context, agents, name
f filter by state
/ text filter
r show / hide retired session guides
+ - refresh slower / faster
? help: every key and column
u update claude-top (offered in the footer when a newer release is out)
q quit

With session-guide

If you run session-guide, claude-top knows its sessions: the active guide (🟥🟥 Sessions Manager) is always on top, and guides that handed over (🟩🟩 retired) are hidden. Press r or pass --retired to see them. It reads the skill's markers in ~/.claude/session-guide/guides/, and falls back to its default titles.

A worker the guide has finished with shows as done, not waiting on you, even while Claude Code still lists it under needs input: either its marker says done, or the active guide's ledger lists it in the ## Sessions table with a Level of DONE, RETIRED, STOOD DOWN or CLOSED. A worker that is actually working stays in working.

Reading it

  • Header: sessions by state (working, waiting for you, review = finished in a worktree that's still open, done, stopped), then what's running now: working sessions + subagents, subagents spawned in total, and background tasks.
  • Usage bars (5h, week): the bar fills with the % of the limit used, and │ marks how much of the window (time) has passed. A bar filled past the │ means you're ahead of budget.
  • Speed (1.3x): % used ÷ % of time elapsed. 1.0x lands exactly on 100% at reset, and 2.0x runs out halfway through. The gauge's middle line is 1x. now is the speed over the last few hours (--rate-hours, default 3; the week uses a little more because limits come in whole percents).
  • →: when you'll run out at the current speed (and how early that is), or roughly where you'll end up at reset.
  • LAST ACTIVE / AGE: last activity vs. when the session was created. The built-in agents view only shows age.
  • RUN / SPAWNED: subagents running now / started in total. BG: background shells, monitors and crons in flight.
  • CTX %: context used, measured against a 1M window. Change it with -w 200000 or CLAUDE_TOP_CONTEXT_WINDOW.

claude-top screenshot

Try it without your data

python3 scripts/demo.py   # made-up sessions in a temp dir

CLAUDE_CONFIG_DIR and CLAUDE_TOP_RATE_LIMITS override where it reads from; CLAUDE_TOP_LIVE=0 skips claude agents. Running the tests and regenerating the images is covered in CONTRIBUTING.md, and changes are listed in CHANGELOG.md.

Notes

  • Session states and names come from claude agents --json, the same source as the built-in view. Everything else comes from Claude Code's local files (~/.claude/jobs, ~/.claude/projects, and session-guide's ~/.claude/session-guide/guides). They aren't a public API, so a Claude Code update can break a column; please open an issue if it does.
  • It reads only local files, and writes only its own files in ~/.claude/claude-top/ and, with init, the statusLine entry of ~/.claude/settings.json. Once a day the full-screen view asks GitHub for the latest release's version number (nothing about you or your sessions is sent); turn that off with CLAUDE_TOP_NO_UPDATE_CHECK=1.
  • This is an independent project, not affiliated with Anthropic.

MIT licensed.

Metadata

Release files for claude-agents-top 0.5.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-agents-top 0.5.0
File Size Uploaded Provenance Actions
claude_agents_top-0.5.0.tar.gz 40.9 kB With provenance Details for claude_agents_top-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for claude-agents-top 0.5.0
File Interpreter ABI Platform Actions
claude_agents_top-0.5.0-py3-none-any.whl Python 3 none any Details for claude_agents_top-0.5.0-py3-none-any.whl

Total release size: 68.5 kB

Release files / claude_agents_top-0.5.0.tar.gz

Download URL claude_agents_top-0.5.0.tar.gz
Size 40.9 kB
Tags Source
SHA-256 checksum
How to use checksums
94d9246bbd8f5494740df186dc73413bcfe4945c9aedd2fc6ad7b196c8d32522
BLAKE2b-256 checksum
How to use checksums
e16c1b0ad8b97be55af027302612ebe8f20036d1e74201a51a6f009f9c26bde0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Release files / claude_agents_top-0.5.0-py3-none-any.whl

Download URL claude_agents_top-0.5.0-py3-none-any.whl
Size 27.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
657f5f05c46569bc8d89c53ee3477f7c4bed2bc56ffe67b95e2eb5d42a1e0b21
BLAKE2b-256 checksum
How to use checksums
2859cc06da287dab56db63395cfdcb0d3b693d2f5e14d5ca463c69e742319a3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 29, 2026.

Transparency log

Security for claude-agents-top 0.5.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_agents_top-0.5.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 Oct 29, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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