{"id":48620349,"url":"https://github.com/graykode/abtop","last_synced_at":"2026-04-24T04:01:08.484Z","repository":{"id":347799811,"uuid":"1195165448","full_name":"graykode/abtop","owner":"graykode","description":"Like htop, but for AI coding agents. Monitor Claude    Code \u0026 Codex CLI sessions, tokens, context window,    rate limits, and ports in real-time.","archived":false,"fork":false,"pushed_at":"2026-04-19T12:04:28.000Z","size":11879,"stargazers_count":449,"open_issues_count":10,"forks_count":46,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-04-19T14:03:55.183Z","etag":null,"topics":["ai-agents","ai-coding-agent","btop","claude-code","cli","codex","developer-tools","htop","monitor","ratatui","rust","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graykode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-29T10:12:20.000Z","updated_at":"2026-04-19T13:48:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"239496d3-c74c-4527-b7de-fc10c359aa2b","html_url":"https://github.com/graykode/abtop","commit_stats":null,"previous_names":["graykode/abtop"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/graykode/abtop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graykode%2Fabtop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graykode%2Fabtop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graykode%2Fabtop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graykode%2Fabtop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graykode","download_url":"https://codeload.github.com/graykode/abtop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graykode%2Fabtop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32208477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T03:15:14.334Z","status":"ssl_error","status_checked_at":"2026-04-24T03:15:11.608Z","response_time":64,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","ai-coding-agent","btop","claude-code","cli","codex","developer-tools","htop","monitor","ratatui","rust","terminal","tui"],"created_at":"2026-04-09T03:34:07.673Z","updated_at":"2026-04-24T04:01:08.457Z","avatar_url":"https://github.com/graykode.png","language":"Rust","readme":"# abtop\n\n**Like htop, but for your AI coding agents.**\n\nSee every Claude Code and Codex CLI session at a glance — token usage, context window %, rate limits, child processes, open ports, and more.\n\n![demo](assets/demo.gif)\n\n## Why\n\n- Running 3+ agents across projects? See them all in one screen.\n- Hitting rate limits? Watch your quota in real-time.\n- Agent spawned a server and forgot to kill it? Orphan port detection.\n- Context window filling up? Per-session % bars with warnings.\n\nAll read-only. No API keys. No auth.\n\n## Install\n\n### macOS / Linux\n\n```bash\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/graykode/abtop/releases/latest/download/abtop-installer.sh | sh\n```\n\n### Cargo\n\n```bash\ncargo install abtop\n```\n\n### Other\n\nPre-built binaries for all platforms are available on the [GitHub Releases](https://github.com/graykode/abtop/releases) page.\n\n## Usage\n\n```bash\nabtop                    # Launch TUI\nabtop --once             # Print snapshot and exit\nabtop --setup            # Install rate limit collection hook\nabtop --theme dracula    # Launch with a specific theme\n```\n\nRecommended terminal size: **120x40** or larger. Minimum 80x24 — panels hide gracefully when small.\n\n### Windows\n\nabtop requires Unix tools (`ps`, `lsof`) and is not supported natively on Windows. Use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) instead:\n\n```bash\nwsl --install\n# Inside WSL:\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/graykode/abtop/releases/latest/download/abtop-installer.sh | sh\nabtop\n```\n\n### tmux\n\nabtop works standalone, but running inside tmux unlocks session jumping — press `Enter` to switch directly to the pane running that agent.\n\n```bash\ntmux new -s work\n# pane 0: abtop\n# pane 1: claude (project A)\n# pane 2: claude (project B)\n# → Enter on a session in abtop jumps to its pane\n```\n\n## Supported Agents\n\n| Feature           | Claude Code | Codex CLI |\n| ----------------- | :---------: | :-------: |\n| Session Discovery |     ✅      |    ✅     |\n| Token Tracking    |     ✅      |    ✅     |\n| Context Window %  |     ✅      |    ✅     |\n| Status Detection  |     ✅      |    ✅     |\n| Current Task      |     ✅      |    ✅     |\n| Rate Limit        |     ✅      |    ✅     |\n| Git Status        |     ✅      |    ✅     |\n| Children / Ports  |     ✅      |    ✅     |\n| Subagents         |     ✅      |    ❌     |\n| Memory Status     |     ✅      |    ❌     |\n\n## Themes\n\n10 built-in themes, including 4 colorblind-friendly options (`high-contrast`, `protanopia`, `deuteranopia`, `tritanopia`). Press `t` to cycle at runtime, or launch with `--theme \u003cname\u003e`. Your choice is saved to `~/.config/abtop/config.toml`.\n\n| btop (default) | dracula | catppuccin |\n|:-:|:-:|:-:|\n| ![btop](assets/themes/btop.png) | ![dracula](assets/themes/dracula.png) | ![catppuccin](assets/themes/catppuccin.png) |\n\n| tokyo-night | gruvbox | nord |\n|:-:|:-:|:-:|\n| ![tokyo-night](assets/themes/tokyo-night.png) | ![gruvbox](assets/themes/gruvbox.png) | ![nord](assets/themes/nord.png) |\n\nColorblind-friendly themes:\n\n| high-contrast | protanopia |\n|:-:|:-:|\n| ![high-contrast](assets/themes/high-contrast.png) | ![protanopia](assets/themes/protanopia.png) |\n\n| deuteranopia | tritanopia |\n|:-:|:-:|\n| ![deuteranopia](assets/themes/deuteranopia.png) | ![tritanopia](assets/themes/tritanopia.png) |\n\nTheme support contributed by [@tbouquet](https://github.com/tbouquet).\n\n## Key Bindings\n\n| Key                | Action                               |\n| ------------------ | ------------------------------------ |\n| `↑`/`↓` or `k`/`j` | Select session                       |\n| `Enter`            | Jump to session terminal (tmux only) |\n| `x`                | Kill selected session                |\n| `X`                | Kill all orphan ports                |\n| `t`                | Cycle theme                          |\n| `1`–`5`            | Toggle panel visibility              |\n| `Esc`              | Open/close config page               |\n| `q`                | Quit                                 |\n| `r`                | Force refresh                        |\n\n## Privacy\n\nabtop reads local files only. No API keys, no auth. Tool names and file paths are shown in the UI, but file contents and prompt text are never displayed. Session summaries are generated via `claude --print`, which makes its own API call — this is the only indirect network usage.\n\n## License\n\nMIT\n","funding_links":[],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraykode%2Fabtop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraykode%2Fabtop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraykode%2Fabtop/lists"}