abtop: AI Agent Monitor TUI
abtop is worth a install if you run two or more AI coding agents simultaneously. The moment you want to know which project is eating your token budget or which session left a server running on port 5173, it's the right tool. If you only ever run one agent, htop already does enough.
What is abtop?
abtop is a terminal dashboard that discovers and displays every active Claude Code, Codex CLI, and OpenCode session on the machine. Each session shows token usage, context window fill %, rate limits, spawned child processes, and listening ports in a read-only TUI. No API keys, no auth โ it reads local process state and config files only.
Key features of abtop
- โToken usage and context window percentage tracked per session, with warnings when context fills up
- โAPI rate limit monitoring for Claude Code and Codex CLI โ watch quota consumption in real time
- โChild process tree and orphan port detection โ spot servers your agent forgot to terminate
- โMulti-session discovery across macOS, Linux, and Windows by reading local process and config state
- โ12 built-in themes including 4 colorblind-friendly options and 2 light themes
- โJSON snapshot mode for scripting and a Rust library crate for in-process consumers
- โTerminal jump via Enter key for tmux panes, iTerm2 on macOS, and cmux
What abtop is useful for
- โขRunning three agents across separate projects simultaneously โ see token burn rate and context % side by side on one screen
- โขHitting rate limits unexpectedly โ watch quota consumption live so you can pause before hitting the ceiling
- โขAn agent spawned a dev server on a random port and never cleaned it up โ orphan port detection surfaces it instantly
- โขNeeding to switch between agent terminals without losing your place โ Enter jumps to the session's tmux pane or iTerm2 tab
- โขDebugging why Claude Code is running low on context โ the fill % bar with compaction detection tells you when it's squeezing memory
Installing abtop
On macOS or Linux, run the official installer script: curl --proto '=https' --tlsv1.2 -LsSf https://github.com/graykode/abtop/releases/latest/download/abtop-installer.sh | sh On Windows, open PowerShell and run: powershell -c "irm https://github.com/graykode/abtop/releases/latest/download/abtop-installer.ps1 | iex" Both install a binary with no runtime dependencies. On Linux, sqlite3 is required to monitor OpenCode sessions. On Windows, sqlite3 is optional but required for OpenCode support. Pre-built binaries for all platforms are on the Releases page, and cargo install abtop works if you have a Rust toolchain.
Using the abtop TUI
Run abtop with no arguments to launch the interactive TUI. Use arrow keys or k/j to select a session, Enter to jump to its terminal, t to cycle themes, and Esc to open the config overlay. Press q to quit. For scripts, abtop --once prints a snapshot to stdout and exits. abtop --json emits one JSON snapshot and exits. Run abtop --setup once to install a rate-limit collection hook. The recommended terminal size is 120x40; abtop works down to 80x24 but hides panels gracefully when space is tight. Mouse capture is off by default โ launch with --mouse if you prefer click targets and scroll navigation.
Strengths
- โMonitors multiple AI coding agents simultaneously in one terminal view โ no tab switching
- โNo API keys or authentication required, works entirely offline by reading local state
- โRatatui-powered TUI with 12 built-in themes including 4 colorblind-friendly options
- โCross-platform: macOS, Linux, and Windows with native binaries for each
- โJSON snapshot mode and a Rust library API for integrating abtop data into custom dashboards
- โOrphan port detection surfaces servers your agent left behind โ useful for cleanup
What abtop cannot do
- โณOpenCode monitoring requires sqlite3 in PATH โ without it, abtop prints a one-time warning and that agent is simply absent from the view. On Linux the same dependency applies.
- โณRate limit tracking only works for Claude Code and Codex CLI. OpenCode has no rate limit panel at all, even when you're actively burning through your quota.
- โณContext window % and current task display are unavailable for OpenCode sessions, leaving you without the two most critical signals for managing that agent's state.
- โณWindows reports LOAD as 0 because the platform has no load average metric โ you lose that signal entirely compared to macOS and Linux.
- โณThe App struct is not Send-safe, so a long-running library consumer must keep all collectors on a single thread; passing data to other threads requires serializing to JSON first.
Alternatives to abtop
Frequently asked questions
No. abtop is completely read-only. It reads local process state, config files, and SQLite databases on your machine. No API keys, no auth, no account needed.
Claude Code, Codex CLI, and OpenCode. Support depth varies โ Claude Code gets the most metrics, while OpenCode is more limited.
It reads local process state and config files. For Claude Code it probes ~/.claude and custom config dirs; for OpenCode it reads a local SQLite database. No scanning or network probes.
Yes, native Windows support is included. Uses sysinfo for process info and netstat -ano for ports. No WSL required. OpenCode support needs the sqlite3 CLI.
80x24 works but panels hide gracefully at smaller sizes. 120x40 is the recommended size for the full layout.
Yes. Add it as a crate, build an App instance, call tick_no_summaries to refresh without touching Claude quota, then serialize with App::to_snapshot.
Who should try it โ and who should skip
Try abtop if you run multiple AI coding agents across projects and want visibility into token costs, context pressure, and spawned servers. It's especially useful for teams watching budget or debugging unexpected quota hits. Skip it if you run a single agent in one terminal โ htop already covers what you need, and abtop won't earn its place in your workflow until you're juggling sessions.
Related repositories
Curious whether abtop is right for you?
Let ChatGPT, Claude, or Perplexity look into it โ click below and see what AI actually says about abtop.
