Catalog PyPI
PACKAGE EXPLORERView in registry

adash-cli

PyPI

htop-style monitor for Claude Code and Codex CLI agent sessions

Versions collected1
Direct dependencies4From release 0.1.0
Last observed20 Oct, 19:09 UTC

README

Version 0.1.0 documentation

adash

AI agent monitor for Claude Code and Codex CLI — a local-first triage dashboard for session health, cost, and utility.

Inspired by and data format compatible with graykode/abtop (MIT). adash is a cleaner Python rewrite using Textual rather than a btop pastiche.

A sibling to mnemos, pulldown, cartograph, and synthesis.


What it shows

  • Summary strip: active sessions, attention count, live burn/hour, today estimate, hottest context/quota, orphan count
  • Ranked attention queue: title, project, model, ctx %, token total, estimated cost, burn/hour, age
  • Inspector: overview, token/cost breakdown, recent trend, alerts, ports/subagents, and safe actions
  • JSON snapshot output with raw sessions plus derived summary, alerts, and insights

Install

pipx install adash-cli
# or
pip install adash-cli

For local development and test runs:

pip install -e ".[dev]"
python -m pytest -q

If you want the latest repo state before a PyPI release lands:

pipx install git+https://github.com/anthony-maio/adash.git

Usage

adash              # TUI (default)
adash --once       # Snapshot table to stdout, exit
adash --json       # JSON snapshot to stdout, exit
adash --setup      # Print Claude StatusLine hook setup instructions
adash --version    # Print version

Keybindings

KeyAction
↑ / ↓ or j / kSelect session
enterCopy session ID to clipboard
oOpen selected session cwd
tOpen selected transcript
xKill selected session (SIGTERM)
XKill all orphan port processes
fToggle all vs risky sessions
sCycle sort mode (severity, cost, recency)
rForce refresh
qQuit

Claude rate limit hook setup

adash reads ~/.claude/adash-rate-limits.json (also reads legacy ~/.claude/abtop-rate-limits.json for back-compat) for Claude quota data. This file is written by a shell hook you add to your Claude Code setup.

Run adash --setup to print the hook snippet. Add the function to your shell and configure it via Claude Code's hooks setting in ~/.claude/settings.json.

Codex rate limit data

Codex rate limit data is extracted directly from the session JSONL files that Codex writes during its token_count events. No hook needed — just run Codex normally and adash picks it up.

Rate limit cache is stored at ~/.cache/adash/codex-rate-limits.json.

Pricing overrides

adash includes built-in approximate pricing rules for common Claude and GPT-5 model families. To override them locally, create:

  • $ADASH_PRICING_FILE, or
  • ~/.config/adash/pricing.json

File shape:

{
  "models": [
    {
      "pattern": "claude-sonnet-4*",
      "agent_cli": "claude",
      "input_per_million": 3.0,
      "output_per_million": 15.0,
      "cache_read_per_million": 0.3,
      "cache_write_per_million": 3.75
    }
  ]
}

Estimated USD values are intentionally approximate and secondary to token/quota signals.

Data compatibility

adash reads the same session files as abtop:

  • Claude sessions: ~/.claude/sessions/*.json + transcripts in ~/.claude/projects/
  • Codex sessions: ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl

The transcript encoding rule (Claude): /, _, . → -.

Attribution

Inspired by graykode/abtop (MIT License). Data format, JSONL parsing logic, and session discovery strategy are derived from abtop.

License

MIT — see LICENSE.

Development

  • CI runs the test suite on Linux and Windows to keep the collector and path-handling logic portable.
  • adash --json now returns structured JSON errors with a non-zero exit code when collection fails, which makes automation safer than relying on a traceback.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.019 Apr 20264

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
anthony-maio/adash

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:09 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:cd6bb2bfb0974af8c7b8699180e9aef8c7a8ea4e283b09154631463bb9524170