Have one agent build and another review, keep a manager for work you repeat, or fan out big changes to many agents at once. You can step in at any time, or coordinate with just one.
You'll need two or more agents signed in, like Claude Code and Codex.
Ask me about each of these, one at a time, with a suggested default: - Task (what to build or fix) - Reviewer (a different agent from you) Skip any I've answered. Then sum up the plan in three bullets and wait for my go. My answers override the steps below. If a wait times out, wait again, up to three times. Build the task, have a different agent review it in its own thread, talk it through with the reviewer. One review round, then stop. Guide: https://getbb.app/guides/orchestrate-coding-agents Do these steps in order and run each check. If a check fails, stop and tell me what you saw. Don't push, open a pull request, or merge unless I ask. 1. Get a branch. If you're on the repo's default branch, create a new branch first. Run `BASE=$(git rev-parse HEAD)` and keep the value. Check: `git branch --show-current` isn't the default branch. 2. Build the task and commit your work. Check: `git status` is clean and `git log -1` shows your commit. 3. Start the reviewer in its own thread, in this worktree. Use my Reviewer answer. By default, pick a signed-in agent other than you from bb provider list. bb thread spawn --json --project "$BB_PROJECT_ID" --environment "$BB_ENVIRONMENT_ID" --parent-self --provider <provider-id> --title "<task>" --prompt "Task: <task>. Review git diff <BASE>..HEAD read-only. Don't edit files or commit. List each issue as serious or minor, with file and line." Check: the spawn returns a thread ID. If the reviewer fails to start, stop and ask me to sign in to that agent on this computer. 4. Wait for the review and read it: bb thread wait <reviewer-thread-id> bb thread output <reviewer-thread-id> Check: the output lists issues or says there are none. If bb later tells you the reviewer completed, just repeat your final report. 5. Fix every serious issue and commit. If a finding is unclear, ask first: bb thread tell <reviewer-thread-id> "<your question>", then read the answer with bb thread wait and bb thread output. Don't ask for a second review. Check: `git status` is clean and each serious issue has a fix. 6. Stop. Leave the reviewer's thread open so I can read it; don't archive it. Reply with what you built, what the review found, what you fixed, and what's left for me. Then offer to save these steps as a bb skill in .bb/skills/build-and-review/SKILL.md, with my reviewer filled in, so next time I can just ask for it.
Pick the agent you want building it. It writes the code, brings in a reviewer, and reports back to you.
A different agent reads the change with fresh context and catches what the first one missed. You don't copy anything between them.
Once its work is committed, your agent starts the reviewer in a thread of its own, on the same branch, and nests it under itself in the sidebar. You can ask for any agent by name, like “Have Codex review this” or “Ask Cursor to write the release notes.”
The agents message each other the way you message them. Your agent hears back as soon as a review is done, and fixes what's serious.
Ask your agent to check something with the reviewer, like “Ask the reviewer whether the memory growth is worth fixing before this merges.” It asks, waits for the answer, and tells you what it said.
A manager is a thread you keep for one job, like triaging new issues. Correct it once, and it does the job your way from then on.
Save how you triage issues as a skill called issue-triage in this repo. Run it every time I ask for triage, and update it whenever I correct you.
Drag any thread onto the manager in the sidebar to nest it there, then ask the manager to take the next step, like opening a pull request and watching CI. It doesn't have to be the agent that did the work.
An automation messages the manager on a schedule, so every run lands in the same thread and builds on the last.
Ask the manager to schedule itself.
Every weekday at 9am my time, have an automation message this thread and ask you to run your issue-triage skill. Run it once now to test it.
Open Automations to see its schedule and runs, or switch it off. Run an agent on a schedule covers testing a run and notifications.
For a big, repetitive change, like fixing one lint rule across a whole codebase, a workflow starts a worker for each part of the job and checks the results.
Use a workflow to fix every no-floating-promises lint error. Start one Codex worker per top-level folder, then have a Claude Code worker check each folder's fixes. Open one PR when every check passes.
The run shows in the thread with each worker's progress. To stop it, open the run in the side panel from its card above the message box, and choose Stop workflow.
codex login for Codex.If it was archived, open Settings → Archived threads and choose Unarchive.
See “My automation didn't run” in Run an agent on a schedule.
For most changes, one agent does fine. A second one pays off for:
Claude Code, Codex, and Pi are built in. Cursor, opencode, and other agents that support the Agent Client Protocol, like Grok Build and Hermes Agent, work once they're installed.
Every thread comes with bb's tools and a short guide to them, so an agent can start, wait for, and message other threads the way you would. A message reaches a busy agent mid-turn, and one sent to an agent that's waiting on a question is delivered once you answer.
Yes. Type in either thread at any time, or stop one from its message box. A stopped thread keeps its history and worktree. bb doesn't tell the other agent you stopped it, so let it know.
bb is free and open source, and bb connect is free. bb runs your agents on the subscriptions or API keys you already have. Machines you add cost what they do now.
A manager is one thread you keep for a job and talk to over days. A workflow is a single run that splits one big job across many workers and finishes.
Free and open source. Bring the Claude and ChatGPT plans you already have.