Docs

Ask your agent

The agent in any chat in a workspace can operate Bloom for you. It can start helpers, start other workspaces and message the agents in them, use the workspace's browser and terminal, arrange your tabs and archive the workspace when the work is done. You ask in plain words, and there is nothing to set up.

Split work between subagents#

A subagent is a second agent with its own chat, working in the same worktree and on the same branch as the chat that started it. Ask for subagents when a task has parts that should end up in one pull request. For example:

Add a CSV export of orders at GET /orders/export with the columns order number, customer name and total. Use two subagents, tests and docs, to write the feature tests and the documentation.

Bloom adds tests and docs beneath the workspace in the sidebar. The main agent builds the export and gives each subagent its task, which is the first message in that subagent's chat. All three share one worktree, so their changes appear together in Changes.

Up to ten subagents can run in a workspace at once. A subagent uses the same agent, Claude Code or Codex, and the same permission mode as the chat that started it. Subagents can't start subagents of their own, and they can't message each other, only the agent that started them.

Click a subagent in the sidebar to open its chat and reply to it yourself. To stop one, right-click it and choose Stop Subagent. If it is working or asking you something, Bloom first asks “Stop tests?” with Stop and Keep Working. Stopping removes it from the sidebar but keeps its conversation and everything it wrote. A name can only be used again after that subagent is stopped.

Start other workspaces#

An agent can also start new workspaces, each with its own branch, worktree and agent. Use this when the work should become several pull requests:

Split this into three pull requests: the export, the import and the settings page. Start a workspace for each.

A new workspace can also continue an existing branch or check out a GitHub pull request, so you can ask “Start a workspace to review PR #123.” As a rule of thumb, use subagents for one pull request and workspaces for several.

Workspaces an agent starts appear in the sidebar without taking over your view. One agent can have up to eight of them that aren't archived. The agents in those workspaces can't start workspaces or subagents of their own, and can't use the other features on this page, apart from replying to a workspace that wrote to them.

Message other workspaces#

An agent can send a message to the agent in another workspace, named by its id or by its name when that name is unambiguous. The message lands in that workspace's chat and starts a turn there, or waits if a turn is already running.

The message arrives with your authority, headed with the workspace, project and chat it came from, so the agent there can act on it as though you had typed it yourself, up to “fix the bug, merge the pull request, then tell me the version”. It can't read the conversation the message came from.

Ask the Settings page workspace what the delimiter setting ends up being called, then write the export against it.

Sending returns as soon as the message is delivered, and there is no way to wait for an answer. The agent carries on with the rest of its work, and the answer arrives later as a message of its own in this chat. To answer a message that reached you from another workspace, reply to the id that message names, and your answer goes to the chat there that most recently wrote to you.

An agent can also ask Bloom to report back once, by itself, when the turn its message caused comes to rest. You then read that the other agent finished, along with its last message, or that it failed and why, or that it is blocked waiting on you for a permission prompt or a question. With that there is no need to ask the other agent to report back.

While a message is still queued you can delete it from the chat it was sent to, and Bloom tells the sender. Bloom refuses a message identical to one sent to the same workspace in the last ten minutes, and refuses more than six messages to the same workspace in ten minutes.

Read other chats#

An agent can read the other chats in its workspace without switching tabs. That includes subagents and any chat that isn't archived, but not chats in other workspaces.

Read what tests found and fix what it flagged.

Use the browser#

An agent can open a browser in the workspace, go to an address, reload, scroll, take a screenshot and read the text on the page.

Go to /orders in the browser and check that the export button shows up.

The browser is logged in as you, so going to an address, reloading, scrolling, taking a screenshot and reading the page's text all go through the chat's permission mode, like the agent's own commands. Reading which address a browser is on never does. The agent can't click, fill in forms or run scripts in the page. It can also show an image or video file from the workspace in the chat, such as a screenshot it saved.

Use a terminal#

Start the dev server in a terminal and tell me when it is ready.

The agent opens a terminal tab and runs the command there, where you can see it and stop it. It can then read the output, type into the terminal and send keys such as Control-C. Each of these goes through the chat's permission mode, because a terminal can run anything and its output can contain secrets.

Arrange tabs and panes#

Open a browser next to this chat.

An agent can open a chat, terminal or browser in a new tab, split its own tab beside or below the chat, rename and close tabs, and bring a tab to the front. It can't close Changes or Notes. It can also rename the workspace, which changes only its name in Bloom and leaves the branch and worktree as they are. Ask it to save something as a quick prompt and it adds one to your quick prompts.

Archive when you are done#

Everything is merged. Archive this workspace.

The request goes through the chat's permission mode, and Bloom archives the workspace when the agent's turn ends. It refuses if another agent is running or asking you something, if messages are queued, if setup is still running, or if uncommitted changes or local files would be lost, and tells you why. The project's archive script runs, and the branch, notes and chat history are kept.

Ask Bloom#

Ask Bloom, under Home at the top of the sidebar, is a chat that belongs to no workspace. It works across all your projects. You can give the claude or codex command in your own terminal the same abilities by registering it in Settings › Command Line.

Add ~/code/api as a project. Then start a workspace in shop to add a CSV export of orders, and one in api to add an orders endpoint with pagination.

Bloom adds api at the bottom of the sidebar and starts both workspaces without taking over your view. Each gets its own branch and agent, and shows a spinner while it is being set up.

Ask Bloom can list projects and workspaces, including their pull requests and checks. It can add a project, hide a project, start workspaces in any project, rename or archive a workspace and show one in the window. It can start up to six workspaces in fifteen minutes.

Adding a project only registers a folder that is already a git repository. Ask Bloom won't turn a folder into one.

Ask Bloom doesn't merge anything itself. It sends Bloom's merge prompt to that workspace's agent, which runs the merge in its own chat. It can't open tabs, use a browser or terminal, read chats or start subagents, because it has no workspace to do them in.

    You can search section titles and text.

    Get Bloom

    Enter your email and we'll send you the download link. Bloom is free to use and checks for updates automatically.