New API now protected with passphrase-based Bearer auth

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, Amp, pi, and OpenCode instances. Track activity, tokens, and cost in real-time.

Get started
$ brew install illegalstudio/tap/lazyagent
lazyagent terminal UI showing coding agent session monitoringlazyagent macOS menu bar applazyagent HTTP API playground

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, 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 — keep agent data tidy without leaving the CLI.

Transcript search

search finds any message across Claude, Codex, pi, and Amp transcripts with highlighted snippets and an incremental local index. Pick a result to resume the chat in its original agent.

Rate-limit visibility

limits shows your 5-hour and weekly windows for Claude Code and Codex with a pace indicator — under, on track, or over linear consumption. On-demand snapshot, 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.

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, and real-time updates via FSEvents.

j/k navigate/ searchf filter+ / - windowo open editorr refresh
lazyagent TUI

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. Detach from the menu bar and pin on top of other windows.

lazyagent macOS menu bar

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.

lazyagent API playground
Mix them: lazyagent --tui --gui --api

Install

One command,
zero config

Homebrew
Recommended
$brew install illegalstudio/tap/lazyagent
Go install
$go install github.com/illegalstudio/lazyagent@latest
Build from source
$git clone github.com/illegalstudio/lazyagent
$cd lazyagent && make build

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.

# Try it
$TOKEN=$(lazyagent passphrase --show)
$curl -H "Authorization: Bearer $TOKEN" localhost:7421/api/stats | jq
127.0.0.1:7421
Authenticated
GET
/api/sessions

List all active sessions

GET
/api/sessions/{id}

Full session detail with conversation history

GET
/api/stats

Summary: total sessions, tokens, cost

GET
/api/config

Current configuration

GET
/api/events

SSE stream for real-time updates