lazybox --about
A terminal TUI — reactive GitHub inbox + agent fleet, keyboard-driven.
Let the work come to you.
Stay in the terminal.
Events surface across your repositories while coding agents work in parallel, each in its own managed worktree and embedded terminal.
Runs in your terminal. No Electron. No tab farm.
Real terminal, real workload
A few of the workflows I run all day.
g menu.An inbox, not a dashboard
Built to run a lot of agents at once
Many agents in flight, one calm inbox — and it tells you which one needs you.
A fleet, not a tab
Every PR and issue becomes a workspace with its own agent. Run dozens at once — each in its own embedded terminal — and flip between them instantly without losing your place.
It pings you when an agent is stuck
The instant an agent hits a permission prompt or needs a decision, lazybox fires a native desktop notification and flags the row. Press ! to jump straight to it. Stop babysitting terminals.
Start a fleet by tagging issues
Drop a lazybox:claude label on GitHub issues you authored or are assigned to — across one repo or many — and lazybox opens each worktree and spawns an agent on the next sweep. No TUI, no terminal. Tag an eligible triaged backlog and come back to dozens of agents already working. An optional high, medium, or low issue label picks the model and effort.
Worktrees, handled
Every task gets a fresh, isolated git checkout — created automatically. No branches to make, nothing to stash, no collisions between agents running side by side. You never think about it.
GitHub and Linear, one inbox
PRs, issues, and Linear tickets surface the same way, with read/unread tracking. Mirror activity to Slack — and kick off work with an @lazybox mention.
Point once. lazybox routes the work
Press w w and lazybox turns the focused issue, CI failure, conflict, or selected review comments into the right brief. It reuses the running agent or starts your default in the task worktree. A GitHub high / medium / low tag picks its configured model and effort.
Automation you can see
Press g p for one policies surface: merge on green, auto-fix CI and conflicts, and GitHub auto-merge status — every switch and override visible in one place.
Terminals fail visibly
Choose splits or tabs, recall the last prompt after a restart, and inspect the final screen when an agent crashes or fails to start. Clean exits disappear; failures never do.
Route agents through your gateway
Set one llm_gateway_url and every spawned agent points at your own LLM gateway — lazybox injects the right base-URL env var per provider (Anthropic or OpenAI). Your API key goes straight to the gateway; the daemon never sees it.
Local or remote
Runs as an in-process daemon by default, or split client and daemon over a Unix socket and forward it across SSH — heavy lifting on a remote box, inbox on your laptop.
How it works
From zero to a fleet in three steps
Wire up your sources, spawn agents in parallel, and let the inbox triage itself.
Connect your sources
Point lazybox at your GitHub repos and Linear. Every PR, issue, and ticket lands in one keyboard-driven inbox — grouped, tracked, read/unread.
owner/name
Spawn agents in parallel
Press a c, a x, or a u for Claude Code, Codex, or Cursor — or w w to let lazybox pick the brief. Each gets its own isolated checkout. Run as many as you like.
a c · a x · a u · w w
Step in only when needed
Agents work on their own. lazybox notifies you the moment one needs a decision — jump to it with !, unblock it, and move on.
!
Spend your attention where it changes the outcome.
Start with a task, keep its context through Git and GitHub, and let the reactive inbox bring you back only when needed.
Open source, built in public
Support lazybox.
If lazybox saves you time, a sponsorship helps fund maintenance, releases, and the infrastructure behind the project. The open-source TUI and daemon remain available to everyone.