lazyagent CLI
Session monitor for Claude Code, Cursor, Codex and six more agents in a terminal, window or HTTP API, with chat cleanup and search
- 194 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The program reads agent conversations from disk, and the `prune` and `compact` commands delete and rewrite chat files.
- The `--yolo` mode switches off the agent's confirmations when a session is resumed.
Install
- Works in
Manual install
brew install --cask illegalstudio/tap/lazyagentThe macOS desktop app: terminal interface, window and HTTP API. The `lazyagent` command works right away.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The program reads agent conversations from disk, and the `prune` and `compact` commands delete and rewrite chat files.
- The `--yolo` mode switches off the agent's confirmations when a session is resumed.
This is third-party code. Review the repository files before installing.
What it does
lazyagent shows every coding-agent session on the machine in one window: what each agent is doing now, whether it is thinking, writing code, running a command or waiting for an answer. It supports Claude Code, Cursor, Codex, Grok CLI, Kilo, Kimi Code CLI, Amp, pi and OpenCode. The program wraps nothing and does not interfere with the agents; it reads the session files they already write to disk. There are three interfaces: a terminal one (the `lazyagent` command), a desktop app for macOS and Linux, and a token-protected HTTP API. Commands work with the sessions themselves. `lazyagent sessions` lists sessions of the current directory across all agents and reopens the chosen one, while `lazyagent latest` resumes the most recent. `lazyagent search` searches the conversations with highlighted snippets, `lazyagent prune` deletes old chats, and `lazyagent compact` shrinks files by trimming bulky tool output, thinking blocks and embedded images. `lazyagent limits` gathers the remaining limits of Claude Code, Codex, Grok, Kimi and Cursor into one table with the burn pace. A session state change can be sent by webhook to Slack or CI.
Who it is for. Developers who keep several agents running across different projects and want to watch them and their limits from one place.
Good fit when
- Three agents work in different repositories and you need to see quickly which one waits for an answer.
- Midweek you want to know whether the Claude Code and Codex limits are burning too fast before starting a long task.
- Yesterday's session in a project got lost, and you must find it by a phrase from the conversation and reopen it.
- The disk is full of agent chats older than a month or tied to deleted projects.
- A notice that an agent has finished or is waiting for input should arrive in Slack.
Not a fit when
- You need to control the agents from the monitor: lazyagent only observes and cannot stop a session.
- You need a full token cost dashboard in money across all providers: the limits summary covers five agents.
- Agent chats sit in a shared folder and deleting or compacting them should not be handed to a utility without a backup.
Example request
Run `lazyagent search "users migration"`, find yesterday's session on that topic and show how much of the weekly Claude Code limit is left.Limitations
The program reads agent session files, so it sees everything that landed in a conversation, secrets included if any were there. The `lazyagent limits` command calls the Claude, Codex, Grok, Kimi and Cursor services over the network for remaining-limit data, while everything else runs locally. The `prune` and `compact` commands rewrite or delete chat files, but they validate the result and make backups by default. Search works for agents that keep transcript files: Claude, Codex, pi, Amp, Grok and Kimi. The `--yolo` mode switches off the agent's confirmations when a session is resumed, so use it deliberately.
How to disable. For the macOS app run `brew uninstall --cask illegalstudio/tap/lazyagent`, for the CLI build `brew uninstall lazyagent-cli`. If you ran the HTTP API, stop the process and rotate the passphrase with `lazyagent passphrase`.
FAQ
How do I install lazyagent?
The macOS desktop app installs with `brew install --cask illegalstudio/tap/lazyagent`. The console-only version with the terminal interface and HTTP API is `brew install illegalstudio/tap/lazyagent-cli`. For Go use `go install github.com/illegalstudio/lazyagent@latest`.
Which agents does lazyagent watch?
Nine: Claude Code, Cursor, Codex, Grok CLI, Kilo, Kimi Code CLI, Amp, pi and OpenCode. The `--agent` flag keeps just one, for example `lazyagent --agent claude`.
Does lazyagent interfere with the agents?
No. It only reads the session files the agents write themselves and does not call language models. It cannot stop or redirect a session.
How do I free space from old chats?
Run `lazyagent prune --days 30 --dry-run`: it shows what would be deleted and touches nothing. `lazyagent compact` deletes no chats but shrinks them, and sessions still open afterwards.
How do I pull lazyagent data into scripts?
Run `lazyagent --api`. It is a token-protected HTTP API, and `lazyagent passphrase` sets the passphrase. `lazyagent limits --json` prints the limits summary as JSON.
Discussion
No questions or reviews yet.
Related
CLI toolsagentplay turns local Claude Code, Codex and Cursor sessions into a file map and a replayable step timeline.
A Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP
One desktop window for Claude Code, Codex, Gemini CLI and OpenCode: terminals, pull requests, diffs and approvals
A Rust coding agent with a native GUI, a terminal mode, an ACP mode for Zed and an MCP server
A macOS terminal with the termio CLI and a skill: agents spawn sibling sessions and you see which one needs your answer
A terminal shell for working with coding agents: embedded terminals, diffs, files, td tasks and worktrees side by side
README in short
The README opens with a line on nine agents and three interfaces, then describes the iOS app, a news section on session commands and installation through Homebrew, pacman, Linux packages and Go. It ends with a list of launch commands and a link to the documentation.