The workbench

Chat

Starting an agent, the composer, references, permissions, models.

Start an agent

Select a Workspace and press + in the tab bar, or ⌘N. A menu opens under the button:

  • NAME on top, filled with a random name. The die rolls another. The name has to be unique inside one Workspace.
  • One row per agent you have installed, in the order you set in Settings → Agents. Each row shows the model and effort that agent used last, in grey, and its quota if it has one. Click a row (or Enter) and the agent starts with exactly that.
  • › at the end of a row (or →) opens the second screen: the same name, pills for model, effort and mode, and New Session or Resume Session. Resume lists this folder’s earlier sessions with that agent, so you can carry one on. Not every CLI can list its own history; the ones that cannot only offer New Session.

The tab is usable the moment it appears. The process starts in the background, and anything you type meanwhile is queued and sent in order once it is up.

The name is yours, and it matters: it is what @ completes, what other agents call it, and what the [from …] prefix says. The greyer second line in the AGENTS list is something else: the agent’s own summary of the conversation, taken from its first title. Double-click a tab to rename it.

The composer

Every agent tab has its own composer, floating at the bottom of the conversation. It starts two lines tall and grows with your draft up to 40% of the pane, then scrolls inside. Scroll up through the history and it folds into a single line (the first line of your draft, or Working · 2 queued), so it stays out of the way. Click it, or scroll back to the bottom, and it opens again. ⌘L puts the cursor in it.

EnterSend. If the agent is mid-turn, queue it instead
Shift+EnterNewline
Esc or ⌘.Stop this turn. Your draft, the queue and the tab stay
Clear queueDrops what has not been sent. Does not stop the current turn

Queued messages are listed above the composer with a Clear button. They are not shown in the conversation: a line in the transcript means it has actually gone to the agent. To stop the current turn and keep the queue from starting immediately, clear the queue first, then press Esc.

Your draft belongs to the tab. Switch away and back and it is still there.

References

Everything you can point at from the composer. Each one turns into a coloured chip in your draft and in the bubble.

@ a fileFuzzy search inside the Workspace. Files outside it work too: type or paste an absolute path after the @, or drag the file in
CiteSelect lines in a file or a diff tab and press the floating Cite. You get @path:12-40, and only those lines are sent
QuoteSelect anything in the conversation, including the agent’s own output, and press Quote. It goes into your draft as a markdown quote, verbatim
ImagesPaste or drag one in. 5 MB limit
@ an agentNames another agent. A reference, not a recipient (see below)
@ a Workspace or projectSends its path, so you can say where work should happen: “fix it in @workspace:web/main”
@new:An agent that does not exist yet, set up for this one to start. See Agents working together
#A task of this project, inserted as @task:#96. The agent can read and update it with kumo task

A bare @ shows every group at once: agents, Workspaces, projects and files. Type to narrow it. ↑↓ moves, Enter or Tab picks (it never sends), and Esc closes the list for that @.

Mentioning an agent does not send it anything. The message still goes to the agent you are talking to, and that agent decides whether to pass something on. See Agents working together.

Small text files ride along with the message; anything large or binary is sent as a link the agent opens itself. DeepSeek Harness has nowhere to put an image and says so, rather than silently dropping it.

Model, effort, mode

The pills along the bottom of the composer are reported by the agent itself. Kumo does not know what any of the options mean and does not hard-code a list. An agent that reports no separate effort setting has no effort pill; one with a fast mode gets a Fast switch.

Switching sends the change and waits for the agent to answer, then shows whatever came back. If the agent refuses, you see its own words and nothing changes on screen. When a setting takes effect is up to the agent; some apply it only from the next turn.

Kumo remembers two things: what each conversation last chose, and what each agent last chose. A new tab inherits the latter. When a conversation’s process is restarted (reopened, woken from sleep, resumed), its own choices are applied again.

Next to the send button, agents that report it get a thin context bar with a percentage. It turns yellow at 75% and red at 90%.

Permissions, questions and plans

Kumo never approves anything on your behalf. Every permission request an agent sends becomes a card in that tab and waits for you. How often you are asked depends only on the mode you picked in the pills: choose that agent’s bypass or yolo mode if you would rather not be asked.

Cursor is the exception, because its ACP mode has no bypass setting. Cursor tabs get an extra Force pill; while it is on, that tab’s permission requests are approved as they arrive. It approves once per request, never “always”, so turning Force off really does bring the questions back.

Plan reviews and multiple-choice questions arrive as cards too, in whatever shape that agent uses. An agent waiting on a card shows needs you in the AGENTS list and sends a notification.

Reading the conversation

  • Tool calls and thinking are folded one-line rows. A run of tool calls shows only the latest, with N earlier tool calls above it.
  • When an agent works the workbench (sends a message, starts an agent, files a task), it gets a ledger line instead: what it did, to whom, and how it went.
  • A silent stretch mid-turn shows Thinking · 12s, so a long pause never looks like a hang.
  • Messages from other agents are marked FROM <name> · <workspace> where YOU would be.
  • Links are clickable. http(s) opens your browser; a file path opens a read-only tab. Hold ⌘ and inline paths like src/a.rs:42 light up; clicking one opens the file at that line.
  • ![alt](path) renders as the actual image. Tables, task lists and code blocks render as you would expect, and every code block has a copy button.
  • A long message (over 12 lines) folds, with Show more under it.
  • A checklist the agent keeps (Tasks · 2/5) is its own to-do list, not Kumo’s Tasks.
  • The short marks down the right edge are your own messages. Hover one for a preview, click it to jump there.
  • Opening a tab loads the last hundred blocks; scrolling up fetches more. Scroll up and the conversation stops following new output; the round button at the bottom takes you back.

Slash commands

Typing / at the very start of a message opens whatever commands that agent reported: its skills and built-ins. Kumo passes them through without interpreting them. Enter completes, it does not send.

One command is Kumo’s own: /clear starts a blank session in the same tab, with the same agent and folder. The conversation empties and the queue is dropped; the old session is still on disk and can be picked up again with Resume Session.

Usage

Agents that publish a quota get a thin band under the composer, one segment per window (five hours, a week, a billing month). Hover a segment for the number and the reset time. It turns yellow at 80% and red at 95%, and only the tight segment changes colour. No quota available is not an error; the band is just not drawn.

Sleeping and waking

An agent that has been idle for 30 minutes has its process closed (Settings → General; 0 turns it off). The conversation stays, the row goes grey and reads asleep. Sending a message wakes it: you see Waking up · 3s for a few seconds, and that is all. Agents whose CLI cannot restore a session are never put to sleep, and neither is one waiting on you.

Reopen and close

Right-click a tab, or its row in AGENTS:

  • Rename Agent.
  • Reopen Agent (⇧⌘R) restarts the process on the same session. The tab, name and history stay; queued messages do not, and the confirmation says so. Use it when a tab is stuck.
  • Close Agent closes the agent, with a confirmation naming it. There is no “close the view, keep the process” state. The agent’s own session file stays on disk, so Resume Session can find it later.

The tab bar’s right-click menu also has Close Tabs to the Left, to the Right, Other Tabs and All Tabs. Each agent still asks for its own confirmation. File and diff tabs close without a word, because they are not agents.