Choosing and enabling a delegation backend

DataMind Oda can hand part of a task to a helper agent, called a subagent. Where a subagent runs and what a delegation can ask for depend on the delegation backend behind it. This page compares the backends and covers what it takes to enable one. How delegation itself works is in Delegating work to subagents.

What a delegation backend decides

Two things vary between the backends:

Every backend reaches the model through a delegation tool. One tool targets one backend, and each tool carries its own name.

The backends at a glance

BackendWhere the subagent runsIt starts fromA model of its ownExtra child options
Fresh in-processInside the appNothing; a new subagentYesYes
Seeded in-processInside the appThe chat's completed turnsKeeps the chat's modelYes
SDKIts own processA fresh, separate sessionYesNo
ACPIts own processA fresh external agentNoNo
Claude CodeIts own processA fresh unattended sessionNoNo
CodexIts own processA fresh unattended sessionNoNo

Choose a backend

Several backends can be available at once, and each delegation tool targets one of them.

Enable a backend

  1. Install the backend's bundle. The Plugins page installs plugin bundles, and extra bundles can also be added from a command line; Plugins and bundles has the steps.
  2. Add a delegation tool for the backend, with its own tool name. The default name is subagent; backends use names such as subagent_claude_code or subagent_codex.
  3. Set up the backend itself, for example its working directory and permission mode. Each backend's page describes its settings: Delegation backend: ACP, Delegation backend: Claude Code, Delegation backend: Codex.
Note

Installing a bundle only makes the backend available to Oda. It does not give the model access to it: the model reaches a backend only through a delegation tool added for it.

Configuration checks

Setting up a backend runs its checks before anything can start:

Adding and removing backends

Permissions in delegated runs

Limits to keep in mind

Questions, answered

Which delegation backend should I choose?

Fresh in-process for a self-contained task; seeded in-process when the subagent needs the chat's completed turns; SDK when it should run as a separate process with its own model; ACP, Claude Code or Codex when an outside agent or a coding-agent product should do the work, one task per run. The table above compares them.

Where do I install a backend's bundle?

On the Plugins page, which installs and manages plugin bundles; extra bundles can also be added from a command line. See Plugins and bundles.

Why can the model not delegate to my new backend?

Installing a bundle makes the backend available to Oda, but the model reaches a backend only through a delegation tool added for it. Add the tool, with its own unique name, and the model can delegate to it.

Which backends let a delegation choose the subagent's model?

The in-process backends and the SDK backend support it; ACP, Claude Code and Codex refuse the request before the run starts. The seeded in-process tools keep the chat's model. See Choosing the model for a subagent.

What happens when a delegation asks for something the backend does not support?

It is refused before anything starts, so no partial run is left behind. A delegation tool configured for an option its backend does not offer is refused as well.

Can two backends share a name?

No. A second backend cannot reuse a name, and the add is refused: a subagent provider named "<name>" is already registered. Delegation tools also need distinct names.

What happens to a running subagent when its backend is removed?

The run keeps going: removing a backend blocks new delegations to it, but never stops a run that was already accepted. The backend's delegation tool goes away with it.

What working directory does a delegated subagent get?

The one configured for the backend; otherwise the subagent inherits the chat's directory. An empty value is refused (config cwd must not be empty), and with no directory at all the subagent does not start (no working directory for the child).

Do the backends handle permissions differently?

Yes. ACP takes a policy of allow or reject and rejects by default; Claude Code and Codex take their own permission modes. In every backend the run is unattended, so it cannot ask you for approval, and the decisions are recorded inside the run. See Subagent permissions and sandboxing.

Is a stopped run's work undone?

No. Stopping a run does not undo changes the subagent already made on your computer; check what the run reports it did.