The IDE Bottleneck

Coding agents have gotten really good. They run longer and more reliably than ever. It is now common to run multiple of them concurrently, each working on different tasks, on subparts of a larger task or steps in a larger workflow.

For how good they've become, it is interesting that using coding agents still involves a lot of tedious manual work. Often, I find myself copy pasting between different agent sessions or being the human conduit to coordinate work across multiple terminal tabs and apps. These tasks feel very obviously automatable and yet they are somehow still manual.

The tedious parts

I often find myself in situations like this:

  • One agent implemented a bug fix and I want another agent or agents to review the changes and provide a second opinion.
  • I have a report with many findings and instead of having a single agent work on the entire report, I want a separate agent to follow up on each finding.
  • Multiple agents and their corresponding sessions are stale and I want to give them all the same instruction. For example, that they should all rebase against the latest origin/main.

None of this is hard. It is just annoying. In normal software, annoying repeatable work has a very obvious solution: we write code to do it. These workflows should be embarrassingly scriptable but they are not. Not fully!

There's no shortage of ways to orchestrate work today! You can use subagents, mcps, hooks, skills, custom tools, background agents (rip Terragon). Most of these coding agents even have SDKs you can use. These let you program the work but not the app itself! Your codex reviewer made some valid points about the PR but your claude code agent can't see it unless it leaves actual comments on the PR. Why can't they talk to each other or just see what you see! Imagine if you could @-mention any session like you would a file on your file system!

In many ways, this is exacerbated by coding agents becoming better and better. They've made the surrounding manual work much more obvious and painful. Their state is right there, but it is stuck inside surfaces designed for humans, not programs.

Make the work app programmable

bb is my attempt at solving this pain point.

On the surface, bb looks like a lot of other agent orchestrators. It has a sidebar and a giant prompt box that invites you to type in a task. This is on purpose!

The difference is that bb is built to be programmable. All operating on the same core.

There are 3 main ways to use bb:

  • App (Humans)
  • CLI (Agents)
  • SDK (Scripts)

Together, these let you and any number of agents/systems collaborate together. Anything you can do in bb through the app, agents and programs can do through the CLI or SDK. That means the tedious examples above become normal programming problems. Turn an audit report into a batch of threads. Have one thread review another. Broadcast the same instruction to multiple threads at once.

How its been going

Once you can program the app itself, you start noticing all the places where you can use it. My favorite small quality of life improvement is to ask threads to monitor CI, squash merge the PR and archive themselves when they are done. I no longer have to manually close out the agent session myself. The agent can do it for me.

Because the app can be used by agents, I'm actually able to delegate anything I'm doing in the IDE, not just the task itself but my entire workflow. For example, my hermes agent can help me kickoff or babysit a thread in bb while I'm away and when I get back, its right there. It just does the thing for me, how I'd do it myself. It can check in on active work without any additional setup because it uses the same app I'm using.

Because the app is programmable at its core, lots of interesting ideas become possible:

  • Self improvement loops to compound learnings and patterns from recent threads
  • Allowing the app's UI itself to be malleable and customizable by the user

If any of this resonates with you, I'd love for you to try out bb. It is very much in active development. You can try it at getbb.app, and the repo is here: github.com/ymichael/bb.