# Subtasks
Source: https://docs.hercus.dev/concepts/subtasks/
Last updated: 2026-10-18

Let an agent split a task into subtasks, run them with Claude Code or Codex, and follow their results.

An agent working on a task can start subtasks: other Claude Code or Codex tasks that each take part of the job. You ask in plain words, and the agent starts the subtasks, sends them instructions, and reads their results.

## Ask for subtasks

In a task, tell the agent how to split the work. For example:

~~~text title="Example request" wrap
Split this into two subtasks: a Codex subtask that adds the CSV export endpoint, and a Claude Code subtask that writes tests for it. When both finish, review their changes and tell me what's left.
~~~

The agent writes each subtask’s title and instructions, and picks its agent and model. To choose them yourself, say so in your request.

While a subtask runs, the agent that started it can:

- Send it more instructions, or change the instruction it’s working on.
- Switch its model or reasoning level.
- Interrupt it, stop it, or mark its work as done.
- Read its results.

Hercus tells the agent when a subtask finishes a turn or fails, so it doesn’t have to keep checking.

## Follow subtasks

Subtasks don’t appear on the board. You find them under the task that started them:

- The task’s card shows how many it has, for example **2 subtasks**.
- In the open task, select the subtasks button in the title bar to show the **Subtasks** panel. The button’s tooltip shows how many subtasks there are and any unread updates.

The panel lists each subtask with its agent, model, and status:

| Status | Meaning |
| --- | --- |
| Working | The subtask is starting up, or its agent is working. |
| Ready | The subtask finished its turn and is ready for more instructions. |
| Error | Something went wrong. Open the subtask to see what happened. |
| Terminated | The subtask was stopped. Its conversation is kept, so it can carry on later. |
| Archived | Its work was accepted. Archived subtasks move to **History** at the bottom of the panel. |

While a subtask launches, its status can show **Queued**, **Waiting for system resources**, or **Starting...** first.

Select a subtask to open it on top of its parent. You can read its work and reply to it like any task.

To tidy up, open **Subtask actions** in the panel. Hercus asks you to confirm each action:

- **Archive resolved** archives the subtasks that finished their turn or were stopped.
- **Terminate active** stops every subtask that’s still working, without accepting its work.

If a subtask shows **Delivery needs attention**, Hercus couldn’t pass its result to the parent task, for example because the parent was stopped. Restart the parent task, then select **Retry delivery**.

## Limits

- Only an agent in a task can start subtasks. Sidechat and Explore can’t.
- Subtasks go one level deep. A subtask can’t start subtasks of its own.
- Each subtask runs with full access, like every task, and counts toward its agent’s usage limits.

**Subtasks in one workspace share its files:** A subtask runs in its parent’s workspace unless the agent puts it in another workspace of the same project. Subtasks in the same workspace edit the same files and can overwrite each other’s work. For independent changes, create workspaces with their own branches first, then tell the agent which workspace each subtask should use. See [Projects and workspaces](https://docs.hercus.dev/concepts/projects-and-workspaces/).
