Skip to content

Agents

Background tasks

Follow the subagents and long-running commands Claude Code leaves running, read their output, and stop them from the rail.

An agent doesn’t always work in a straight line. Claude Code can hand part of a job to a subagent, or start a long-running command in the background, and answer you while that work carries on. Codz gathers it in the Background tasks panel in the rail, with each task’s progress, its output and a button to stop it.

Open the panel

While a chat has tasks running, a button above the composer counts them: N running tasks. Click it to open the panel and again to put it away. When the last task ends, the button says N tasks finished for a moment, then goes.

You can also open it with Workspace ▸ Background Tasks (⌘⇧8), from the command palette, or from the rail’s panel list, which offers Background tasks once the chat has had one. With nothing to show, the panel reads Background tasks appear here.

What the panel shows

The panel has two sections:

  • Running, oldest first. Each row has a glyph for a subagent or a command, the task’s name and how long it has been running.
  • Finished, newest first and folded until you click its heading. Each row says how the task ended — Completed, Failed or Stopped — and, when the task reported it, how long it ran.

A subagent’s row adds a line of facts: its model, its tokens and tool uses so far, and what it is doing now, such as “Reading”, “Editing” or “Running a command”. A subagent that has started but not reported yet reads “0 tokens · 0 tool uses”.

Read a task’s output

Click a row to see what the task did:

  • A command opens in place, showing the command and the end of its output. While it runs, the output is read again every two seconds. If there is none, the row says “No output yet” while running and “No output captured.” once it has finished.
  • A subagent opens its own transcript: the model, the prompt it was given, the calls it made and its Result. The back button (Back to background tasks) returns to the list.
  • A finished task whose final report says more than its name opens to that report.

Stop and clear tasks

The stop button on a running row stops that task alone. The turn and any other tasks keep running, and the row moves to Stopped as soon as the request is sent.

The trash button beside Finished (Clear finished tasks) empties the finished list. Running tasks stay.

Subagents in the transcript

A subagent’s work also appears in the answer that started it, as one Delegated row: the task, its state (such as running, done or failed) and the number of calls it made. Open the row to see those calls and anything the subagent wrote.

A subagent that runs in the background keeps working after the answer is done. Its later calls are filed under the row that launched it, so they don’t turn up as new messages or make the chat look busy.

Turns Claude starts on its own

When a background task finishes, Claude Code may take a turn by itself to act on the result. Codz shows that turn in the chat like any other, with its work and its change card. The chat is marked unread if you are looking at another one, and the turn notifies you the way any finished turn does.

A turn Claude starts on its own has no workspace checkpoint, because no prompt of yours began it. Its change card’s Undo is unavailable; see When Undo is unavailable.

Limits

  • The list isn’t saved. The panel shows what Claude Code reported while Codz was running. After you relaunch Codz, a chat’s list starts empty until its Claude Code process reports again.
  • Tasks live in the chat’s Claude Code process. If that process ends — it exits, crashes or is restarted — every task still running is marked Stopped.
  • Each chat has its own. The panel belongs to its chat: another chat on the same folder shows its own tasks, not these.