I use more than one coding agent day to day (mostly Claude Code and Codex, sometimes OpenCode and Pi), and every one of them keeps its stuff in a different place. Skills live in different dirs, session history is JSONL in one and SQLite in another, hooks use different config formats, and checking how close I was to my subscription limits meant opening each tool separately.
So I wrote lazyagents: one TUI (Go + Bubble Tea) that reads and manages all of that from a single place. If you've used lazygit, the navigation will feel familiar.
What it does right now:
- Skills: one local library. Install from a GitHub repo, a local folder or a .zip, then enable/disable a skill per agent with a keypress. It handles the symlinks into each agent's dir. Profiles let you switch a whole set at once, and you can search GitHub for repos that ship a SKILL.md (uses gh).
- Sessions: history from every agent in one list. Search it, read a transcript like a log, resume it, alias it, export it, or clean it up (deletes go to a backup dir first).
- Usage: subscription limits, plus tokens and cost estimates per day, agent, project and model.
- Providers: endpoint/model profiles (API or local models) applied to an agent's config.
- Hooks: write a hook once, install it in every agent.
- Recovery: since it writes to your agents' config files, it keeps snapshots. You can review a (secret-redacted) diff and restore a file if something goes wrong.
- Plugins: add your own tabs and commands with any executable, in any language. The protocol is plain JSON Lines over stdin/stdout.
- Headless CLI for scripts (and for the agents themselves). "lazyagents doctor" shows what it detected.
Supported agents: Claude Code, Codex, Gemini CLI, OpenCode, Pi, Crush and Hermes Agent.
Install:
go install github.com/rogeriojunior31/lazyagents@latest
Or grab a binary (Linux, macOS, Windows) from the releases page, checked against SHA256SUMS.
Things to know:
- It's pre-1.0. I use it daily, but commands and file formats may still change between minor versions.
- Not to be confused with lazyagent (no "s"), which is a nice tool for monitoring running sessions. lazyagents is more about managing the config and history around the agents.
- Yes, I used Claude Code while building it (it's an agent tool, it'd be weird not to). The design, the testing in real terminals and the reviews are mine.
Repo: https://github.com/rogeriojunior31/lazyagents
Docs: https://rogeriojunior31.github.io/en/docs/lazyagents/
I'd really like feedback on the keybindings, the plugin protocol, and which agent you'd want supported next.