/subtask lets the current agent spin up a separate, bounded worker session for
one specific piece of work. The worker runs as an orchestrator in a real child
session, completes the requested task, and sends a structured summary back to
the original conversation.
Use it when a bounded, context-heavy task only needs to return a compact result to the main thread.
/subtask <focused task for the worker>
Examples:
/subtask update the subtask docs and run the relevant checks
/subtask investigate why the auth retry test is flaky and report findings
/subtask implement the small button spacing polish in the settings panel
Keep the request narrow. A good subtask has a clear finish line.
/subtask command asks the current agent to prepare a self-contained
worker prompt.subtask tool with that prompt and any clearly relevant
files.parentID pointing at the current
session.orchestrator, so it can use normal tools and
specialist delegation when useful.read_session
to inspect only the source session that spawned it.<subtask_summary> with status, changes,
files touched, validation, and follow-up notes.In tmux or zellij, the subtask appears like other child-agent work because it is a real child session. Existing depth limits and pane cleanup handling apply.
The worker prompt is intentionally bounded:
read_session only when needed context is missing,This keeps subtasks useful for focused execution rather than turning them into a second open-ended conversation.
| Tool | Purpose |
|---|---|
subtask |
Creates a child worker session and returns its summary |
read_session |
Lets a subtask worker read the source session that spawned it |
read_session is restricted to subtask workers and only allows reading the
source session. It is not a general transcript-reading tool.
Files can be passed explicitly with the files argument or referenced in the
worker prompt with @path syntax. Slim resolves those paths inside the current
workspace and injects readable text files as synthetic context.
Safety rules:
The worker is instructed to finish with:
<subtask_summary>
Status: completed | blocked | partial
What changed:
- ...
Files touched:
- ...
Validation:
- ...
Risks / follow-up:
- ...
</subtask_summary>
The parent session receives that summary as normal tool output.