See what every
coding agent
is doing
Terminal UI, macOS menu bar, and HTTP API to monitor all running Claude Code (CLI & Desktop), Cursor, Codex, Grok CLI, Kilo, Kimi Code CLI, Amp, pi, and OpenCode instances. Track activity, tokens, and cost in real-time.
brew install illegalstudio/tap/lazyagent 

Your agents,
in your pocket
Monitor every coding agent session from anywhere. Connect to your lazyagent instance via the HTTP API and keep tabs on activity, tokens, and cost — right from your iPhone.
- Real-time session list with live status
- Full conversation history & tool usage
- Token count and cost tracking per session
- Secure passphrase-based connection
Capabilities
Everything happens
in one place
Real-time monitoring
Live activity states for every session: thinking, writing, reading, searching, compacting.
Multi-agent support
Monitors Claude Code (CLI & Desktop), Cursor, Codex, Grok CLI, Kilo, Kimi Code CLI, Amp, pi, and OpenCode side-by-side. Use --agent to filter.
Cost tracking
Automatic token counting and USD cost estimation per session.
Activity sparklines
Visual intensity graphs to spot which sessions are most active over time.
Maintenance built-in
prune deletes old or orphaned chats, compact shrinks bulky session files in place, search finds messages across transcripts, and limits checks rate-limit windows — keep agent data tidy without leaving the CLI.
Transcript search
search finds any message across Claude, Codex, pi, Amp, Grok, and Kimi transcripts with highlighted snippets and an incremental local index. Cursor, OpenCode, and Kilo are excluded because they keep history inside third-party SQLite databases. Pick a result to resume the chat in its original agent.
Rate-limit visibility
limits prints a quick-scan summary table of rate-limit and billing windows for Claude Code, Codex, Grok, Kimi Code CLI, and Cursor. --detailed expands to per-window bars, reset times, and a pace indicator. The same summary is available interactively in the TUI (l modal) and GUI (limits page). On-demand, no polling.
API authentication
Passphrase-based Bearer tokens (PBKDF2-SHA256) protect the HTTP API. Derive the same token on any client — browser, mobile app, or curl.
Outbound webhooks
Push signed HTTP POSTs to Slack, dashboards, or CI endpoints whenever a session changes state. Optional HMAC-SHA256 signing, event and agent filters, and automatic retries on transient failures.
Zero modifications
Reads existing session data (JSONL and SQLite) from each agent. Purely observational — never touches agent files.
Fast & lightweight
FSEvents-based. Single Go binary, no runtime dependencies, minimal CPU.
Three interfaces
TUI, macOS menu bar, or HTTP API. Same core, mix and match as needed.
Interfaces
One binary,
three ways in
Terminal UI
lazyagent Full-featured TUI built with bubbletea. Vim-style navigation, fuzzy search, activity filters, time window controls, real-time updates via FSEvents, and robust CJK/Unicode text rendering for Chinese and international project names and messages.
macOS GUI
lazyagent --gui
Native menu bar app with Catppuccin theme. Runs silently in the background with no Dock icon. Click to toggle the session panel, open the limits page from the header or with the l shortcut, and detach from the menu bar to pin on top of other windows.
HTTP API
lazyagent --api REST endpoints + Server-Sent Events for real-time streaming. Bearer-token protected with passphrase-derived PBKDF2-SHA256 tokens. Build dashboards, mobile apps, or custom integrations on top.
Mix them: lazyagent --tui --gui --api Install
One command,
zero config
API
Build on top
REST API with Server-Sent Events for real-time push updates. All data endpoints require a Bearer token derived from your passphrase via PBKDF2-SHA256. Build custom dashboards, mobile apps, or integrate with your existing tools.
127.0.0.1:7421 /api/sessions /api/sessions/{id} /api/stats /api/config /api/events