Docs
Introduction
Bloom is a free Mac app that runs Claude Code and Codex in parallel. Each task gets its own branch and git worktree, and you review the diff and open the pull request in the same window.
Bloom starts the claude and codex CLIs installed on your Mac and uses
their existing login. It has no account and no paid tier, but agent usage still counts
against your subscription or API billing.
What you need#
- Bloom needs macOS 26 or later, and there is no Windows or Linux version.
- Claude Code or Codex must be installed and signed in, and you can use both.
- git must be installed, and your project must be a git repository.
- The GitHub CLI, gh, must be signed in for pull requests and checks, but the rest of Bloom works without it.
Projects#
A project is a git repository on your Mac. Choose Add project and pick its folder. Agents work in separate worktrees, so your own checkout stays on the branch you left it on.
Workspaces#
A workspace is one task. Open New Workspace (Command-N), describe the task,
and Bloom creates a branch and a git worktree for it in a folder under ~/bloom.
Agents in different workspaces work in different folders, so they can't overwrite each
other's files.
For example, create a workspace with the prompt below. You can leave it working while you open another workspace for a different task.
The invoice PDF total doesn't include the discount. Find where the total is calculated, fix it and add a test for an invoice with a discount.
I’ll trace how the PDF calculates the total and add a regression test for the discount.
Bloom then copies your .env files from the project folder and runs the project's
setup script, if it has one. Both are configured in
the settings file. A workspace can
also start on an existing branch, or on a GitHub pull request.
Use .bloom/settings.toml
to configure setup, dev servers, shared prompts and branch names for your project.
You can also edit these settings in File › Project Settings.
Chats and agents#
Each chat runs Claude Code or Codex, chosen per chat, so one workspace can have chats on both. You can ask an agent to start subagents in the same worktree, start other workspaces and use the browser and terminal.
Tabs and panes#
The + at the top right of a workspace opens a chat, a terminal, a browser, the Changes view or notes. Terminals start in the workspace's folder, so a dev server started there runs that branch's code. Split a tab into panes and drag them to rearrange.
The totals on the invoice PDF don't include the discount line.
Quick prompts#
Save instructions you use often as quick prompts. Open the quick prompt panel beside the composer's + button, choose New quick prompt and save something like “Run the tests and fix failures.” Your personal prompts are available across workspaces.
Pick a prompt to put its text in the composer, where you can adjust it before sending. Personal prompts can also be configured to send immediately or open a new chat. Prompts under Project come from the settings file, so your team can share instructions for writing tests or reviewing changes. Picking a project prompt fills the composer without sending it.
Reviewing changes#
Changes (Shift-Command-D) lists the files the workspace changed and shows each diff. When you comment on a line, Bloom sends the comment to the agent with its next turn, and you can switch a file to Edit to change it yourself.
Pull requests and merging#
With gh signed in, ask the agent to open a pull request and Bloom shows its
checks in the workspace. Merge sends the agent a merge prompt, which you can
edit. The agent still has the branch checked out, so it can fix a conflict or a failing check
in the same chat.
Archiving#
Archive a finished workspace with Command-Delete. Bloom runs the project's
archive script, if
there is one, then removes the worktree. The branch stays unless the project sets
delete_branch_on_archive.