Subagent backends

When Oda hands part of a task to a helper agent, called a subagent, a backend runs that helper. Backends differ in where the helper runs, what a delegation can ask for, and how the run reports back. How delegation itself works is in Subagents.

What a backend is

Where a helper runs

Whichever kind the chat uses, the chat stays the owner of the task: it reads the helper's result and decides how to carry on.

What each backend can be asked for

BackendWhere the helper runsIt starts fromA model of its ownExtra child options
Fresh in-processInside OdaNothing; a new helperYesYes
Seeded in-processInside OdaThe chat's completed turnsKeeps the chat's modelYes
SDKIts own processA fresh, separate sessionYesNo
ACP, Claude Code, CodexIts own processA fresh agent of their ownNoNo

Runs that cannot ask you anything

When a run ends early

Structured results

Limits of the separate-process backends

Questions, answered

Why do two subagents behave differently in the same chat?

Each runs on a different backend. Backends differ in where the helper runs, what a delegation can ask for, and how the run reports back: one backend starts a helper from nothing, another from the chat's completed turns, and a separate-process backend starts a fresh process for every run. The table above compares them.

Where does a subagent actually run?

It depends on the backend. In-app helpers run inside Oda and share what Oda has running; a separate-process backend runs the helper as its own program, one fresh process per run.

Can I choose the backend for a piece of work?

Not directly for a single step. Oda picks the delegation tool when it hands work to a helper, and which tools a chat can use comes from how it is set up, not from that step. Choosing and enabling a delegation backend covers the setup.

Can more than one backend be available at once?

Yes. Several backends can be set up together, each with its own delegation tool, and a chat can hold several of those tools at once. One tool targets one backend.

Does a delegated run stop on its own after a while?

Not by a clock. It ends when it finishes, when it is stopped, or when it fails, and reaching its token limit also ends it.

Can a backend ask me something while it runs?

No. Delegated runs are unattended: an in-app helper has approval pinned off, and a backend that runs an agent program of its own answers such requests from its own permission settings. Nothing reaches you; a step that would need your answer is refused instead of waiting for one.

Do all backends report failures the same way?

The shape is the same: a headline, a Diagnostic: line, and any partial text the helper produced. The detail differs per backend; Subagent failures and diagnostics lists each backend's stages and categories.