DataMind Oda can split a task and hand one self-contained piece of it to a subagent: a helper agent Oda starts for that piece of work. This page covers the delegation call, what it can carry, and how the result of a run that waits comes back.
description for the piece of work and a prompt that holds everything the subagent needs.run_in_background the run starts as a job instead (started background subagent job <id>) and is collected later; see Background subagents and job collection.started subagent <childId> and reports back with one settlement notice when its work ends; see Continuable subagents and Subagent settlement and results.description (required): a short name for the delegated task, for display.prompt (required): the brief the subagent starts from. A fresh subagent does not see your chat, so the prompt is its whole context.run_in_background (optional): start a one-shot run as a job instead of waiting for it; see Background subagents and job collection.provider, model and reasoning_effort (optional): choose the subagent's model route when subagent model selection is on for the chat; see Choosing the model for a subagent. Without a selected route the subagent follows the chat's own route.Each backend registers its own delegation tool, and a chat can hold several at once: the default tool is named subagent, and other tools carry their backend in the name, for example subagent_codex or subagent_claude_code. A tool exists while its backend does.
Diagnostic: line, and the text the subagent produced before it ended, under Partial output before the run ended:.subagent run was cancelled, subagent run failed, subagent run hit its token limit before finishing, subagent declined the task and subagent run ended abnormally (<reason>).subagent depth <n> exceeds maxDepth <m>.A description for the step and a prompt that is the subagent's brief. Oda writes the prompt so the task stands on its own, because a fresh subagent starts from it alone and does not see your chat.
No. A fresh subagent starts from its brief alone and does not read the conversation. It runs in the chat's working folder, so it works on the same files, but what it knows about the task comes from the prompt. One backend starts a subagent from the chat's completed turns instead; even then it does not see the turn in flight. See Choosing and enabling a delegation backend.
The subagent's final text, joined into the step as the result. The call does not carry the subagent's transcript, tool output or reasoning, and the subagent's intermediate steps stay in its own record. If the run ends early, the text it did produce is kept under Partial output before the run ended:.
By default, no: the depth budget allows direct subagents only, so a chat can start a subagent, and that subagent cannot start subagents of its own. When the budget is raised in Subagent settings, nested subagents are allowed up to the new depth. A start past the limit is refused with subagent depth <n> exceeds maxDepth <m>, and a subagent that resumes keeps the depth it had.
A run that does not complete keeps what it knows and what it produced: a headline that names why it stopped, a Diagnostic: line, and any partial text under Partial output before the run ended:. The five headlines are subagent run was cancelled, subagent run failed, subagent run hit its token limit before finishing, subagent declined the task and subagent run ended abnormally (<reason>). Subagent failures and diagnostics explains each one and the diagnostic text.
Before a subagent starts, the call is checked against the backend it names: a request that needs a feature the backend does not offer is refused there instead of being started and ignored, and a one-shot task must be text only. See Choosing and enabling a delegation backend.
Yes. Oda can delegate parts of the work that do not depend on each other together, and those runs overlap instead of queueing one behind another.
Each delegation tool exists while its backend does, and a call whose backend is missing or has changed fails instead of starting. A backend that changes while the subagent's model route is being resolved reports subagent provider "<name>" changed while resolving the child LLM route; retry the delegation, which asks for a retry. A run that already started is not stopped when its backend is later removed.
Yes. A subagent starts in the chat's working folder and shares the workspace with the chat, so it reads and changes the same files. The chat's access mode shapes what a subagent may do; see Subagent permissions and sandboxing and Workspaces, files and permissions.